У меня есть приложение, которое позволяет различным пользователям обновлять некоторые данные, которые затем публикуются на веб-сайте. Приложение использует JPA как постоянный слой. Теперь я хочу добавить немного управления рабочим процессом в этот сценарий, чтобы, когда пользователи с младшими ролями обновляли данные, они не публиковались напрямую, а ожидали, что старший пользователь придет и одобрит обновление. Пока обновление не утверждено, исходные данные должны оставаться видимыми.
В идеале старший пользователь должен иметь возможность отклонить обновление, а младший пользователь увидит, что оно было отклонено, и соответствующим образом отредактировать обновление.
Вопрос в том, что является хорошим примером для создания такого сценария?
Часть, с которой у меня возникают проблемы, - это как представить измененные данные, не дублируя каждую имеющуюся у меня сущность. А как насчет множественных изменений в данных до утверждения?
Я рассмотрел шаблон command , поскольку он допускает тип отмены. Мне интересно, имел ли кто-нибудь опыт с подобным сценарием и есть ли какие-либо советы, чтобы предложить?
Я должен отметить, что мне известны некоторые инструменты, такие как JBPM , который является механизмом рабочего процесса, но я надеялся избежать сложностей интеграции таких инструментов в существующую архитектуру. Буду признателен, если кто-то укажет, что использование такого инструмента в конечном итоге приведет к большей производительности.
Спасибо