BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA
 ドキュメントのダウンロード   サイト マップ   用語集 
検索

B2B Integration 入門

 前 次 目次 索引 PDF で表示  

B2B Integration の基礎

この章では、WebLogic Integration のアーキテクチャで、B2B 統合をサポートする堅牢なフレームワーク(メッセージング、接続、ビジネス プロトコル、およびBusiness Process Managementとワークフローの自動化との統合)がどのように提供されるのかを説明します。この章の内容は以下のとおりです。

 


コンフィグレーション モデル

プロセスやプロトコルが異なる多数のトレーディング パートナが参加するビジネス トランザクションに参加するためには、企業ではさまざまな接続オプションが必要です。

このため、WebLogic Integration を使用するトレーディング パートナは多数の異なる方法で通信するようにコンフィグレーションできます。トレーディング パートナのアプリケーションは、ピア ツー ピア モードでダイレクトに独自の通信チャネルを通じて、ハブ アンド スポーク モードで仲介配信チャネルを通じて、またはそれらの両方で通信します。WebLogic Integration は、複数のピア ツー ピア関係を同時にサポートでき、ルーティング ハブとして、WebLogic Integration B2B エンジンをデプロイする他のトレーディング パートナ間のメッセージを仲介することもできます。複数のメッセージング モデルをこれらのコンフィグレーションに重ねることができます。

以下の節では、トレーディング パートナのコンフィグレーションとメッセージング モデルを説明します。

ピア ツー ピア コンフィグレーション

ピア ツー ピア コンフィグレーションでは、2 つのトレーディング パートナのアプリケーションがそれぞれの配信チャネルで通信します。トレーディング パートナのメッセージ送受信の特性は、配信チャネルにカプセル化されます(コラボレーション アグリーメントの配信チャネルを参照)。

複数のトレーディング パートナのアプリケーションは、以下のコンフィグレーションで実装できます。

ピア ツー ピア コンフィグレーションでは、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 はゼロウェイト クライアントをサポートして、中小規模のトレーディング パートナや、バックエンド統合の要件がほとんどまたはまったく存在しないトレーディング パートナに 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 を使用します。特に、協調的ワークフローをサポートするために Studio の機能を拡張する B2B Integration BPM プラグインを使用します。Studio を使用すると、ワークフローにプロパティを割り当てることができます。それらのプロパティを割り当てることで、ワークフローが B2B Integration 環境で使用できるようになります。

この例では、Company ABC の管理者が WebLogic Integration Studio を使用して 2 つの協調的ワークフロー テンプレートを作成します。テンプレートは会話のロールごとに 1 つで、QueryPriceAvailability_BuyerQueryPriceAvailability_Supplier を作成します。

トレーディング パートナでは、協調的ワークフローと連係して機能し、トレーディング パートナのローカル プロセスを実装するプライベート ワークフローも実装できます。それらのプロセスは、必ずしも会話定義で指定する必要はありません(会話定義の作成を参照)。たとえば、トレーディング パートナが会話を開始する場合、そのトレーディング パートナのプライベート ワークフローが、その会話を開始する協調的ワークフローを開始できます。

次の図は、価格と在庫の照会の会話のバイヤ ロールとサプライヤ ロールの協調的ワークフロー例を示しています。

図2-7 バイヤ ロールとサプライヤ ロールの協調的ワークフロー


 


 

ビジネス メッセージを交換できるように協調的ワークフローを準備するには、協調的ワークフロー テンプレートの会話プロパティを指定します。会話プロパティは、ワークフロー テンプレートの定義を使用して WebLogic Integration Studio で指定します。

この例の会話プロパティを指定するには、以下のタスクを行う必要があります。

WebLogic Integration Studio を使用して協調的ワークフロー テンプレートを設計する方法については、『B2B Integration ワークフローの作成』を参照してください。

トレーディング パートナと配信チャネルの作成

会話に参加する必要のある企業は、まず環境をコンフィグレーションする必要があります。その過程では、トレーディング パートナを作成し、トレーディング パートナ固有の情報と 1 つまたは複数の配信チャネルを定義します。配信チャネルでは、会話で使用するビジネス プロトコル、転送プロトコル、セキュリティ パラメータなど、トレーディング パートナのメッセージ送受信の特性を記述します。

Company ABC のトレーディング パートナの作成

Company ABC の管理者は、B2B Console を使用して以下の 2 つのトレーディング パートナを作成します。

各トレーディング パートナを作成するための情報は以下のとおりです。

Company XYZ のトレーディング パートナの作成

Company XYZ で WebLogic Integration をインストールした後、管理者は B2B Console を使用してトレーディング パートナ(サプライヤ ロールの Trading Partner Z)を作成します。

Trading Partner Z を作成するための情報は以下のとおりです。

次の図は、このシナリオで定義される 3 つのトレーディング パートナとそれらの配信チャネルのコンフィグレーションを示しています。

図2-8 会話例のトレーディング パートナのコンフィグレーション


 

Company ABC では、Company XYZ のトレーディング パートナ(本来のサプライヤ)と接続する前に、Supplier-Test トレーディング パートナを使用して 価格と在庫の照会の会話のコラボレーション アグリーメントをテストできます。

コラボレーション アグリーメントの作成

コラボレーション アグリーメントは、トレーディング パートナの配信チャネルを会話定義にバインドします。このコラボレーション アグリーメントを使用して、トレーディング パートナはそれらの間の会話について合意します。特に、それらのトレーディング パートナが参加する会話と、各トレーディング パートナのメッセージ送受信の特性について合意します。

管理者は B2B Console を使用して、特定の名前とバージョンでそのリポジトリにコラボレーション アグリーメントを作成します。コラボレーション アグリーメントでは、参加トレーディング パートナごとにパーティを定義します。コラボレーション アグリーメントには以下の情報も含まれます。

ここで手順説明の例に戻ります。

Company ABC では、以下のように 2 つのコラボレーション アグリーメントを作成します。

各トレーディング パートナは、ルーティング プロキシ配信チャネルのあるコラボレーション アグリーメントを持ちます。ルーティング プロキシは、仲介として機能します。つまり、Trading Partner A とのコラボレーション アグリーメントではプロキシ サプライヤとして機能し、Supplier-Test とのコラボレーション アグリーメントではプロキシ バイヤとして機能します。

コラボレーション アグリーメントは配信チャネルを会話定義にバインドし、会話定義のロールと関連付けられている協調的ワークフロー テンプレートを参照します。次の図は、2 つのコラボレーション アグリーメントを表しています。

図2-9 コラボレーション アグリーメントの構成要素


 

この図の以下の点に注意してください。

ビジネス メッセージの送受信

ワークフロー テンプレート、会話定義、トレーディング パートナ、配信チャネル、およびコラボレーション アグリーメントを作成した後、Company ABC では 価格と在庫の照会の会話でバイヤ ロールの Trading Partner A およびサプライヤ ロールの Supplier-Test を使用してコラボレーション アグリーメントと会話をテストします。

この節では、価格と在庫の照会の会話でビジネス メッセージがどのように送受信されるのかを説明します。

図2-10 ビジネス メッセージの送受信


 

この図は、トレーディング パートナのアプリケーションと配信チャネルを通じたビジネス メッセージの処理を示しています。そのイベントを次の順序で説明します。

  1. Trading Partner A アプリケーションが、プライベート ワークフローのインスタンスを開始して会話を開始します。プライベート ワークフローは、会話のバイヤ ロールに定義されている協調的ワークフローを開始します(この協調的ワークフローの名前は QueryPriceAvailability_Buyer)。

  2. QueryPriceAvailability_Buyer 協調的ワークフローが、コラボレーション アグリーメント QueryPrice-A-A と関連付けられます(図2-9を参照)。QueryPrice-A-A コラボレーション アグリーメントでは、スポーク配信チャネルがバイヤで、ルーティング プロキシ配信チャネルがサプライヤです。したがって、スポーク配信チャネルがルーティング プロキシ配信チャネルにメッセージを送信します。

  3. ルーティング プロキシ配信チャネルがコラボレーション アグリーメントのリンクを行います。つまり、メッセージは 1 つのコラボレーション アグリーメントの一部として受信し、別のコラボレーション アグリーメントの一部として別のトレーディング パートナにルーティングする必要があります。それらのコラボレーション アグリーメントがリンクされるのは、それらが同じルーティング プロキシ配信チャネル(この場合は http://CompanyABC.com/xocp-hub-transport)を使用するためです。

    このメッセージを受信するとき、ルーティング プロキシ配信チャネルは QueryPrice-A-A コラボレーション アグリーメントのプロキシ サプライヤとして機能しています。メッセージの受信後、ルーティング プロキシ配信チャネルはロールを切り替え、プロキシ バイヤになります。Trading Partner A アプリケーションでは、この共通の(ルーティング プロキシ)配信チャネルを使用して、それがバイヤとして機能している会話のコラボレーション アグリーメントを見つけます。この場合、メッセージは QueryPrice-A-SpTest コラボレーション アグリーメントの一部として Supplier-Test のスポーク配信チャネルに送信されます。ルーティング プロキシ配信チャネルは、QueryPrice-A-SpTest コラボレーション アグリーメントのプロキシ バイヤのロールにあります。

  4. Supplier-Test の配信チャネルが、メッセージのコラボレーション アグリーメント ID を使用してサプライヤ ロールの協調的ワークフロー(QueryPriceAvailability_Supplier)を識別します。メッセージは QueryPriceAvailability_Supplier ワークフローを開始します。

  5. QueryPriceAvailability_Supplier 協調的ワークフローがメッセージを抽出し、Supplier-Test トレーディング パートナで実装されたプライベート ワークフローにイベントを送信します。

  6. プライベート ワークフローが要求メッセージを応答メッセージに変換し、イベントを QueryPriceAvailability_Supplier 協調的ワークフローに送り返します。

  7. QueryPriceAvailability_Supplier ワークフローが応答メッセージを送信して終了します。QueryPrice-A-SpTest コラボレーション アグリーメントで定義されたロールに基づいて(Supplier-Test の配信チャネルがサプライヤ、ルーティング プロキシ配信チャネルがプロキシ バイヤ)、応答メッセージが Trading Partner A のルーティング プロキシ配信チャネルに送信されます。

  8. Trading Partner A が再びロールを切り替えて、プロキシ サプライヤになります。Trading Partner A では、ルーティング プロキシ配信チャネルを使用して、それがバイヤとして機能している会話のコラボレーション アグリーメントを見つけます。この場合、メッセージは QueryPrice-A-A コラボレーション アグリーメントの一部として Trading Partner A のスポーク配信チャネルに送り返されます。

  9. スポーク配信チャネルがメッセージを QueryPriceAvailability_Buyer 協調的ワークフローに送信します。協調的ワークフローはメッセージを抽出して、終了イベントを Trading Partner A のプライベート ワークフローに送信します(協調的ワークフローは、図2-7を参照)。


     

リポジトリ情報のエクスポートとインポート

B2B コラボレーションに参加するためには、企業では情報を共有できなければなりません。

この節を通して示したサンプル B2B の手順説明で、価格と在庫の照会の会話のテストに成功した後に(ビジネス メッセージの送受信を参照)、Company ABC ではプロダクションの準備をすることができます(つまり、Company XYZ との価格と在庫の照会の会話を設定できる)。

B2B Console には、リポジトリのデータを XML ファイルにエクスポートするための機能があります。その XML ファイルは、再び B2B Console を使用して別の WebLogic Integration リポジトリにインポートできます。エクスポートするファイルの範囲は選択できます。つまり、リポジトリ データのすべてか一部を選んでエクスポートできます。これらのエクスポートとインポートの機能は、B2B コラボレーションの設定に必要な情報を共有するために使用します。

今回の例では、Company ABC が以下のタスクを行って Company XYZ とのビジネス トランザクションを準備します。

  1. Trading Partner Z のデータをインポートします。

    Company XYZ では、(トレーディング パートナと配信チャネルの作成の説明に従って)Trading Partner Z のデータを生成し、そのデータを XML ファイルにエクスポートしておかなければなりません。

  2. B2B Console を使用して Trading Partner Z のトレーディング パートナ タイプローカルからリモートに変更します。

  3. Company XYZ との間のコラボレーション アグリーメントを作成します。

    これはコラボレーション アグリーメントの作成で説明したコラボレーション アグリーメントと似ていますが、Supplier-Test のトレーディング パートナおよび配信チャネルのデータではなく Company XYZ の Trading Partner Z のデータを使用します。

  4. B2B Console を使用して、新しく作成したコラボレーション アグリーメントのコピーをエクスポートします。

  5. QueryPriceAvailability_Supplier 協調的ワークフロー テンプレート(ワークフロー テンプレートの作成を参照)とドキュメントのスキーマを WebLogic Integration Studio からエクスポート(パブリッシュ)します。

続いて、Company XYZ では以下のタスクを行って Company ABC とのビジネス トランザクションを準備する必要があります。

  1. Company ABC で用意されたコラボレーション アグリーメントをインポートします。

  2. B2B Console を使用して、Company ABC からインポートしたデータの以下の部分を変更します。

  3. WebLogic Integration Studio から Company XYZ によってパブリッシュされた QueryPriceAvailability_Supplier 協調的ワークフロー テンプレートとドキュメント スキーマをインポートします。

  4. QueryPriceAvailability_Supplier 協調的ワークフローと連係して機能するプライベート ワークフローを作成します。このプライベート ワークフローは、サプライヤ ロールの Trading Partner Z にローカルで発生するプロセスを実装します。それらのプロセスは、必ずしも会話定義で指定する必要はありません。

ビジネス コラボレーションの開始

リポジトリ情報のエクスポートとインポートの手順が完了すると、各トレーディング パートナのリポジトリには会話定義のロールを実装するために必要な情報が格納されます。

Trading Partner A アプリケーションはプライベート ワークフローのインスタンスを開始して会話を開始でき、そのプライベート ワークフローによって会話のバイヤ ロールに定義されている協調的ワークフローが開始されます(この協調的ワークフローの名前は QueryPriceAvailability_Buyer)。ビジネス メッセージが Trading Partner A と Trading Partner Z のアプリケーション間で交換されて、会話が進行します。

 

ページの先頭 前 次