http://martinfowler.com/bliki/EventInterception.html

バックエンドにあるアプリケーションの多くは、 外の世界での重要な出来事を伝えられて動いている、と考えることもできる。 イベントドリブンエンタープライズアプリケーションというアイデアは、非常に古くからある考え方だ。 私はMcMenaminとPalmerの著書でこの考え方に出会った。 80年代のことだ。

…(★)

このようなシステムに対しては、StrangerApplicationを作成して、イベントのストリームに 割り込ませることができる。メッセージ伝達ベースのイベント通知システムがあるのが理想的だが、 そんなに簡単にいくことはそうはないだろう。データベースのテーブル群を更新して イベントを伝えるシステムも多い。この場合は、データベースの1行ごとにイベントが割り当てられ ているのが理想だが、そうじゃない場合は、更新を監視して、自身のイベントストリームと同期化 しなければならない。データベースがServiceLayer などでカプセル化されているなら、 そのレイヤーに割り込ませることもできる。されていないなら、データベーストリガーを使うのも 良い手だ。最悪の最悪の場合、テーブルのコピーをとっておいて、現時点のテーブルとの差異を とることで、更新を見つけることもできる。

…(★)

イベントのストリームに割り込むことができたら、ストラングラーに必要な機能を作りこんでいく ことができる。移行しやすい機能から始めて、だんだんと古い機能を新しいシステムにうつしていく ことができる。新しい機能を早めに提供することで、顧客のすべての要件をもらさずに拾うことが 容易になる。またAssetCapture も同時に始められる。