BTS 2009以降、プロジェクトとアセンブリに、それらが属するアプリケーションと、オプションのサブアプリケーションまたは懸念範囲に応じて名前を付けました。
MyCompany.Biz.MyFirstApp.dll
MyCompany.Biz.MyFirstApp.Util.dll
MyCompany.Biz.MyFirstApp.ConcernOne.dll
MyCompany.Biz.MySecondApp.dll
マルチアセンブリの依存関係によりデプロイメントが非常に面倒になる可能性があるため、オーケストレーション、スキーマ、およびマップを一緒に維持するための道を歩みました。
私たちの主な目標は、ソースシステムとターゲットシステムを分離して、直接の参照を回避することでした。これは、私たちが扱っているすべての懸念事項に「コア」コンポーネントを導入することで達成されました。
BTSアプリケーションMyFirstApp
MyCompany.Biz.MyFirstApp.OrderProcessing.dll
MyCompany.Biz.MyFirstApp.Util.dll
BTSアプリケーションCORE
MyCompany.Biz.CORE.OrderProcessing.dll
BTSアプリケーションMySecondApp
MyCompany.Biz.MySecondApp.OrderProcessing.dll
との両方MyFirstApp
で、MySecondApp
のスキーマを参照しCORE.OrderProcessing
ます。
アップデート
MyCompany.Biz.MyFirstApp.OrderProcessingには、受信注文ドキュメントのメッセージスキーマと、それらをコア注文メッセージスキーマ( MyCompany.Biz.CORE.OrderProcessingに含まれている)にマッピングするためのマップが含まれます。必要に応じて、メッセージを受信するためのオーケストレーションと(受信する)パイプラインコンポーネントを含めることもできます(たとえば、フラットファイルを処理する場合)。
MyCompany.Biz.MySecondApp.OrderProcessingには、送信ドキュメントのメッセージスキーマと、コア注文メッセージスキーマから(送信へ)マッピングするためのマップが含まれます。
この基本的なレイアウトでは、COREは内部メッセージスキーマのコンテナにすぎませんが、注文ドキュメントに情報を追加するのに最適な場所です。たとえば、クラスAの顧客にグローバル割引を提供するオーケストレーション(ビジネスルール!)です。要するに、基本的に、メッセージを送受信するときに2回またはそれ以上実行するステップであり、着信または発信メッセージスキーマが変更されたり、新しいアプリケーションが追加されたりした場合に触れたくないものです。