BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > WebLogic Integration > B2B トピック > B2B Integration 入門 > B2B Integration の基礎 |
B2B Integration 入門
|
B2B Integration の基礎
この章では、WebLogic Integration のアーキテクチャで、B2B 統合をサポートする堅牢なフレームワーク(メッセージング、接続、ビジネス プロトコル、およびBusiness Process Managementとワークフローの自動化との統合)がどのように提供されるのかを説明します。この章の内容は以下のとおりです。
コンフィグレーション モデル
プロセスやプロトコルが異なる多数のトレーディング パートナが参加するビジネス トランザクションに参加するためには、企業ではさまざまな接続オプションが必要です。
このため、WebLogic Integration を使用するトレーディング パートナは多数の異なる方法で通信するようにコンフィグレーションできます。トレーディング パートナのアプリケーションは、ピア ツー ピア モードでダイレクトに独自の通信チャネルを通じて、ハブ アンド スポーク モードで仲介配信チャネルを通じて、またはそれらの両方で通信します。WebLogic Integration は、複数のピア ツー ピア関係を同時にサポートでき、ルーティング ハブとして、WebLogic Integration B2B エンジンをデプロイする他のトレーディング パートナ間のメッセージを仲介することもできます。複数のメッセージング モデルをこれらのコンフィグレーションに重ねることができます。
以下の節では、トレーディング パートナのコンフィグレーションとメッセージング モデルを説明します。
ピア ツー ピア コンフィグレーション
ピア ツー ピア コンフィグレーションでは、2 つのトレーディング パートナのアプリケーションがそれぞれの配信チャネルで通信します。トレーディング パートナのメッセージ送受信の特性は、配信チャネルにカプセル化されます(コラボレーション アグリーメントの配信チャネルを参照)。
複数のトレーディング パートナのアプリケーションは、以下のコンフィグレーションで実装できます。
図2-1 ピア ツー ピア コンフィグレーション: WebLogic Integration の 1 つのインスタンス
図2-2 ピア ツー ピア コンフィグレーション: 1 企業内の WebLogic Integration の複数のインスタンス
図2-3 ピア ツー ピア コンフィグレーション: 複数の企業の WebLogic Integration の複数のインスタンス
ピア ツー ピア コンフィグレーションでは、RosettaNet、cXML および ebXML ビジネス プロトコルを使用してビジネス メッセージを交換できます。
特定のコンフィグレーション タスクの詳細については、『B2B Integration 管理ガイド』の「基本的なコンフィグレーション タスク」を参照してください。
トレーディング パートナ間のコラボレーション アグリーメントは、トレーディング パートナ間でビジネス メッセージをルーティングするために必要な情報を記録します。ピア ツー ピアの通信の場合、ビジネス メッセージの配信対象のトレーディング パートナはコラボレーション アグリーメントのもう一方のトレーディング パートナ(会話で 3 つ以上のロールが定義されている場合はもう一方のトレーディング パートナのロール)です。
ハブ アンド スポーク コンフィグレーション
ハブ アンド スポーク コンフィグレーションでは、トレーディング パートナのアプリケーションは別のトレーディング パートナの配信チャネル(スポーク配信チャネル)への仲介(ルーティング プロキシ)配信チャネルを介して通信します。次の図は、配信チャネル、トレーディング パートナ アプリケーション、およびトレーディング パートナ アプリケーションをホストする WebLogic Integration のインスタンスについて可能な、3 つのハブ アンド スポーク コンフィグレーションを示しています。
警告: 次の図のコンフィグレーション A と B は、2 つの配信チャネル(ハブ 1、スポーク 1)でコンフィグレーションされた 1 つのトレーディング パートナを示しています。現時点でこのコンフィグレーションには制限があります。ハブ配信チャネルとスポーク配信チャネルを 1 つのトレーディング パートナでコンフィグレーションしないでください。代わりに、それぞれに 1 つの配信チャネルで 2 つのトレーディング パートナを設定します。1 つのトレーディング パートナでハブ配信チャネルをコンフィグレーションし、もう 1 つのトレーディング パートナでスポーク配信チャネルをコンフィグレーションします。
トレーディング パートナと配信チャネルのコンフィグレーションの詳細については、『B2B Integration 管理ガイド』を参照してください。
注意: このセクションで説明するハブ アンド スポーク コンフィグレーションは、WebLogic Integration の本リリースから非推奨になった XOCP ビジネス プロトコルに基づいています。XOCP の代替機能に関する詳細については、『BEA WebLogic Integration リリース ノート』を参照してください。
図2-4 ハブ アンド スポーク コンフィグレーション モデル
この図のハブ アンド スポーク コンフィグレーション モデルは、次のように要約できます。
ハブ アンド スポーク モデルは、XOCP ビジネス プロトコルを使用したビジネス メッセージの交換をサポートします。XOCP ビジネス メッセージは、トレーディング パートナ間でユニキャストまたはマルチキャストできます。メッセージのマルチキャストは、1 つのトレーディング パートナから多数のトレーディング パートナに既存の会話の制約の範囲内でメッセージをブロードキャストする XOCP メッセージング サービスの機能です。
トレーディング パートナ間のコラボレーション アグリーメントは、トレーディング パートナ間でビジネス メッセージをルーティングするために必要な情報を記録します。ビジネス メッセージを仲介機能(ハブ)経由でトレーディング パートナ間で交換するには、コラボレーション アグリーメントを各トレーディング パートナと仲介機能の間で作成します。直接的に通信するトレーディング パートナ間のビジネス メッセージ交換とは違って(ビジネス メッセージの配信対象のトレーディング パートナがコラボレーション アグリーメントのもう一方のトレーディング パートナ)、仲介機能を使用するトレーディング パートナは仲介トレーディング パートナ(ルーティング プロキシ配信チャネル)のことをビジネス メッセージの対象と見なします。メッセージの送り先はそのメッセージの送信時に指定し、XOCP ビジネス メッセージの場合は 1 つの送り先(ユニキャスト メッセージ)または複数の送り先(マルチキャスト メッセージ)を指定できます。受信側トレーディング パートナは、メッセージ内で XPath 式を使用して表現できます。
XOCP プロトコルおよびメッセージのマルチキャストの詳細については、ビジネス プロトコルのサポートを参照してください。
メッセージ仲介モデル
ハブ アンド スポーク モデルでは、WebLogic Integration は前の節で説明したとおりハブ ノードとスポーク ノードの両方でインストールします。メッセージは、以下のいずれかの方法で仲介できます。
注意: WebLogic Integration B2B Console で会話を定義するときには、その会話のロールのワークフローにプロキシ ワークフローというマークを付けることができます。ハブ配信チャネルでは、このプロキシ フラグを使用して、ハブ ローカルのロールを持つ会話に適用されるコラボレーション アグリーメントと、ハブがルーティング プロキシのロールにあることを要求するコラボレーション アグリーメントを区別します。
トレーディング パートナ クライアント(非推奨)
トレーディング パートナのアプリケーション同士を直接接続するだけでなく、WebLogic Integration はゼロウェイト クライアントをサポートして、中小規模のトレーディング パートナや、バックエンド統合の要件がほとんどまたはまったく存在しないトレーディング パートナに E ビジネス コミュニティに接続して参加する手段を提供します。それらのトレーディング パートナは、Web ブラウザまたはファイル共有クライアントを使用して WebLogic Integration と通信します。それらのゼロウェイト クライアントに対するメッセージは、接続先の WebLogic Integration のインスタンスによって処理されます。つまり、メッセージの処理は Web ブラウザまたはファイル共有クライアントをデプロイしているトレーディング パートナの代わりにホストされます。次の図は、2 つのトレーディング パートナが企業 A の WebLogic Integration のインスタンスで作成されるサンプル コンフィグレーションを表しています。それらのトレーディング パートナの 1 つは、企業 C で使用される Web ブラウザまたはファイル共有クライアントのホストとなります。
図2-5 ホストされるトレーディング パートナのコンフィグレーション
トレーディング パートナ軽量クライアントのコンフィグレーションとデプロイメントの詳細については、『B2B Integration サンプルの使い方』の「Trading Partner Zeroweight Client サンプル」を参照してください。 注意: トレーディング パートナゼロウェイト クライアントは、WebLogic Integration の本リリースから非推奨になっています。ゼロウェイト クライアントの代替機能に関する詳細については、『BEA WebLogic Integration リリース ノート』を参照してください。
B2B Integration: 手順説明
この節では、価格と在庫の照会の会話を例にとって以下のことを説明します。
この例で利用する価格と在庫の照会の会話については、会話とロールの定義で説明されています。次の図はその節で掲載されたもので、価格と在庫の照会の会話を表しています。
図2-6 価格と在庫の照会の会話のワークフロー
このシナリオでは、以下の 2 つのビジネス パートナが登場します。
このシナリオでは、Company ABC がこのビジネス コラボレーション例に参加するための WebLogic Integration 環境を準備します。Company XYZ とのプロダクションに移る前に、Company ABC はその WebLogic Integration 環境でコラボレーションの構成要素をテストします。
以下の節では、まず、Company ABC がどのようにその WebLogic Integration 環境の 2 つのトレーディング パートナを設定してこのビジネス コラボレーションに参加するのかを説明します。次に、それ以降の、トレーディング パートナ間のビジネス メッセージの交換について説明します。最後に、価格と在庫の照会の会話に参加するために必要なデータを交換するために両方のビジネス パートナが行うステップを説明します。
この節では、WebLogic Integration B2B Console または WebLogic Integration Studio でコンフィグレーションを行う方法について詳しくは説明しません。コンフィグレーションの詳細については、『B2B Integration 管理ガイド』および『B2B Integration Administration Console オンライン ヘルプ』を参照してください。
会話定義の作成
会話のロールや他の詳細項目を指定するには、B2B Console を使用して会話を定義します。定義したエンティティは、会話定義と呼びます。トレーディング パートナ間の会話は、会話定義のアクティブなインスタンスです。
この例では、Company ABC の管理者が B2B Console を使用して次の手順で会話定義を作成します。
注意: このステップでアタッチするワークフロー テンプレートの名前は、WebLogic Integration Studio で定義する必要のあるワークフロー テンプレートの名前です。詳細については、ワークフロー テンプレートの作成を参照してください。
ワークフロー テンプレートの作成
会話定義でトレーディング パートナに割り当てられるロールを実装するワークフローは、協調的ワークフローと呼ばれます。
会話の会話ロールを実装するワークフロー テンプレートを設計または編集するには、WebLogic Integration Studio を使用します。特に、協調的ワークフローをサポートするために Studio の機能を拡張する B2B Integration BPM プラグインを使用します。Studio を使用すると、ワークフローにプロパティを割り当てることができます。それらのプロパティを割り当てることで、ワークフローが B2B Integration 環境で使用できるようになります。
この例では、Company ABC の管理者が WebLogic Integration Studio を使用して 2 つの協調的ワークフロー テンプレートを作成します。テンプレートは会話のロールごとに 1 つで、QueryPriceAvailability_Buyer と QueryPriceAvailability_Supplier を作成します。
トレーディング パートナでは、協調的ワークフローと連係して機能し、トレーディング パートナのローカル プロセスを実装するプライベート ワークフローも実装できます。それらのプロセスは、必ずしも会話定義で指定する必要はありません(会話定義の作成を参照)。たとえば、トレーディング パートナが会話を開始する場合、そのトレーディング パートナのプライベート ワークフローが、その会話を開始する協調的ワークフローを開始できます。
次の図は、価格と在庫の照会の会話のバイヤ ロールとサプライヤ ロールの協調的ワークフロー例を示しています。
図2-7 バイヤ ロールとサプライヤ ロールの協調的ワークフロー
ビジネス メッセージを交換できるように協調的ワークフローを準備するには、協調的ワークフロー テンプレートの会話プロパティを指定します。会話プロパティは、ワークフロー テンプレートの定義を使用して WebLogic Integration Studio で指定します。 この例の会話プロパティを指定するには、以下のタスクを行う必要があります。
注意: 実行時において、ワークフローに割り当てられた QoS プロパティは、B2B Console でトレーディング パートナの配信チャネルを設定するときに定義した QoS プロパティに優先します。
WebLogic Integration Studio を使用して協調的ワークフロー テンプレートを設計する方法については、『B2B Integration ワークフローの作成』を参照してください。
トレーディング パートナと配信チャネルの作成
会話に参加する必要のある企業は、まず環境をコンフィグレーションする必要があります。その過程では、トレーディング パートナを作成し、トレーディング パートナ固有の情報と 1 つまたは複数の配信チャネルを定義します。配信チャネルでは、会話で使用するビジネス プロトコル、転送プロトコル、セキュリティ パラメータなど、トレーディング パートナのメッセージ送受信の特性を記述します。
Company ABC のトレーディング パートナの作成
Company ABC の管理者は、B2B Console を使用して以下の 2 つのトレーディング パートナを作成します。
Supplier-Test は、システムを Company XYZ のトレーディング パートナ(サプライヤ ロール)とのプロダクションに移す前に、会話とワークフローをテストするために使用します。
各トレーディング パートナを作成するための情報は以下のとおりです。
Trading Partner A では、2 つの配信チャネルが必要です(スポーク 1、ルーティング プロキシ 1)。それらの配信チャネルは次のように定義します。
a. ドキュメント交換: ビジネス プロトコル(XOCP)と実行時パラメータを定義します。
b. 転送: 転送プロトコル(HTTP)、エンド ポイント URI(http://CompanyABC.com/xocp-spoke-transport など)、およびセキュリティ パラメータを定義します。
a. ドキュメント交換: ビジネス プロトコル(XOCP)と実行時パラメータを定義します。
b. 転送: 転送プロトコル(HTTP)、エンド ポイント URI(http://CompanyABC.com/xocp-hub-transport など)、およびセキュリティ パラメータを定義します。
Supplier-Test トレーディング パートナでは、1 つのスポーク配信チャネルが必要です。その配信チャネルの定義には、以下の情報が含まれます。
Company XYZ のトレーディング パートナの作成
Company XYZ で WebLogic Integration をインストールした後、管理者は B2B Console を使用してトレーディング パートナ(サプライヤ ロールの Trading Partner Z)を作成します。
Trading Partner Z を作成するための情報は以下のとおりです。
Trading Partner Z では、1 つのスポーク配信チャネルが必要です。その配信チャネルの定義には、以下の情報が含まれます。
次の図は、このシナリオで定義される 3 つのトレーディング パートナとそれらの配信チャネルのコンフィグレーションを示しています。
図2-8 会話例のトレーディング パートナのコンフィグレーション
Company ABC では、Company XYZ のトレーディング パートナ(本来のサプライヤ)と接続する前に、Supplier-Test トレーディング パートナを使用して 価格と在庫の照会の会話のコラボレーション アグリーメントをテストできます。 コラボレーション アグリーメントの作成 コラボレーション アグリーメントは、トレーディング パートナの配信チャネルを会話定義にバインドします。このコラボレーション アグリーメントを使用して、トレーディング パートナはそれらの間の会話について合意します。特に、それらのトレーディング パートナが参加する会話と、各トレーディング パートナのメッセージ送受信の特性について合意します。 管理者は B2B Console を使用して、特定の名前とバージョンでそのリポジトリにコラボレーション アグリーメントを作成します。コラボレーション アグリーメントでは、参加トレーディング パートナごとにパーティを定義します。コラボレーション アグリーメントには以下の情報も含まれます。
配信チャネルでは、コラボレーションのビジネス プロトコル、各トレーディング パートナの実行時パラメータ、転送プロトコル、各トレーディング パートナの転送のエンド ポイント(URI)、およびセキュリティ パラメータを定義します。
会話定義では、ビジネス コラボレーションの名前を指定し(この例では、価格と在庫の照会)、ロール(バイヤ、サプライヤなど)を協調的ワークフロー テンプレートにアタッチします。
ここで手順説明の例に戻ります。
Company ABC では、以下のように 2 つのコラボレーション アグリーメントを作成します。
各トレーディング パートナは、ルーティング プロキシ配信チャネルのあるコラボレーション アグリーメントを持ちます。ルーティング プロキシは、仲介として機能します。つまり、Trading Partner A とのコラボレーション アグリーメントではプロキシ サプライヤとして機能し、Supplier-Test とのコラボレーション アグリーメントではプロキシ バイヤとして機能します。
コラボレーション アグリーメントは配信チャネルを会話定義にバインドし、会話定義のロールと関連付けられている協調的ワークフロー テンプレートを参照します。次の図は、2 つのコラボレーション アグリーメントを表しています。
図2-9 コラボレーション アグリーメントの構成要素
ビジネス メッセージの送受信
ワークフロー テンプレート、会話定義、トレーディング パートナ、配信チャネル、およびコラボレーション アグリーメントを作成した後、Company ABC では 価格と在庫の照会の会話でバイヤ ロールの Trading Partner A およびサプライヤ ロールの Supplier-Test を使用してコラボレーション アグリーメントと会話をテストします。
この節では、価格と在庫の照会の会話でビジネス メッセージがどのように送受信されるのかを説明します。
図2-10 ビジネス メッセージの送受信
この図は、トレーディング パートナのアプリケーションと配信チャネルを通じたビジネス メッセージの処理を示しています。そのイベントを次の順序で説明します。
リポジトリ情報のエクスポートとインポート
B2B コラボレーションに参加するためには、企業では情報を共有できなければなりません。
この節を通して示したサンプル B2B の手順説明で、価格と在庫の照会の会話のテストに成功した後に(ビジネス メッセージの送受信を参照)、Company ABC ではプロダクションの準備をすることができます(つまり、Company XYZ との価格と在庫の照会の会話を設定できる)。
B2B Console には、リポジトリのデータを XML ファイルにエクスポートするための機能があります。その XML ファイルは、再び B2B Console を使用して別の WebLogic Integration リポジトリにインポートできます。エクスポートするファイルの範囲は選択できます。つまり、リポジトリ データのすべてか一部を選んでエクスポートできます。これらのエクスポートとインポートの機能は、B2B コラボレーションの設定に必要な情報を共有するために使用します。
今回の例では、Company ABC が以下のタスクを行って Company XYZ とのビジネス トランザクションを準備します。
続いて、Company XYZ では以下のタスクを行って Company ABC とのビジネス トランザクションを準備する必要があります。
ビジネス コラボレーションの開始
リポジトリ情報のエクスポートとインポートの手順が完了すると、各トレーディング パートナのリポジトリには会話定義のロールを実装するために必要な情報が格納されます。
Trading Partner A アプリケーションはプライベート ワークフローのインスタンスを開始して会話を開始でき、そのプライベート ワークフローによって会話のバイヤ ロールに定義されている協調的ワークフローが開始されます(この協調的ワークフローの名前は QueryPriceAvailability_Buyer)。ビジネス メッセージが Trading Partner A と Trading Partner Z のアプリケーション間で交換されて、会話が進行します。
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |