異なるコンピューター上の異なるソフトウェア間でメッセージを効果的に交換することは、統合の絶対要件です。 存在する通信スタイルの多様性を考えると、BizTalk Server はさまざまなプロトコルとメッセージ形式をサポートする必要があります。 次に説明するように、エンジンの大部分は、この通信作業に専念しています。 ただし、注意すべき重要な事実の 1 つは、エンジンが内部的に 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 プロトコル (POP3) のバージョン 3 を使用した電子メール メッセージとその添付ファイルの受信をサポートします。
SMTP アダプター: SMTP を使用したメッセージの送信をサポートします。 標準的な電子メール アドレスは、当事者を識別するために使用されます。
SOAP アダプター: BizTalk Server が Web サービスに接続できるようにするための 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) 形式でメッセージと添付ファイルを処理できます。 コンポーネントは、両方の種類のメッセージを XML に変換し、S/MIME メッセージの暗号化を解除し、デジタル署名を検証することもできます。
逆アセンブル: 3 つの標準コンポーネントが用意されています。 フラット ファイル逆アセンブラー コンポーネントは、フラット ファイルを XML ドキュメントに変換します。 これらのファイルは、各レコードの長さと構造が同じ位置に配置することも、ファイル内のレコードを区切るために使用される指定文字を使用して区切ることもできます。 2 番目の標準コンポーネントである XML 逆アセンブラーは、XML を使用して既に記述されている受信メッセージを解析します。 現在あまり使用されていない 3 番目の標準コンポーネントは、BizTalk Framework 逆アセンブラーです。 これは、BizTalk Server 2000 で実装された BizTalk Framework によって定義された信頼できるメッセージング メカニズムを使用して送信されたメッセージを受け入れます。
検証: BizTalk Server には、このステージ用の XML 検証コンポーネントが用意されています。 名前が示すように、このコンポーネントは、逆アセンブル ステージによって生成された XML ドキュメントを、指定されたスキーマまたはスキーマ のグループに対して検証し、ドキュメントがこれらのスキーマのいずれかに準拠していない場合はエラーを返します。
パーティの解決: このステージの唯一の標準コンポーネントである Party Resolution は、このメッセージの送信者の ID の特定を試みます。 メッセージがデジタル署名されている場合、署名は BizTalk Server の管理データベースで Windows ID を検索するために使用されます。 (後で説明するように、このデータベースは BizTalk Server の管理ツールでも使用されます)。メッセージに Windows ユーザーの認証済みセキュリティ識別子 (SID) が含まれている場合、この ID が使用されます。 どちらのメカニズムも成功しない場合、メッセージの送信者には既定の匿名 ID が割り当てられます。
送信メッセージは、使用中の送信パイプラインによって定義されている複数のステージを通過することもできます。 上の図は、送信パイプラインのステージと標準コンポーネントを示しています。 これらは次のとおりです。
事前組み立て: 標準コンポーネントは提供されていません。 代わりに、必要に応じてカスタム コンポーネントをここに挿入できます。
アセンブル: 受信パイプラインで逆アセンブル ステージを並列化すると、このステージには 3 つの標準コンポーネントもあります。 フラット ファイル アセンブラーは、XML メッセージを位置指定または区切りフラット ファイルに変換し、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 企業から受信した 10,000 ドルを超える種類の "Invoice" のすべてのメッセージに一致するサブスクリプションを作成できます。 ただし、サブスクリプションは、サブスクリプションが定義する条件に一致するメッセージのみをサブスクライバーに返します。 受信したメッセージは、オーケストレーションをインスタンス化してビジネス プロセスを開始したり、既に実行中のビジネス プロセスで別のステップをアクティブ化したりする場合があります。 同様に、オーケストレーションがメッセージを送信すると、そのメッセージは、パイプラインが確立したサブスクリプションに基づいて送信パイプラインと照合されます。
- BizTalk Server では、特定のエラー状態をサブスクライブすることもできます。 エラー メッセージは、特定の方法で処理することも、Windows SharePoint Services フォルダーなどの特定の宛先にルーティングすることもできます。
こちらもご覧ください
BizTalk Server メッセージング エンジン
パブリッシュ・サブスクライブアーキテクチャ
アダプター
パイプライン