明確なドメイン モデルを持つ比較的新しい Web ベースのアプリケーションを、より CQRS スタイルのシステムに変換しようとしています。私の新しいアプリケーションは、基本的に古い既存のシステムを強化したものです。
私の組織の既存のシステムは、会社全体のサイロに存在する膨大な数のアプリケーション (カオス メソッドによって開発された) によって更新される一連の共通データベースを共有しています。(現状では、社内の 1 人ですべてを特定できる人はいないと思います。)
したがって、私の質問は、私のアプリケーションの読み取りモデルに関するものです。さまざまなステータスの変更、一般的なユーザー データなどは、私の制御外の他のアプリケーションによって更新されるため、外部の更新を処理できるように読み取りモデルを構築するのに最適な方法は何ですか?
これまでに次のことを検討しました。
- レガシーおよび新規のすべてのテーブルを読み取る読み取りモデルのデータベースにビューを作成します
- 既存のテーブルにトリガーを追加して、新しい読み取りモデル テーブルを更新する
- データベース (CLR Stored proc/etc [SQL サーバー]) にコードを追加して、読み取りモデルの外部データストアを更新します。
- 希望を捨てる
これにどのようにアプローチするかについての一般的なコンセンサスは何ですか? すべてをゼロから完全に書き直さずにレガシーシステムに秩序をもたらすことができると考えるのはばかげていますか?