さまざまなユーザーが一部のデータを更新して Web サイトに公開できるようにするアプリケーションがあります。アプリケーションは JPA を永続化レイヤーとして使用します。ここで、このシナリオにワークフロー管理を少し追加して、下位の役割を持つユーザーがデータを更新したときに、データが直接公開されるのではなく、上級ユーザーが来て更新を承認するのを待つようにしたいと考えています。更新が承認されていない間、元のデータは表示されたままになります。
理想的には、シニア ユーザーが更新を拒否できるようにする必要があります。ジュニア ユーザーは、更新が拒否されたことを確認し、それに応じて更新を編集します。
問題は、そのようなシナリオを作成するための適切なパターンは何ですか?
私が頭を悩ませているのは、私が持っているすべてのエンティティを複製することなく、変更されたデータを表現する方法です。また、承認前のデータへの複数の変更についてはどうでしょうか?
ある種のアンドゥができるので、コマンドパターンを考えました。誰かが同様のシナリオの経験があり、何かアドバイスがあるかどうか疑問に思っていますか?
ワークフロー エンジンであるJBPMのようないくつかのツールを認識していることを指摘しておく必要がありますが、そのようなツールを既存のアーキテクチャに統合する際の複雑さを回避したいと考えていました。そのようなツールを使用すると、最終的に生産性が向上することを指摘していただければ幸いです。
ありがとう