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

B2B Integration サンプルの使い方

 前 次 目次 PDFで表示  

Channel Master サンプル(非推奨)

Channel Master サンプルには、大規模トレーディング パートナが WebLogic Integration を使用してそのサプライ チェーンを自動化する方法が示されています。サンプルでは、WebLogic Integration トレーディング パートナ間での通信方法として、XOCP ビジネス プロトコルを使用するポイント ツー ポイント通信とマルチキャスト(ブロードキャスト)通信の両方を示します。

この章では、以下のトピックを取り上げます。

注意: Channel Master サンプルは、XOCP プロトコルに基づいていますが、このプロトコルは、このリリースの WebLogic Integration から非推奨になっています。XOCP に代わる機能については、『WebLogic Integration リリース ノート』を参照してください。

 


Channel Master サンプルの概要

以下に、このサンプルでのトレーディング パートナ間の通信手順をまとめます。

  1. チャネル マスタ バイヤとなるトレーディング パートナが、特定のアイテムの価格と在庫に関するクエリ(QPA)をブロードキャストします。このサンプルでは、2 社のサプライヤ トレーディング パートナがクエリをリスンします。したがって、クエリを受信するサプライヤ トレーディング パートナは 2 社ということになります。ブロードキャスト通信は多くのトレーディング パートナが受信できますが、このサンプルではリスンしているサプライヤが 2 社のみであるため、クエリを受信するサプライヤも 2 社のみということになります。このアクションによって、ブロードキャスト(またはマルチキャスト)通信の例が示されています。次の図では、QPA というエンベロープが XML メッセージを表しています。


     

    この例では、価格と在庫に関するクエリ(QPA)を格納した XML メッセージが、トレーディング パートナ間で転送されます。上の図は、これを単純化して表しています。詳細については、マルチキャスト(ブロードキャスト)メッセージを参照してください。

  2. 2 社のサプライヤは、バイヤに見積もりを返信します。見積もりには、要求されたアイテムの価格と在庫が記載されています。このステップでの各サプライヤとバイヤとの間の通信はポイント ツー ポイント通信となります。


     

  3. バイヤは、いずれかのサプライヤを選択して発注書(PO)を送信します。このアクションもポイント ツー ポイント通信です。


     

  4. 選択されたサプライヤは、発注確認メッセージを返信します。


     

 


Channel Master サンプルを実行する前に

Channel Master サンプルを実行する前に、次の手順を実行します。

  1. サンプルの実行前の作業に記載の手順に従います。

  2. サンプル WebLogic Server への接続が妨げられないようにブラウザのプロキシ設定を確認します。Web ブラウザ コンフィグレーションの要件の詳細については、『WebLogic Integration の起動、停止およびカスタマイズ』の「WebLogic Integration 管理ツールと設計ツール」の「Web ブラウザ コンフィグレーションの要件」を参照してください。

 


Channel Master サンプルの実行

Channel Master サンプルを実行するには、次の手順を実行します。

注意: RunSamples スクリプトで起動した WebLogic Server のインスタンスが実行中である場合はステップ 4 に進みます。

  1. WLI_HOME (WebLogic Integrationをインストールしたディレクトリ) に移動します。
    cd WLI_HOME

  2. WebLogic Integration の上位レベルの環境変数を設定するには、お使いのプラットフォームに合った setenv スクリプトを実行します。

  3. プラットフォームに合わせて適切な手順を実行し、RunSamples スクリプトを起動します。

    警告: UNIX システムの場合、netscape 実行ファイルが入ったディレクトリが PATH 環境変数に含まれている必要があります。含まれていない場合は、RunSamples スクリプトの実行時にサンプル起動ページが表示されません。サンプル起動ページは、現在 RunSamples スクリプトが実行されているマシンで Netscape ブラウザを起動して、次の URL を入力すると起動されます。
    http://localhost:7001/index.html

  4. RunSamples スクリプトのコンフィグレーション セクションが実行済みであることが検知されると、次のプロンプトが表示されます。
    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 のインスタンスを(バックグラウンド プロセスとして)開始し、サンプル起動ページが表示されます。

    Channel Master サンプルは、その他の WebLogic Integration B2B サンプルと違い、サンプル起動ページからは起動されません。Channel Master サンプルを起動するには、WebLogic Server のサンプル インスタンスが実行されている必要があります。以下の手順を完了するまでは、WebLogic Server のインスタンスとサンプル起動ページが常に実行されている状態にしておいてください。

  5. WebLogic Integration Worklist を起動するには、プラットフォームに合わせて適切な手順を実行します。

  6. 次の情報を使用して、WebLogic Integration Worklist にログインします。

    WebLogic Integration Worklist のメイン ウィンドウが表示されます。

  7. WebLogic Integration Worklist を使用してサンプルを実行します。

注意: Worklist クライアント アプリケーションは、このリリースの Weblogic Integration から非推奨になっています。Worklist に代わる機能の詳細については、『WebLogic Integration リリース ノート』を参照してください。

    1. Worklist ウィンドウの右上のドロップダウン リストを開きます。ORG1 を選択します。


       

    2. [joe] タブを選択します。


       

    3. Worklist のメニュー バーから、[ワークフロー|ワークフローを開始] を選択します。[ワークフローを開始] ダイアログ ボックスが表示されます。

    4. [BuyerPrivate] ワークフローを選択します。[OK] をクリックします。


       

    5. サンプルが正常に実行されたかどうかを確認するには、myserver.log ファイルの中で次のメッセージを探します。

      CHANNEL MASTER SAMPLE RAN SUCCESSFULLY!!!

      myserver.log ファイルは、Windows の場合、%SAMPLES_HOME%¥integration¥config¥samples¥logs ディレクトリに、UNIX の場合、$SAMPLES_HOME/integration/config/samples/logs ディレクトリに格納されています。

  1. WebLogic Integration Worklist を閉じます。Worklist のメニュー バーから、[ファイル|終了] を選択します。

  2. 別の B2B サンプルを実行したり、SupplierOnePrivate ワークフローの表示で説明する手順を完了する必要がある場合は、サンプル起動ページを開いた状態で、WebLogic Server のインスタンスは実行したままにしておきます。

    別の B2B サンプルを実行したり、SupplierOnePrivate ワークフローの表示で説明する手順を完了する必要がない場合は、ブラウザと WebLogic Server を終了します。WebLogic Server のインスタンスを終了する手順は、プラットフォームによって異なります。

 


Channel Master サンプルのワークフロー

次の図に、別々の Channel Master ワークフロー間での上位レベルの会話を示します。

図3-1 Channel Master ワークフロー間の会話


 

次の図は、Channel Master サンプルの実行フローをトレースした 1 番目の図です。

図3-2 ワークフローのトレース : ステップ 1 〜 4


 

以下では、各ステップの詳細を説明します。ステップの番号は、図3-2 の番号に対応しています。

  1. ユーザが WebLogic Integration Worklist ユーティリティを呼び出します。これにより、BuyerPrivate ワークフローが開始されます。

  2. BuyerPrivate ワークフローは、QPA 要求 XML ドキュメントを作成し、これをワークフロー変数に格納します。

  3. BuyerPrivate ワークフローは、CMBuyerPOPublic ワークフローを開始します。

  4. CMBuyerQPAPublic ワークフローは、全サプライヤへの QPA 要求ドキュメントに基づいて、QPA ビジネス メッセージをブロードキャストします。このブロードキャストによって、CMSupplierQPAPublic ワークフローの 2 つのインスタンスが開始されます。1 つは PartnerSupplierOne トレーディング パートナ、もう 1 つは PartnerSupplierTwo トレーディング パートナです。

    2 つのインスタンスが開始されるのは、各トレーディング パートナが ChannelMasterHub トレーディング パートナとのコラボレーション アグリーメントを持っているためです。これは、ワークフローが CMQPAConversation の会話定義名と 1.1 の会話定義とともにビジネス メッセージを受信した場合に、CMSupplier のロール名を使用する必要があることを指定するためのものです。

    次のリストに、ChannelMasterHub と Partner とのコラボレーション アグリーメントを示します。ChannelMasterHub トレーディング パートナが必要となる理由の詳細については、マルチキャスト(ブロードキャスト)メッセージを参照してください。

コード リスト 3-1 インポート リポジトリ データ ファイルのコラボレーション アグリーメント セクション

<collaboration-agreement
name="CMQPAConversation|1.1|PartnerSupplierOne|ChannelMasterHub"
global-identifier="CMQPAConversation|1.1|PartnerSupplierOne|ChannelMasterHub"
version="1.1"
status="ENABLED"
conversation-definition-name="CMQPAConversation"
conversation-definition-version="1.1">
<party
trading-partner-name="PartnerSupplierOne"
party-identifier-name="PartnerSupplierOnePartyId"
delivery-channel-name="PartnerSupplierOneDeliveryChannel"
role-name="CMSupplier"/>
<party
trading-partner-name="ChannelMasterHub"
party-identifier-name="ChannelMasterHubPartyId"
delivery-channel-name="ChannelMasterHubDeliveryChannel"
role-name="CMBuyer"/>
</collaboration-agreement>

このリストは、Channel Master サンプルの BulkLoaderData.xml ファイルからの抜粋です。このファイルは、サンプルに必要なデータを WebLogic Integration リポジトリにインポートするために使用します。Windows システムの場合は %SAMPLES_HOME%¥integration¥samples¥ChannelMaster¥libディレクトリに、UNIX システムの場合は $SAMPLES_HOME/integration/ChannelMaster/lib にあります。リポジトリ データは、WebLogic Integration B2B Console から入力することもできます。

これと似ているのが、リポジトリ データ ファイル内の PartnerSupplierTwo トレーディング パートナのコラボレーション アグリーメントです。これは、ワークフローが CMQPAConversation の会話定義名と 1.1 の会話定義とともにビジネス メッセージを受信した場合に、CMSupplier のロール名を使用する必要があることを指定するためのものです。

CMQPAConverstion の会話定義では、CMSupplier ロール用に CMSupplierQPAPublic ワークフローのインスタンスが開始されている必要があることが指定されています。次のリストを参照してください。

コード リスト 3-2 インポート リポジトリ データ ファイル内の会話定義

<conversation-definition
name="CMQPAConversation"
version="1.1"
business-protocol-name="XOCP"
protocol-version="1.1">
<role
name="CMBuyer"
wlpi-template="CMBuyerQPAPublic">
<process-implementation wlpi-org="ORG1" />
</role>
<role
name="CMSupplier"
wlpi-template="CMSupplierQPAPublic">
<process-implementation wlpi-org="ORG1" />
</role>
</conversation-definition>

次の図に、ステップ 5 〜 7 の実行フローを示します。各ステップの説明は、図の後にあります。

図3-3 ワークフローのトレース : ステップ 5 〜 7


 

  • CMBuyerQPAPublic ワークフローの各インスタンスは、内部 XML イベントをポストします。PartnerSupplierOne の CMSupplierQPAPublic ワークフローのインスタンスが内部 XML イベントをポストすると、SupplierOnePrivate ワークフローの開始がトリガされます。PartnerSupplierTwo の CMSupplierQPAPublic ワークフローのインスタンスが内部 XML イベントをポストすると、SupplierTwoPrivate ワークフローの開始がトリガされます。

    PartnerSupplierOne トレーディング パートナがトリガするのは、SupplierOnePrivate ワークフローのみです。SupplierTwoPrivate ワークフローはトリガされません。これは、SupplierOnePrivate ワークフローの開始ノードで、PartnerSupplierOne からのイベントによってのみトリガされるように指定されているためです。SupplierOnePrivate ワークフローの開始方法、および SupplierOnePrivate ワークフローを開始するための条件を表示する方法については、SupplierOnePrivate ワークフローの表示を参照してください。

  • SupplierOnePrivate および SupplierTwo Private ワークフローは、QPA 要求から変数情報を抽出して QPA XML 応答を作成し、QPA XML 応答メッセージを内部 XML イベントとしてポストします。

  • CMSupplierQPAPublic ワークフローの各インスタンスは、QPA XML 応答メッセージを待ちます。応答メッセージを受信すると、QPA XML 応答メッセージからビジネス メッセージを作成して送信します。

    次の図に、ステップ 8 〜 16 の実行フローを示します。各ステップの説明は、図の後にあります。

    図3-4 ワークフローのトレース : ステップ 8 〜 16


     

  • CMBuyerQPAPublic ワークフローは、応答を 1 つにまとめた QPA アグリゲート XML 応答メッセージを送信します。メッセージには、サプライヤからの価格と在庫の情報が含まれています。

  • QPA XML 応答を待っていた BuyerPrivate ワークフローは、もう一度実行を開始し、QPA XML 応答メッセージに基づいてサプライヤを選択します。

  • BuyerPrivate ワークフローは、発注書 XML ドキュメントを作成し、これを POXml XML ワークフロー変数に格納します。

  • BuyerPrivate ワークフローは、CMBuyerPOPublic ワークフローを開始します。

  • CMBuyerPOPublic ワークフローは、発注書ビジネス メッセージを作成して送信します。送信後は、発注確認書が送信されてくるのを待ちます。

  • CMSupplierPOPublic ワークフローは、渡された POMessage ワークフロー変数から発注情報を抽出し、POXml XML ワークフロー変数を構築して XML イベントをポストした後、発注確認書が送信されてくるのを待ちます。PartnerSupplierTwo によって一番条件の良い価格と在庫が提示されたため、PartnerSupplierTwo がサプライヤとして選択されます。

  • SupplierTwo Private ワークフローは、PO 要求から変数情報を抽出して PO XML 応答を作成し、PO XML 応答メッセージを内部 XML イベントとしてポストします。

  • CMSupplierPOPublic ワークフローは発注確認書を待ちます。確認書を受信した後、CMBuyerPOPublic に XML 発注確認メッセージを返送します。

  • CMBuyerPOPublic ワークフローは発注確認書を待ちます。確認書を受信後、受け取った XML ドキュメントから情報を抽出し、発注 XML 確認ドキュメントををポストします。

  • BuyerPrivate はこれで終了です(このステップは、図3-4 には示されていない)。
  • SupplierOnePrivate ワークフローの表示

    SupplierOnePrivate ワークフローは、PartnerSupplierOne トレーディング パートナからの XML イベントのみを受け付けます。SupplierOnePrivate ワークフローを表示し、受け付ける XML イベントがどう制限されているかを見るには、次の手順を実行します。

    注意: RunSamples スクリプトで起動した WebLogic Server のインスタンスが実行中である場合はステップ 4 に進みます。

    1. WLI_HOME (WebLogic Integrationをインストールしたディレクトリ) に移動します。
      cd WLI_HOME

    2. WebLogic Integration の上位レベルの環境変数を設定するには、お使いのプラットフォームに合った setenv スクリプトを実行します。

    3. プラットフォームに合わせて適切な手順を実行し、RunSamples スクリプトを起動します。

    警告: UNIX システムの場合、netscape 実行ファイルが入ったディレクトリが PATH 環境変数に含まれている必要があります。含まれていない場合は、RunSamples スクリプトの実行時にサンプル起動ページが表示されません。サンプル起動ページは、現在 RunSamples スクリプトが実行されているマシンで Netscape ブラウザを起動して、次の URL を入力すると起動されます。
    http://localhost:7001/index.html

    1. RunSamples スクリプトのコンフィグレーション セクションが実行済みであることが検知されると、次のプロンプトが表示されます。
      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

      If you answer この質問に N と入力すると、リポジトリの作成および格納を行う手順が省略され、WebLogic Server のサンプル インスタンスを起動する手順のみが実行されます。

      この質問に Y と入力すると、リポジトリの作成および格納が改めて行われ、その後で WebLogic Server のサンプル インスタンスを起動する手順が実行されます。Y を入力した場合、RunSamples スクリプトは、現在リポジトリにある全データを破棄し、リポジトリに改変されていないバージョンのサンプル データをロードします。現在のサンプル データが変更または削除され、新規または未変更のサンプル データをリポジトリに格納する場合にのみ、Y を入力してください。

      これで、RunSamples スクリプトは WebLogic Server のインスタンスをバックグラウンド プロセスとして開始し、サンプル起動ページが表示されます。

    2. WebLogic Integration Studio を起動するには、プラットフォームに合わせて適切な手順を実行します。

    3. 次の情報を使用して WebLogic Integration Studio にログインします。

      WebLogic Integration Studio のメイン ウィンドウが表示されます。

    4. 左ペインの [オーガニゼーション] の下にあるドロップダウン リストから、[ORG1] を選択します。


       

    5. 左ペインの [テンプレート] フォルダを展開します。サンプルの全テンプレートのリストが表示されます。


       

    6. 左ペインの [SupplierOnePrivate] フォルダを開きます。

    7. SupplierOnePrivate ワークフローのインスタンスを開いて表示するには、次の手順を実行します。

      1. SupplierOnePrivate の下にリストされている日付のフォルダを右クリックします。


         

      2. [開く] を選択します。

        ワークフローが図示されます。SupplierOnePrivate ワークフローを構成する開始ノード、タスク ノード、分岐ノード、イベント ノードが表示されています。


         

    8. 右ペインの左上にある開始ノードをダブルクリックします。

      [開始のプロパティ] ダイアログ ボックスが表示されます。


       

      このワークフローを開始するには、上の図に示した [開始のプロパティ] ダイアログ ボックスの [条件] フィールドに定義されている式が true になっている必要があります。

    9. [条件] フィールドの右にある [A+B] オプションをダブルクリックします。[Expression Builder] ダイアログ ボックスが表示されます。


       

      指定した式によって、ワークフローが受信した XML メッセージが評価され、CMQPARequest TPName ノードの値が PartnerSupplierOne であるかどうかが識別されます。値が PartnerSupplierOne である場合は、式が true となってワークフローが開始されます。

    10. B2B サンプルの実行を続けたり、SupplierOnePrivate ワークフローの表示で説明する手順を完了する必要がある場合は、サンプル起動ページを開いた状態で、WebLogic Server のサンプル インスタンスは実行したままにしておきます。

      B2B サンプルの実行を続ける必要がない場合は、WebLogic Server のサンプル インスタンスをシャットダウンし、サンプル起動ページを実行しているブラウザを閉じます。WebLogic Server をシャットダウンするには、プラットフォームに合わせて適切な手順を実行します。

    マルチキャスト(ブロードキャスト)メッセージ

    メッセージのマルチキャストまたはブロードキャストは、XOCP ビジネス プロトコルでのみサポートされています。また、メッセージがルーティング プロキシ配信チャネル(ハブ)経由でルーティングされた場合にのみサポートされます。直接のポイント ツー ポイント通信ではサポートされていません。したがって、上記のサンプルでいえば、PartnerBuyer トレーディング パートナから PartnerSupplierOne および PartnerSupplierTwo トレーディング パートナに直接メッセージが送信されるわけではありません。メッセージは、ルーティング プロキシ配信チャネルと ChannelMasterHub トレーディング パートナを経由して送信されます。次の図は、マルチキャスト メッセージがトレーディング パートナ間でルーティングされる様子を示しています。


     

    警告: このサンプルでは、単純化するためにすべてのトレーディング パートナで同じ WebLogic Server インスタンスを使用しています。プロダクション環境では、バイヤおよびサプライヤの各トレーディング パートナは、別々の WebLogic Integration サーバ インスタンスを実行します。

     

    ページの先頭 前 次