システムの接続
異なるコンピュータ上の異なるソフトウェアの間で効率的にメッセージを交換することは、統合に必要な絶対条件です。 存在するコミュニケーション スタイルの多様性を考えると、BizTalk Serverはさまざまなプロトコルとメッセージ形式をサポートする必要があります。 次に説明するように、この通信の実現にはエンジンのかなりの部分が充てられていますが、 エンジンが機能するには、内部で XML ドキュメントを使用する必要があるということも重要なポイントです。 メッセージはどのような形式で届いた場合も、受信後に XML ドキュメントに変換される必要があります。 同様に、受信者がドキュメントを XML 形式で受信できない場合、ドキュメントはエンジンによって受信先に必要な形式に変換されます。
メッセージの送受信: アダプター
BizTalk Serverは他のさまざまなソフトウェアと通信する必要があるため、これを可能にするためにアダプターに依存しています。 アダプタは、特定プロトコルなどの通信メカニズムを実装したものです。 開発者は、状況に応じて使用するアダプタを決定します。 たとえば、BizTalk Serverが提供する組み込みアダプターのいずれかを選択したり、Windows SharePoint Servicesなどの一般的な製品用に作成されたアダプターを使用したり、カスタム アダプターを作成したりする場合があります。 いずれの場合も、アダプタはアダプタ フレームワークという標準を基盤に構築されます。 このフレームワークでは、アダプタを作成および実行するための共通の方法が提供され、あらゆる種類のアダプタを同じツールで管理できるようになっています。
Microsoft BizTalk Serverには、次のネイティブ アダプターが含まれています。
ファイル アダプター: Windows ファイル システム内のファイルの読み取りと書き込みをサポートします。 ビジネス プロセスに関連するアプリケーションは、ローカルまたはネットワーク上で、頻繁に同じファイル システムにアクセスする可能性があり、ファイル経由のメッセージ交換は、便利な選択肢になると考えられます。
FTP アダプター: ファイル トランスポート プロトコル (FTP) サーバーとBizTalk Serverの間での情報の送受信をサポートします。
HTTP アダプター: HTTP を使用した情報の送受信をサポートします。 BizTalk Serverは、他のアプリケーションがデータを送信できるように 1 つ以上の URL を公開し、このアダプターを使用して他の URL にデータを送信できます。
MSMQ アダプター: Microsoft Message Queuing (MSMQ) を使用したメッセージの送受信をサポートします。
WebSphere MQ アダプター: IBM の WebSphere MQ (旧称 MQSeries) を使用したメッセージの送受信をサポートします。
POP3 アダプター: Post Office Protocol (POP3) のバージョン 3 を使用した電子メール メッセージとその添付ファイルの受信をサポートします。
SMTP アダプター: SMTP を使用したメッセージの送信をサポートします。 パーティの識別には標準の電子メール アドレスが使用されます。
SOAP アダプター: Web サービス要求の送受信をサポートし、BizTalk Server が Web サービスに接続できるようにします。
WCF アダプター: Windows Communication Foundation を使用した情報の送受信をサポートします。
Windows SharePoint Services (WSS) アダプター: Microsoft Windows SharePoint ドキュメント ライブラリに格納されているドキュメントへのアクセスと発行をサポートします。
次のような一般的に使用されているビジネス ソフトウェア用のアダプタも Microsoft から入手できます。
Microsoft BizTalk Adapter for JD Edwards OneWorld
Microsoft BizTalk Adapter for JD Edwards EnterpriseOne
Microsoft BizTalk Adapter for PeopleSoft Enterprise
Microsoft BizTalk Adapter for TIBCO Rendezvous
Microsoft BizTalk Adapter for TIBCO Enterprise Message Service
これらのアダプターの詳細については、「BizTalk Serverのアダプター」を参照してください。
データ受信に使用されるアダプタの種類に関係なく、受信されたメッセージにオーケストレーションがアクセスするには、通常その前に処理が必要です。 同様に、オーケストレーションで生成された送信メッセージをアダプタから送信するには、多くの場合、その前に処理が必要です。
メッセージの処理: パイプライン
ビジネス プロセスの基になるアプリケーションは、発注書や請求書など、さまざまな種類のドキュメントを交換することによって通信します。 BizTalk Server アプリケーションがビジネス プロセスを実行するには、これらのドキュメントを含むメッセージを正しく処理できる必要があります。 この処理には複数のステップが含まれる場合があるため、処理はメッセージ パイプラインによって実行されます。 受信メッセージは受信パイプラインで処理され、送信メッセージは送信パイプラインで処理されます。
たとえば、より多くのアプリケーションが XML ドキュメントを理解するように設計されているにもかかわらず、多くのアプリケーション (おそらく現在の大部分) では理解できません。 BizTalk Serverは XML ドキュメントでのみ内部的に動作するため、XML との間で他の形式を変換する方法を提供する必要があります。 また、メッセージの送信者の認証など、その他のサービスも必要になる場合があります。 これらのタスクおよびその他のタスクをモジュール単位のカスタマイズ可能な方法で処理できるよう、パイプラインは複数のステージから構築されています。各ステージには、1 つ以上の有効な .NET コンポーネントまたはコンポーネント オブジェクト モデル (COM) コンポーネントが含まれ、 それぞれのコンポーネントで特定部分のメッセージ処理が行われます。 BizTalk Serverでは、最も一般的なケースに対応するいくつかの標準コンポーネントが用意されています。 これらのコンポーネントで十分でない場合、開発者は受信パイプラインと送信パイプラインの両方に、カスタム コンポーネントを作成することもできます。
上の図は、受信パイプラインのステージと、各ステージに用意されている標準のコンポーネントを示しています。 各ステージとその関連コンポーネントは次のとおりです。
デコード: BizTalk Serverは、このステージの 1 つの標準コンポーネントである MIME/SMIME デコーダーを提供します。 MIME または Secure MIME (S/MIME) 形式のメッセージとその添付ファイルを処理できます。 このコンポーネントはこの 2 種類の形式のメッセージを XML に変換します。また、S/MIME メッセージの暗号化を解読し、メッセージのデジタル署名を確認することもできます。
逆アセンブル: 3 つの標準コンポーネントが用意されています。 1 つ目は "フラット ファイル逆アセンブラ" コンポーネントで、フラット ファイルを XML ドキュメントに変換します。 フラット ファイルは位置が指定されている (各レコードの長さと構造が同じ) か、ファイル内で指定された文字によりレコードが区切られています。 2 つ目は "XML 逆アセンブラ" コンポーネントで、既に XML で記述されている受信メッセージを解析します。 3 つ目は "BizTalk Framework 逆アセンブラ" コンポーネントで、現在ではあまり使用されていません。 このコンポーネントは、BizTalk Framework で定義された信頼性の高いメッセージング メカニズムを使用して送信されたメッセージを受信します。BizTalk Framework は BizTalk Server 2000 で実装されていました。
検証: BizTalk Serverは、このステージの XML 検証コンポーネントを提供します。 名前のとおりこのコンポーネントは、逆アセンブル ステージで作成された XML ドキュメントを特定のスキーマまたはスキーマ グループと照合して検証し、ドキュメントがこれらのスキーマの 1 つに準拠していない場合はエラーを返します。
パーティの解決: このステージの唯一の標準コンポーネントであるパーティ解決は、このメッセージの送信者の ID の決定を試みます。 メッセージがデジタル署名された場合、署名は、BizTalk Serverの管理データベースで Windows ID を検索するために使用されます。 (後述するように、このデータベースはBizTalk Serverの管理ツールでも使用されます)。メッセージに Windows ユーザーの認証済みセキュリティ識別子 (SID) が含まれている場合は、この ID が使用されます。 どちらの方法でも成功しない場合は、メッセージ送信者に既定の匿名 ID が割り当てられます。
送信メッセージは、使用中の送信パイプラインで定義されている複数のステージを通過することもできます。 上の図は、送信パイプラインのステージと標準のコンポーネントを示しています。 これらは次のとおりです。
事前組み立て: 標準コンポーネントは提供されません。 代わりに、このステージには必要に応じてカスタム コンポーネントを挿入できます。
アセンブル: 受信パイプラインで逆アセンブリ ステージを並列化すると、このステージには 3 つの標準コンポーネントもあります。 1 つ目は "フラット ファイル アセンブラ" コンポーネントで、XML メッセージを位置指定のフラット ファイルか区切られたフラット ファイルに変換します。2 つ目は "XML アセンブラ" コンポーネントで、送信 XML メッセージへのエンベロープの追加やその他の変更をサポートします。 3 つ目は "BizTalk Framework アセンブラ" コンポーネントで、BizTalk Framework メッセージング テクノロジを使用して、信頼できる送信を行うためにメッセージをパッケージ化します。
エンコード: BizTalk Serverは、このステージの標準コンポーネントである MIME/SMIME エンコーダーを 1 つだけ定義します。 送信メッセージを MIME または S/MIME 形式でパッケージ化します。 S/MIME を使用する場合は、メッセージにデジタル署名を追加したりメッセージを暗号化できます。
BizTalk Serverでは、XML で既に表現されているメッセージを処理するために使用できる単純な受信と送信のペアなど、いくつかの既定のパイプラインを定義します。 開発者は、パイプライン デザイナを使用して、カスタム パイプラインを作成することもできます。 Visual Studio 内で実行されるこのツールは、開発者がコンポーネントをドラッグ アンド ドロップして、必要な動作でパイプラインを作成できるようにするグラフィカル インターフェイスを提供します。
メッセージの選択: サブスクリプション
アダプタと受信パイプラインでメッセージを受け渡した後のステップは、メッセージの送信先を決定することです。 ほとんどの場合、メッセージはオーケストレーションの対象になりますが、メッセージを送信パイプラインに直接移動して、BizTalk Serverを純粋なメッセージング システムとして使用することもできます。 どちらの場合も、メッセージと送信先の照合には、サブスクリプションが使用されます。
受信パイプラインでメッセージが処理されると、メッセージのさまざまなプロパティを含むメッセージ コンテキストが作成されます。 オーケストレーションまたは送信パイプラインでは、これらのプロパティの値を基にメッセージをサブスクライブできます。 たとえば、オーケストレーションでは、種類 "Invoice" のすべてのメッセージ、QwickBank 企業から受信した型 "Invoice" のすべてのメッセージ、または QwickBank 企業から受信した種類 "Invoice" のすべてのメッセージが 10,000 ドルを超えるサブスクリプションを作成する場合があります。 ただし、サブスクリプションは、サブスクリプションが定義する条件に一致するメッセージのみをサブスクライバーに返します。 受信したメッセージによって、一部のオーケストレーションがインスタンス化されビジネス プロセスが開始される場合や、既に実行されているビジネス プロセスの別のステップがアクティブになる場合があります。 同様に、オーケストレーションからメッセージが送信されると、送信パイプラインのサブスクリプションを基に、送信されたメッセージと送信パイプラインが照合されます。
- BizTalk Serverでは、特定のエラー条件をサブスクライブすることもできます。 たとえば、エラー メッセージを特定の方法で処理したり、Windows SharePoint Services フォルダなどの特定の送信先にルーティングすることができます。
参照
BizTalk Server メッセージング エンジン
パブリッシュ/サブスクライブ アーキテクチャ
アダプター
パイプライン