Простое управление рабочим процессом с Java EE

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

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

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

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

Я рассмотрел шаблон команда, поскольку он допускает тип отмены. Мне интересно, был ли у кого-нибудь подобный сценарий и есть ли какие-нибудь советы?

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

Спасибо

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
1 304
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Другие вопросы по теме