サービス指向ソリューションのコンポーネント
このセクションでは、サービス指向ソリューションの主な BizTalk Server コンポーネントについて説明します。 次の図は、ソリューションの主なコンポーネントを示しています。
サービス指向ソリューションには、3 つのバージョンのオーケストレーションがあります。
3 つのバックエンド アプリケーションのすべてがスタブとして作成されるバージョン
3 つのバックエンド アプリケーションのすべてがインラインで呼び出されるバージョン
アプリケーションに接続するためにアダプタを使用するバージョン
オーケストレーションのすべてのバージョンは、SDK\Senarios\SO\BTSSoln\Orchestrations ディレクトリにあります。
インライン バージョンのオーケストレーションでは、ソリューション内で要求と応答の間の待機時間が最短になります。
ソース ファイルの詳細については、「 サービス指向ソリューションのファイル インベントリ」を参照してください。
サービス指向ソリューションのオーケストレーション
CustomerServiceReceiveSend、CustomerServiceNativeRequestResponse、CustomerService の 3 つのオーケストレーションが、ソリューションの大部分を構成します。 CustomerServiceReceiveSend オーケストレーションと CustomerServiceNativeRequestResponse オーケストレーションは、CustomerService オーケストレーションを呼び出すフロントエンドとして機能します。 CustomerService オーケストレーションは、要求をバックエンド アプリケーションに送信し、応答を収集し、応答を 1 つのメッセージに結合し、適切なフロントエンド オーケストレーションにメッセージを送信する作業のほとんどを行います。 フロントエンド オーケストレーションは CustomerService オーケストレーションを呼び出すので、フロントエンド オーケストレーションは CustomerService オーケストレーションが完了するまで待機します。
このソリューションでは、 CustomerServiceNativeRequestResponse オーケストレーションが Web サービスとして公開されます。 CustomerServiceReceiveSend オーケストレーションは、MQSeries キューからメッセージを受け取ります。
バックエンド アプリケーション
サービス指向ソリューションは、3 つのバックエンド アプリケーションと通信します。
PaymentTracker アプリケーションは、最近の支払いのシミュレートされた一覧を返します。 PaymentTracker は MQSeries キューから要求を読み取り、別の MQSeries キューに応答を送信します。
PendingTransaction アプリケーションは、顧客アカウントに対して保留中のトランザクションの合計を報告します。 このアプリケーションは、Microsoft Host Integration Server (HIS) を使用してメインフレーム コンピュータ上の CICS/COBOL プログラムと通信するWeb サービスです。
SAP アプリケーションは、顧客の全体的な信用限度額に関する情報を提供します。 ソリューションは Web サービスとして SAP アプリケーションに接続します。 アプリケーションは、BizTalk アダプター パックの SAP アダプターを使用して SAP システムと通信します。
Pipelines
サービス指向ソリューションでは、 CustomerServiceReceiveSend オーケストレーションの受信パイプラインと、CustomerService オーケストレーションのPaymentTracker への送信パイプラインの 2 つの場所を除き、既定のパイプラインが使用されます。 これらのパイプラインは両方ともカスタム コンポーネントを使用します。
CustomerServiceReceiveSend の受信パイプラインには、カスタム パーティ解決コンポーネントである SSO チケット発行者パイプライン コンポーネントが含まれています。 CustomerServiceReceiveSend オーケストレーションが受信するメッセージには資格情報がありません。 このオーケストレーションは、メッセージが音声自動応答装置 (IVR) から送信された場合に行われる処理をシミュレートします。 カスタム パイプライン コンポーネントが、BizTalk 受信ホストのサービス アカウントを使用して資格情報を追加します。
これに対し、 CustomerSericeNativeRequestResponse オーケストレーションが受信するメッセージには、既に資格情報があります。 Web サービスの仮想フォルダが統合セキュリティ用に構成され、SOAP の受信場所がエンタープライズ シングル サインオン (SSO) を統合するように構成されているので、SOAP アダプタによってメッセージのチケットが生成されます。
もう 1 つのカスタム パイプラインは 、CustomerService 送信パイプラインに PaymentTracker アプリケーションに表示されます。 MQSeries ヘッダー設定パイプライン コンポーネントによって、2 つの MQSeries メッセージ ヘッダー プロパティの値が設定されます。 コンポーネントは、最初のメッセージ・データ形式 (MQMD_Format) を設定して、メッセージが MQCIH 構造 (CICS プログラムとの通信に一般的に使用される構造) の形式であることを示します。 2 つ目は、 MQCIH 構造体内のデータ自体の形式 (MQCIH_Format)、メッセージが文字列であることを示すように設定されます。
MQCIH 形式を使用すると、MQCIH 構造でユーザー ID とパスワードを渡すことができます。 SSO 関連アプリケーションは、BizTalk アプリケーションの Windows ユーザー ID を 、MQCIH 構造で渡された Payment Tracking System のユーザー ID にマップします。
Note
ソリューションのインライン バージョンは、オーケストレーションから同じパイプラインを呼び出して使用するので、 パイプライン コードを再使用することができます。
クライアント アプリケーション
ソリューションには、C# で記述されたクライアント アプリケーションが含まれています。 このクライアント アプリケーションを使用して、要求を SOAP または MQSeries メッセージとして送信し、結果を検証できます。
その他のアセンブリ
アプリケーションには、上の概要図に示されていない補助アセンブリがいくつか含まれています。 ソリューションの Utilities アセンブリ ユーティリティ関数。
ErrorHelper アセンブリには、エラー コードをメッセージに変換し、エラー メッセージをエラー コードに変換するクラスが含まれています。
ServiceLevelTracking アセンブリには、ビジネス アクティビティ監視 (BAM) API を使用してサービス レベル アグリーメント データを追跡するヘルパー メソッドが含まれています。
ConfigHelper アセンブリには、SSOConfigStore アプリケーションからソリューションの構成値を取得するためのヘルパー メソッドが含まれています。