BizTalk ソリューションを展開するときは、2 つの操作を実行する必要があります。
BizTalk ソリューションの展開が 2 段階の操作である理由
- BizTalk ソリューションを BizTalk 管理データベースに登録する
- BizTalk アーティファクトと依存関係をファイル システムにインストールする
まず、ソリューションを構成する BizTalk アセンブリを BizTalk 管理データベースに登録する必要があります。これにより、BizTalk は、利用可能なスキーマ、マップ、パイプライン、およびオーケストレーションを認識できます。
これは、Windows インストーラー パッケージを BizTalk にインポートすることによって行われます。
一般的な BizTalk プラットフォームは通常、多くの物理サーバーで構成されていることに注意してください。ただし、 BizTalk グループ内のすべてのサーバーは、1 つの BizTalk 管理データベースを共有します。
したがって、インポート操作は、BizTalk グループ全体に対して 1 回実行する必要があります。
次に、BizTalk に登録された BizTalk アセンブリは、物理的にどこかに存在する必要があります。したがって、ファイル システムにインストールする必要があります。
これを行うには、Windows インストーラー パッケージをダブルクリックします。
BizTalk グループの一部であるすべての物理サーバーで、インストール操作を繰り返す必要があることに注意してください。また、BizTalk 管理データベースには、ソリューションの一部であるアセンブリに関する定義が 1 つしかないため、BizTalk アセンブリをグローバル アセンブリ キャッシュ (GAC) にインストールする必要がある理由が説明されています。
ここまでのルールは単純であることに注意してください。
- BizTalk アセンブリは、BizTalk グループ内の各サーバーの GAC にインストールする必要があります。
- BizTalk アセンブリは、BizTalk 管理データベースに 1 回インポート (または登録) する必要があります。
ただし、BizTalk アセンブリのみを扱ってきました。BizTalk ソリューションが実行時に必要とする他のすべてのアセンブリまたはその他の依存関係 (ビジネス ルール定義、COM オブジェクト、バインディング、構成ファイルなど) は、この 2 段階の操作ではカバーされません。
環境間の展開
ただし、ソリューションの実行時には、必要に応じて、これらの依存関係が各 BizTalk サーバーにも存在する必要があります。
そのため、これらのアーティファクトのほとんどが BizTalk 管理データベースにも登録されています。ただし、今回は、BizTalk ソリューションの Windows インストーラー パッケージが作成されるときに依存関係が取り込まれ、それらの依存関係がターゲット サーバーに適切にインストールされるようにするためだけに行われます。
アンインストール時に BizTalk アセンブリが GAC から削除されないのはなぜですか?
一般的な経験則として、グローバル アセンブリ キャッシュに登録されているアセンブリは共有リソースと見なされます。したがって、安全上の理由から、BizTalk アセンブリはアンインストール時に GAC から削除されません。カスタム BizTalk パイプラインが複数のアプリケーションで使用されるとどうなるかを考えてみてください。その場合、BizTalk パイプラインは、別個の共通の BizTalk アプリケーションの一部である必要があります。この共有 BizTalk アプリケーションをアンインストールすると、このパイプラインに依存する他のすべてのアプリケーションが壊れてしまいます...
リソースを BizTalk 管理データベース に追加する場合、インポート時またはインストール時にアセンブリを GAC にインストールするかを選択できます。「 GacOnImport」機能を使用しないことを強くお勧めします。これは、ほとんどの典型的なマルチサーバー BizTalk グループでは意味がありません。
ただし、Windows インストーラー パッケージに関して、BizTalk アセンブリまたはその他の依存関係に対して実行できることをカスタマイズする、より簡単で柔軟な方法があります。これは、前処理スクリプトと後処理スクリプトで行われます。
これらのスクリプトを使用すると、インポート/インストール操作中の特定の 4 回に任意のアプリケーションを実行できます。
- インポートする前に
- インポート後
- 取り付ける前に
- 取り付け後
アンインストール時に GAC からアセンブリを削除する場合は、操作の「インストール前」フェーズで適切なコマンドラインをスケジュールするだけです。