次の方法で共有


BizTalk アプリケーションを展開するためのベスト プラクティス

このトピックでは、BizTalk アプリケーションを展開するためのベスト プラクティスについて説明します。

可能な限り、関連する成果物を同じ BizTalk アプリケーションに配置します。 これにより、成果物を 1 つのエンティティとして管理およびデプロイできるため、管理が容易になります。 同じビジネス プロセスをサポートする成果物、または同様の機能を実行する成果物を 1 つのアプリケーションにグループ化できます。

別のアプリケーションに共有成果物をデプロイする

成果物が 2 つ以上のアプリケーションによって共有される場合は、共有成果物を別のアプリケーションにデプロイします。 たとえば、2 つのアプリケーションがスキーマを共有している場合は、スキーマを別のアプリケーションに配置します。 これは、成果物名と必要に応じて他の属性で構成される同じローカル一意識別子 (LUID) を持つ成果物が 1 つだけ BizTalk グループに存在できるためです。 あるアプリケーションに成果物を含め、別のアプリケーションからその成果物への参照を作成すると、成果物を含むアプリケーションを停止したときに、参照元アプリケーションが正しく機能しないなどの問題が発生する可能性があります。

このベスト プラクティスは、ファイルの種類としてアプリケーションに追加される Readme ファイルやスクリプトなど、ファイルを除くすべての成果物の種類に適用されます。 これは、同じ名前を持つ複数のファイル成果物を BizTalk グループに展開できるためです。 そのため、2 つ以上のアプリケーションで同じ名前のファイルを使用できます。 1 つのアプリケーションを停止すると、もう一方のアプリケーションには影響しません。 ファイル成果物の追加の詳細については、「 アプリケーションにファイルを追加する方法」を参照してください。

特定の成果物の種類の共有に関するベスト プラクティスについては、このセクションの「別のアプリケーションに共有 Web サイトを展開する」、「別のアプリケーションに共有ポリシーを展開する」、「別のアプリケーションに共有証明書を展開する」を参照してください。

別のアプリケーションに共有 Web サイトを展開する

Web サイトが複数のビジネス ソリューションによって共有される場合は、別のアプリケーションに Web サイトを展開します。 これは、BizTalk アプリケーションをアンインストールすると、Web サイトが実行されている場合でも、アプリケーションの一部である Web サイトの仮想ディレクトリが削除されるためです。 Web サイトが別のビジネス ソリューションと共有されている場合、その結果、他のビジネス ソリューションは正しく機能しなくなります。

別のアプリケーションに共有ポリシーを展開する

1 つのポリシーが 2 つ以上のアプリケーションで使用されている場合は、あるアプリケーションから別のアプリケーションへの参照を作成するのではなく、別のアプリケーションに展開する必要があります。 これは、アプリケーションを停止すると、そのポリシーがデプロイ解除されるためです。 別のアプリケーションで使用されているポリシーを含むアプリケーションを停止した場合、ポリシーはどちらのアプリケーションでも機能しなくなります。

別のアプリケーションに共有証明書をデプロイする

証明書が 2 つ以上のアプリケーションで送信ポートまたは受信場所によって使用される場合は、証明書を別のアプリケーションに展開し、証明書を使用する必要があるアプリケーションからこのアプリケーションを参照する必要があります。 これは、BizTalk グループに特定の LUID を持つ成果物が 1 つだけ存在できるため、2 つの異なるアプリケーションで同じ証明書をインポートできないためです。 それぞれが同じ証明書を使用する 2 つのアプリケーションをインポートしようとすると、最初のインポートは成功し、2 つ目は成功しません。 この場合、[インポートの上書き] オプションを使用しても、上書きする既存の証明書が別のアプリケーションに含まれているため、問題は解決しません。

Visual Studio から運用環境のコンピューターにアセンブリを配置しない

開発プロセス中、開発者は多くの場合、Visual Studio からアセンブリを再デプロイする必要があります。 再デプロイを有効にするために、Visual Studio はアセンブリに含まれる成果物の展開、バインド解除、停止、およびリスト解除を行うことができます。 これは開発環境で必要かつ適切ですが、運用環境では予期しない、望ましくない結果を引き起こす可能性があります。 このため、Visual Studio から運用環境のコンピューターにアセンブリを展開しようとする可能性を回避するために、Visual Studio を運用コンピューターにインストールしないことをお勧めします。

また、Visual Studio を実行しているコンピューターから実稼働データベースを参照しないでください。

大きな MSI ファイルを展開する場合、BizTalk でアプリケーションを展開するために使用される COM+ コンポーネントの既定のトランザクション タイムアウトを増やす必要がある場合があります

展開される MSI ファイルが非常に大きい (100 MB を超える) 場合、アプリケーションの展開中に BizTalk によって使用される COM+ コンポーネントの既定のトランザクション タイムアウト内にアプリケーションが展開されない可能性があります。 デプロイが完了する前に、これらの COM+ コンポーネントに関連付けられているトランザクションがタイムアウトした場合、デプロイは失敗します。 非常に大きな MSI ファイルを展開する場合は、次のいずれかの方法を使用してこの問題を軽減することを検討してください。

  1. 1 つの大きな MSI ファイルではなく、複数の小さな MSI ファイルをデプロイします。

  2. コンポーネント サービス管理インターフェイスの Microsoft.BizTalk.ApplicationDeployment.Group および Microsoft.BizTalk.Deployment.DeployerComponent コンポーネントに関連付けられている既定のトランザクション タイムアウトを 3,000 秒増やします。 これらのコンポーネントは、 それぞれ Microsoft.BizTalk.ApplicationDeployment.Engine および Microsoft.Biztalk.Deployment COM+ アプリケーションに属しています。 トランザクションタイムアウト値を変更する方法の詳細については、「 トランザクションタイムアウトの設定」を参照してください。

こちらもご覧ください

BizTalk アプリケーションの展開と管理