2008-11-17 2 views
1

У меня есть приложение, которое позволяет различным пользователям обновлять некоторые данные, которые затем публикуются на веб-сайте. Приложение использует JPA в качестве уровня сохранения. Теперь я хочу добавить немного управления рабочими процессами в этот сценарий, чтобы, когда пользователи с младшими ролями обновляют данные, они не публикуются напрямую, а скорее ждут старшего пользователя и утверждают обновление. Хотя обновление не одобрено, исходные данные должны оставаться видимыми.Простое управление рабочим процессом с Java EE

В идеале, старший пользователь должен иметь возможность отклонить обновление, а младший пользователь увидит, что он был отклонен и соответствующим образом отредактировал обновление.

Вопрос в том, что представляет собой хороший образец для создания такого сценария?

Часть, с которой у меня возникают проблемы, сводя мой мозг вокруг, заключается в том, как представить измененные данные без дублирования каждого объекта, который у меня есть. А как насчет нескольких изменений данных перед утверждением?

Я рассматриваю шаблон command, так как позволяет его тип отмены. Мне интересно, есть ли у кого-нибудь опыт с похожим сценарием и есть ли какие-либо рекомендации?

Следует отметить, что я знаю некоторые инструменты, такие как JBPM, который является механизмом документооборота, но я надеялся избежать осложнений интеграции таких инструментов в существующую архитектуру. Я был бы признателен, если кто-то отметит, что использование такого инструмента даст в итоге большую производительность.

Благодаря

ответ

1

Да, я абсолютно думаю, что вы делаете в этом случае начинает различные бизнес процессов. Использование таких инструментов, как JBPM или drools-flow (что вы должны посмотреть), не только точно отражает вашу проблему, но и позволяет визуально использовать поток вашего приложения через проектировщиков, которых они предоставляют. Вы можете использовать то, что заставляет ваше приложение работать как документация напрямую.