BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > WebLogic Integration > B2B トピック > B2B Integration サンプルの使い方 > Hello Partner サンプル(非推奨) |
B2B Integration サンプルの使い方
|
Hello Partner サンプル(非推奨)
Hello Partner サンプルでは、デフォルト メッセージング プロトコルである XOCP を使用した通信が示されています。この章では、以下のトピックについて説明します。
注意: Hello Partner サンプルは、XOCP プロトコルに基づいていますが、このプロトコルは、このリリースの WebLogic Integration から非推奨になっています。XOCP に代わる機能については、『WebLogic Integration リリース ノート』を参照してください。
Hello Partner サンプルの概要
Hello Partner サンプルでは、WebLogic Integration を使用した 2 つのトレーディング パートナ間のビジネス通信を示します。
サンプルの内容
Hello Partner サンプルでは、2 つのトレーディング パートナが XOCP プロトコルを使用してビジネス メッセージを送信する方法が示されています。各トレーディング パートナについて以下が示されます。
このサンプルでは、トレーディング パートナのメッセージ トラフィックを処理するにはどの方法が望ましいかについても示されています。パブリック プロセスはトレーディング パートナのメッセージ トラフィックの管理に使用し、プライベート プロセスはメッセージの作成、メッセージの処理、および外部アプリケーションとのリンクに使用します。
Hello Partner サンプルのシナリオのロジック
Hello Partner サンプルのシナリオでは、図2-1 に示すように、要求側と応答側の 2 つのトレーディング パートナが設定されています。次の図に、別々の Hello Partner ワークフロー間での上位レベルの会話を示します。
図2-1 Hello Partner ワークフロー間の会話
注意: 上の図では、パブリック ワークフローがグレーで網掛けされています。 このシナリオの主要なイベントをまとめると次のようになります。
Hello Partner サンプルを実行する前に
Hello Partner サンプルを実行する前に、次の手順を実行します。
Hello Partner サンプルの実行
Hello Partner サンプルを実行するには、次の作業が必要です。
cd WLI_HOME
The WebLogic Integration repository has already been
created and populated, possibly from a previous run
of this RunSamples script. Do you want to destroy all the
current data in the repository and create and populate the
WebLogic Integration repository, again? Y for Yes, N for No
この質問に N と入力すると、リポジトリの作成および格納を行う手順が省略され、WebLogic Server のサンプル インスタンスを起動する手順のみが実行されます。
この質問に Y と入力すると、リポジトリの作成および格納が改めて行われ、その後で WebLogic Server のサンプル インスタンスを起動する手順が実行されます。Y と入力した場合、その時点でリポジトリに格納されている全データが破棄され、リポジトリにサンプル データが再ロードされます。現在のサンプル データが変更または削除され、新規または未変更のサンプル データをリポジトリに格納する場合にのみ、Y を入力してください。
これで、RunSamples スクリプトは WebLogic Server のインスタンスをバックグラウンド プロセスとして開始し、サンプル起動ページが表示されます。
図2-2 サンプル起動ページ
図2-3 Hello Partner サンプル起動ページ
図2-4 Hello Partner サンプル結果ページ
サンプルの仕組み
このサンプルでは、合計 4 つのワークフローを使用します。2 つのパブリック ワークフローは、XOCP メッセージのやりとりの要求側と応答側を管理しています。2 つのプライベート ワークフローのうち、1 つはサーブレットおよび要求側のパブリック ワークフローに接続するため、もう 1 つは応答側の応答データを作成するためのものです。
以下の節では、このプロセスの概要とそれぞれのワークフローについて詳しく説明します。
交換されるドキュメント
Hello Partner サンプルでは、以下の XML ドキュメントを使用します。
これらのドキュメントの文書型定義(DTD)は、Windows システムの場合、SAMPLES_HOME¥integration¥samples¥common¥dtds ディレクトリに、UNIX システムの場合、SAMPLES_HOME/integration/samples/common/dtds ディレクトリに格納されています。いずれの場合も、SAMPLES_HOME は、WebLogic Platform のサンプル ディレクトリを表しています。
要求側ロールからの要求メッセージ
以下は、要求側から送信される XML メッセージです。メッセージには、乗算される 2 つの数字が格納されています。
<multiply-request>
<integer-one>5</integer-one>
<integer-two>7</integer-two>
</multiply-request>
メッセージは multiply-request.dtd に準拠しています。
応答側ロールからの応答メッセージ
以下は、応答側から送信される XML メッセージです。生成されたメッセージと共に、乗算の結果が格納されています。
<multiply-reply>
<integer-product>35</integer-product>
<note>Dear RequestorPartner: Here is the product of 7 and 5,
from ReplierPartner to RequestorPartner.</note>
</multiply-reply>
メッセージは multiply-reply.dtd に準拠しています。
プライベート ワークフローをトリガするためにサーブレットから JMS 経由で送信される XML メッセージ
以下は、サーブレットが JMS 経由で送信するメッセージです。メッセージを受信すると、要求側のプライベート ワークフローがトリガされます。
<from-multiply-request-jsp-to-workflow light-weight=”false”>
<integer-one>5</integer-one>
<integer-two>7</integer-two>
</from-multiply-request-jsp-to-workflow>
メッセージは from-multiply-request-jsp-to-workflow.dtd に準拠しています。
プライベート ワークフローからサーブレットに JMS 経由で送信される XML メッセージ
以下は、要求側のプライベート ワークフローから JMS 経由でサーブレットに送信されるメッセージです。メッセージには、テキスト メッセージと共に乗算の結果が格納されています。
<from-workflow-to-multiply-request-jsp>
<integer-product>35</integer-product>
<note>Dear RequestorPartner: Here is the product of 7 and 5
from ReplierPartner to RequestorPartner.</note>
</from-workflow-to-multiply-request-jsp>
メッセージは from-workflow-to-multiply-request-jsp.dtd に準拠しています。
応答側パブリック ワークフローから応答側プライベート ワークフローに送信される XML イベント
次の XML イベントには、4 つのパラメータ(乗算の入力値 2 つ、要求側の名前、および応答側の名前)を格納した要求入力メッセージが含まれています。
<multiply-inputs>
<integer-one>5</integer-one>
<integer-two>7</integer-two>
<requestor-name>PartnerRequestor</requestor-name>
<replier-name>PartnerReplier</replier-name>
</multiply-inputs>
メッセージは multiply-inputs.dtd に準拠しています。
応答側プライベート ワークフローから応答側パブリック ワークフローに送信される XML イベント
次の XML イベントには、プライベート ワークフローの応答出力が含まれています。
<multiply-outputs>
<integer-product>35</integer-product>
<note>Dear RequestorPartner: Here is the product of 7 and 5
from ReplierPartner to RequestorPartner.</note>
</multiply-outputs>
メッセージは multiply-outputs.dtd に準拠しています。
要求側プライベート ワークフロー
要求側プライベート ワークフローは、サーブレットから初期要求を受信し、適切なタイプのメッセージを作成してパブリック ワークフローに送信します。応答を受信すると、応答メッセージを処理し、結果をサーブレットに送信します。次の図では、このプロセスをワークフローで示しています。
図2-5 要求側プライベート ワークフロー
要求側パブリック ワークフロー
要求側パブリック ワークフローはプライベート ワークフローによって開始されます。要求側パブリック ワークフロー は、プライベート ワークフローからワークフロー変数を受け取ります。次に要求側パブリック ワークフローでは、要求 XML をもとにメッセージを作成し、これを応答側に送信して応答を待ちます。応答メッセージを受信後、応答 XML を抽出し、これをプライベート ワークフローに渡します。次の図に、このプロセスをワークフローで示します。
図2-6 要求側パブリック ワークフロー
応答側パブリック ワークフロー
応答側パブリック ワークフローは、要求側メッセージの受信と同時に開始されます。要求側メッセージを受信すると、メッセージから要求 XML を抽出し、これを格納した XML イベントをパブリッシュして応答側プライベート ワークフローを開始します。応答側プライベート ワークフローから XML イベントが返信されたら、応答 XML を含むメッセージを要求側に返信します。次の図では、このプロセスをワークフローで示しています。
図2-7 応答側パブリック ワークフロー
応答側プライベート ワークフロー
応答側プライベート ワークフローは、要求 XML を格納した XML イベントを応答側パブリック ワークフローから受信すると同時に開始されます。要求を受信すると、データを処理して XML ドキュメント内に応答を生成し、XML イベントを使用して応答側パブリック ワークフローに応答 XML を返信します。
図2-8 応答側プライベート ワークフロー
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |