アセットキャプチャー
2004年6月29日
アセットキャプチャーは、StranglerFigApplicationを開発するための戦略です。多くのアプリケーションは、一連の主要資産を管理するものとして考えることができます。給与計算システムは従業員を、取引システムは取引を、リースシステムはリースを管理しています。徐々に新しいシステムに移行するには、最初に新しいシステムから始める一連の資産を特定することから始めます。始めるのに最適な資産は、単純な資産(すぐに起動できるため)や、古いシステムでは処理するのが特に難しいニーズを持つ資産です。
これをスムーズに機能させるには、古いアプリケーションからストランガーにアセットを移行するメカニズムが必要になります。逆に移行することは不要に思えますが、リスクを軽減し、新しいアプリケーションが処理できなくなった方法でアセットが動的に変化するケースを処理するのに非常に効果的です。そのため、最初の給与計算システムでは病気休暇中の従業員を処理できない場合がありますが、双方向の移行により、病気になったときに従業員を移動できます。
アセットを管理するには、イベントインターセプトを使用して、キャプチャされたアセットに必要なすべてのイベントを取得する必要があります。すべてのイベントを傍受する必要はなく、キャプチャされたアセットのイベントだけを傍受すればよい。また、古いシステムがもはや管理していないアセットのイベントを受信しないようにする必要があり、コンテンツベースのルーターなどのものを使用する必要があります。ある
私が取り組んだほとんどのリライトは、何らかの形式のアセットキャプチャーを使用しています。私にとって唯一の不満は、より頻繁なリリースを可能にするために、より詳細なキャプチャを使用しなかったことです。双方向の移行がないことが頻繁に障害となっていました。それが実装されると、頻繁なリリースははるかに容易になります。