10 B2Bの注文の受入れ

この章では、Oracle SOA Suiteで、電子データ交換(EDI)ドキュメント・プロトコルなどのB2B標準に従う注文を受け入れるというビジネス課題に対処する方法について説明します。Oracle B2B、Oracle Managed File Transfer (MFT)、Oracle Service Busなどの主要なSOAコンポジット・アプリケーション・コンポーネントを使用して、この課題に対処する方法の概要を示します。

この章の内容は次のとおりです。

10.1 ビジネス課題

会社Xには、注文処理システムで、いくつかの異なる入力チャネルから送信されたEDI XMLドキュメントの注文を受け入れる要件があります。

10.2 ビジネス・ソリューション

このビジネス課題に対処するために、会社Xは表10-1のコンポーネントを使用するビジネス・ソリューションを設計します。

表10-1 ビジネス・ソリューションを提供するコンポーネント

コンポーネント このコンポーネントがビジネス課題に対処する方法 コンポーネントの説明

Oracle B2B

Oracle B2Bコンソールを使用して、リモート取引パートナからのEDI XML注文を受け入れるドキュメント・フローを構築します。

Oracle B2Bを使用すると、小売業者、サプライヤ、メーカーなどの企業間でドキュメントを安全かつ確実に交換できます。B2B E-Commerceは、成熟したビジネス・ドキュメント、従来のビジネス・プロセス、業界固有のメッセージング・サービスを表しています。B2B E-Commerceには、完全なエンドツーエンドのビジネス・プロセスを管理するアーキテクチャが必要です。Oracle B2Bは、ビジネス・プロセスのプラットフォーム、エンド・ツー・エンドのインスタンス追跡、可視性、監査、プロセス・インテリジェンス、ガバナンス、セキュリティの統合を可能にするアーキテクチャを提供します。

Oracle MFT

Oracle MFTは、Oracle B2Bと統合され、EDI XML注文のOracle B2Bへの送信を埋込みFTPサーバーで行えるようにします。

Oracle MFTの詳細は、表9-1を参照してください。

Oracle Service Bus

Oracle Service BusはOracle B2Bと統合されます。これにより、Oracle Service Busでキューから注文を読み取って、それをEDI XMLフォーマットからProcessOrderコンポジットへの送信用の正規の注文メッセージに変換できます。

Oracle Service Busの詳細は、表3-1を参照してください。

図10-1に、このビジネス・ソリューションの実装方法の概要を示します。

この章の後続の項では、表10-1のコンポーネントを使用してEDI XMLドキュメント注文のビジネス課題に対処する方法について、より詳細に説明します。

10.2.1 Oracle B2Bを使用した取引きパートナおよび取引きパートナ・アグリーメントの作成

注文処理システムでEDI XMLフォーマットの注文の受入れを可能にするというビジネス課題に対処するために、会社Xは、Oracle B2Bを使用します。Oracle B2Bにより、会社Xと、EDI XMLフォーマットで注文を送信する任意の取引パートナ間の取引パートナ・アグリーメントを作成できます。取引パートナ・アグリーメントは、2つの取引パートナ(ホスト取引パートナとリモート取引パートナ)で構成されます。取引パートナ・アグリーメントには、これら2つの取引パートナ(イニシエータとして機能しているパートナと応答者として機能しているパートナ)がビジネス・ドキュメントを交換する際の条件が定義されています。

会社Xは、Oracle B2Bコンソールで次の管理タスクを実行します。

  • キューイング配信方法をJMSに設定します。

  • EDI_XML_850という名前のドキュメント・タイプを作成します。

  • インバウンドEDI XML 850ファイル用のX12_4010_850_XML_Defという名前のドキュメント定義を作成し、ルート・ノード名を作成します。ドキュメント定義は、実行時に処理されるトランザクション構造を定義し、主要な識別構成が含まれます。B2B Gatewayがこのルート・ノードでXMLファイルを検出する場合は、このドキュメント定義を照合することによって、取引パートナ・アグリーメントが導き出されます。

  • WSDLファイルをインポートします。

  • Webサービス・リスニング・チャネルを作成します。

会社Xは、取引パートナからの新規XMLドキュメント・トランザクションを受け入れるために、次の取引パートナと取引パートナ・アグリーメントを作成します。取引パートナ・アグリーメントは、取引に関係するドキュメントとパートナ、処理の方向、プロトコルの種類を指定する点で契約書と類似しており、デジタル署名、メッセージの暗号化、注文確認の必要性の有無などを指定するセキュリティ・パラメータが含まれます。

  • Partner1という取引パートナを作成し、以前に作成したX12_4010_850_XML_Defドキュメント定義を選択します。これにより、Partner1が、このドキュメント定義を使用してホスト取引パートナ会社X(Oracle B2BコンソールではMyCompanyと呼ばれる)と取引できることがOracle B2Bに通知されます。

  • Partner1をホスト取引パートナ(会社X)に関連付ける取引パートナ・アグリーメントを作成します。アグリーメントは、ドキュメント、メッセージの方向、配信チャネルおよびその他の設定を指定します。

    図10-2では、以前に作成したドキュメント定義と、その処理方向(リモートPartner1がホスト会社X(Oracle B2BコンソールではMyCompanyと呼ばれる)にインバウンドEDI XML注文を送信している)が選択されています。

    図10-2 ドキュメント定義と方向の選択

    図10-2の説明が続きます
    「図10-2 ドキュメント定義と方向の選択」の説明

デプロイメント後、会社Xは、Webサービス・リスニング・チャネルにXMLペイロードを提出することによって構成をテストします。Oracle B2Bコンソールの「レポート」タブに、詳細が表示されます(図10-3を参照)。

図10-3 「レポート」タブ

図10-3の説明が続きます
「図10-3 「レポート」タブ」の説明

「詳細」列のリンクに移動すると、メッセージがJMSキュー「jms/b2b/B2B_IN_QUEUE」に書き込まれたことが示されます。図10-4に詳細を示します。

10.2.2 Oracle MFTターゲットとOracle B2Bとの統合

会社Xには、FTPサーバーによって送信されたEDI XML注文を受け入れる要件もあります。会社Xは、「ファイル転送の管理」で説明した、Oracle MFTを使用するようにOracle B2Bを構成します。これにより、Partner1が、次のチャネルを介してEDI XML注文を会社Xに送信できるようになります。

  • Webサービス(前述のとおり)

  • Oracle MFTを使用したFTPサーバー

会社Xは、Oracle Managed File Transferコンソールの「管理」タブでOracle B2Bサーバーに接続して、最初にOracle MFTを構成します。図10-5に詳細を示します。

図10-5 Oracle B2BサーバーへのOracle MFTの構成

図10-5の説明が続きます
「図10-5 Oracle B2BサーバーへのOracle MFTの構成」の説明

会社Xは、B2BタイプのB2B_Ordersという名前のターゲットを作成します。ターゲットは、ファイルの宛先を定義します。「管理」タブで作成したドメインの別名が選択されます。図10-6に詳細を示します。

図10-6 B2B_Ordersターゲット

図10-6の説明が続きます
「図10-6 B2B_Ordersターゲット」の説明

転送は、1つのソースを1つ以上のターゲットに関連付けます。会社Xは、Orders2B2BTransferという名前の新規転送を作成し、次のように構成します。

  • 「転送、ソースおよびターゲットの作成」で作成した既存のソース「OrdersFTPEmbeddedSource」を選択します。ソースはファイルの転送元を定義します。OrdersFTPEmbeddedSourceは、FTP埋込みサーバーを使用して、/ordersディレクトリのファイルを転送するように構成されます。

  • B2B_Ordersターゲットを選択します。

  • フィルタリング・パターンとして「EDI_XML_850」を入力します。

  • 配信方法として「インライン」を選択します。

  • 「最大インライン・サイズ(バイト)」フィールドに「1000000」と入力します。

図10-7に詳細を示します。

図10-7 転送、ソースおよびターゲットが定義されたOracle MFT転送

図10-7の説明が続きます
「図10-7 転送、ソースおよびターゲットが定義されたOracle MFT転送」の説明

/ordersディレクトリのEDI_XML_850パターンに従うEDI XMLファイルのデプロイメントと配置の後は、Oracle B2Bコンソールの「レポート」ページに、メッセージが配信されたことが示されます。

10.2.3 Oracle Service BusとOracle B2Bとの統合

Oracle B2Bと統合するために、会社Xは、Oracle JDeveloperB2B_SB_ReceiveOrderという名前のOracle Service Busプロジェクトを作成します。会社Xの全体的な目的は、Oracle Service Busプロジェクトがキューからメッセージを読み取り、それを「注文処理システムの作成」で作成したProcessOrderコンポジットへの提出用に、EDI XMLから正規の注文メッセージに変換することです。

Oracle Service Busプロジェクトは、「Oracle Service BusでのSOAコンポジット・アプリケーションの登録」で作成した既存のOracle Service Busアプリケーション内で作成されます。このプロジェクトは、JMSキューからOracle B2Bメッセージを取得し、それを正規のXMLフォーマットに変換した後、ファイルに書き込みます。図10-8に詳細を示します。実装後、会社Xは、「Oracle Service BusでのSOAコンポジット・アプリケーションの登録」で作成したValidatePSプロセスの注文プロキシ・サービスをコールするようにOracle Service Busプロセスを拡張します。

図10-8 Oracle Service BusアプリケーションのB2B_SB_ReceiveOrderプロジェクト

図10-8の説明が続きます
「図10-8 Oracle Service BusアプリケーションのB2B_SB_ReceiveOrderプロジェクト」の説明

プロジェクトのコンポーネントは、次のタスクを実行します。

  • JMSReceiveOrder_ProxyService.proxy: B2B_IN_QUEUE.JMSキューからOracle B2Bメッセージ(注文)を取得します。JMS URLポートは、Oracle B2Bを実行しているSOAサーバーを指します。

  • MapEDI850ToCanonicalOrder.pipeline: Oracle B2Bメッセージを正規の注文XMLフォーマットに変換します。

  • WriteCanonicalToFile.bix: 正規の注文XMLフォーマットを/tmp/b2b/osbfilesディレクトリ内のファイルに書き込みます。

デプロイメント後、注文は、WebサービスおよびOracle MFTチャネルから取得されて変換された後、ディレクトリに書き込まれます。Oracle Enterprise Manager Fusion Middleware Control「メッセージ・レポート」セクションに、メッセージがOracle Service Busで処理されたことが示されます。図10-9に詳細を示します。

図10-9 「メッセージ・レポート」の詳細

図10-9の説明が続きます
「図10-9 「メッセージ・レポート」の詳細」の説明

10.2.4 ProcessOrderコンポジットとOracle B2Bとの統合

会社Xは、Oracle B2Bを「注文処理システムの作成」で作成したProcessOrderコンポジットと統合します。

会社Xは、次のタスクとテストを実行することで、Oracle B2BがProcessOrderコンポジットを起動して、注文の受信と処理を行っていることを確認します。

  • MapEDI850ToCanonicalOrderパイプラインを編集して、ルート・ノード宛先ビジネス・サービスを、「ビジネス・サービスとしてのProcessOrderコンポジットの登録」で作成したProcessBSビジネス・サービスに変更します。

  • WebサービスおよびOracle MFTチャネルを再デプロイしてテストします。

  • Oracle B2Bコンソールの「レポート」タブと、Oracle Enterprise Manager Fusion Middleware ControlOracle Service Busの「メッセージ・レポート」ページで注文を追跡します。

  • Oracle Enterprise Manager Fusion Middleware ControlProcessOrderコンポジット・ビジネス・フロー・インスタンスをチェックして、注文が正常に受信されて処理されたことを確認します。

10.3 関連ドキュメント

表10-2では、この章で説明したコンポーネントと機能をより詳しく説明するドキュメントの参照先を示します。

表10-2 関連ドキュメント

参照内容 参照先

Oracle B2Bの理解

『Oracle B2Bの使用』Oracle B2Bの概要に関する項

Oracle B2Bでの取引パートナおよび取引パートナ・アグリーメントの作成

『Oracle B2Bの使用』取引パートナの構成に関する項

『Oracle B2Bの使用』取引パートナ・アグリーメントの作成とデプロイに関する項

Oracle MFT転送、ターゲットおよびソースの作成

『Oracle Managed File Transferの使用』アーティファクト(転送、ソースおよびターゲット)の設計に関する項

Oracle Service Busでのパイプラインの追加

『Oracle Service Busでのサービスの開発』Oracle Service Busパイプラインの操作に関する項

Oracle Service Busでのプロキシの追加

『Oracle Service Busでのサービスの開発』プロキシ・サービスの作成と構成に関する項

Oracle Service Busでのデータの変換

『Oracle Service Busでのサービスの開発』データの変換に関する項