この章では、次の例について説明します。
この章に記載されている使用例は、次の前提条件を必要とします。
前提条件
インストールおよび構成の要件は、次のとおりです。
OracleAS Adapter for mySAP ERPがOracle Application Serverにインストールされていること。
MySAP ERPが、インバウンドおよびアウトバウンド処理用に構成されていること。 詳細は、付録A「インバウンドおよびアウトバウンド処理のためのmySAP ERPの構成」を参照してください。
OracleAS Technologyアダプタがデプロイされ、適切に構成されていること。
この章の各例は、MySAP ERPとのサービスおよびイベントの統合を具体的に示すために必要なすべての構成手順を表しています。 この資料を使用するには、次の内容を理解している必要があります。
サービスとイベント用にOracleAS Adapter for MySAP ERPを構成する方法。 詳細は、第2章「OracleAS Adapter for mySAP ERPの構成」を参照してください。
Oracle JDeveloperでの新規アプリケーション・サーバーと統合サーバー接続の構成方法。 詳細は、第4章「Oracle BPEL Process Managerとの統合」を参照してください。
ESB統合の概要
ESBには、包括的なアプリケーション統合フレームワークが用意されています。 OracleAS Adapter for mySAP ERPをESBと併用すると、企業ソフトウェアとのシームレスな統合が可能で、カスタム・コードの記述が不要になります。 カスタム・コーディング・ソリューションではなく機能モデリングを使用すると、ソフトウェアの再利用が可能になり、ソフトウェア・ライフサイクル全体で発生する複雑さ、および管理上の課題が低減されます。 この統合モデルは、上位レベルの統合ロジックと下位レベルのプラットフォーム・サービスの2つのコンポーネントで構成されています。
OracleAS ESBとのアダプタの統合には、2段階のプロセスがあります。
設計時: 第2章「OracleAS Adapter for mySAP ERPの構成」の説明に従って、Application Explorerで、OracleAS Adapter for mySAP ERPをサービスとイベント用に構成します。 統合ロジックは、ESBでモデル化されます。
実行時: 基礎となるプラットフォームでは、このメタデータを実行時の指示として処理し、関連する複数アプリケーション間での通信を可能にします。
ネームスペースの要件
XMLネームスペースの目的は、グローバル環境でXMLボキャブラリ(要素名と属性名が定義される部分)をデプロイできるようにし、ボキャブラリを組み合せる際に指定のドキュメント内で名前が競合するリスクを低くすることです。 厳密なスキーマ検証には、修飾されたネームスペースが使用されます。 この仕様に準拠しているドキュメントでは、要素名と属性名が修飾された名前で表示されます。 構文的には、接頭辞付きの名前または接頭辞のない名前になります。 接頭辞をネームスペース名に結合し、接頭辞のない要素名に適用するデフォルト・ネームスペースを結合するために、属性ベースの宣言構文が用意されています。 これらの宣言は、記載される要素ごとに範囲が設定されるため、異なる結合をドキュメントの様々な部分に適用できます。 この仕様に準拠したプロセッサは、これらの宣言と接頭辞を認識して動作する必要があります。
10.1.3.1.0 SOAリリースでは、ESB統合に厳密なネームスペース検証を実施することをお薦めします。 その結果、Application Explorerでは、ネームスペースの後部に修飾済のマークが付いたWebサービスが生成されます。 これは、ESBによるこのサービスのテスト・フェーズまたは使用フェーズでは、使用されるリクエストXML文書が、スキーマおよびWSDL文書に準拠している必要があることを意味します。 繰り返しますが、重要なことは、ネームスペースが修飾されていることです。 このポイントをさらに理解するために、次の例で違いを示します。
未修飾のネームスペースに基づいたESB用入力XML
<?xml version="1.0" encoding="UTF-8"?> <CompanyCode.GetDetail> <COMPANYCODEID>1000 </COMPANYCODEID> </CompanyCode.GetDetail>
修飾されたネームスペースに基づいたESB用入力XML
<?xml version="1.0" encoding="UTF-8"?> <bapi:CompanyCode.GetDetail xmlns:bapi="urn:sap-com:document:sap:business" CompanyCodeId="1000"> </bapi:CompanyCode.GetDetail>
注意: 修飾されたネームスペースを想定しているWSDL文書に対して、未修飾の入力を渡すと、ESBによって、入力XMLを処理できないことを示す例外がスローされます。
次の例では、Oracle JDeveloperでESBプロジェクトを使用し、MySAP ERPシステムに対してESBアウトバウンド・プロセスを構成する方法を説明します。
前提条件
先に進む前に、次の手順を使用して、アダプタのアウトバウンドWSDLファイルを作成する必要があります。
Application Explorerを使用してターゲットを作成します。
ターゲットに接続します。
WSDLファイルを作成します。
Oracle Application Serverを再起動します。
アウトバウンドESBプロジェクトの作成およびアウトバウンドWSDLファイルの割当て
左上ペインの上部にある「アプリケーション・ナビゲータ」タブをクリックします。
作成した「アプリケーション」ノードを右クリックし、「新規プロジェクト」を選択します。
「新規ギャラリ」ウィンドウが表示されます。
「項目」リストから、「ESBプロジェクト」を選択し、「OK」をクリックします。
「ESBプロジェクトの作成」ダイアログ・ボックスが表示されます。
次の手順を実行します。
ESBプロジェクトの名前を指定します。
「ディレクトリ名」フィールドおよび「ダイアグラム名」フィールドが自動的に更新されます。
「OK」をクリックします。
左上ペインの上部に、ESBプロジェクトが追加されます。
中央のペインでESBプロジェクトを右クリックし、「ESBサービスの作成」、「カスタム・アダプタ」の順に選択します。
「アダプタ・サービスの作成」ダイアログ・ボックスが表示されます。
アダプタ・サービスの名前を入力し、「サービス・エクスプローラ」アイコン(「WSDLファイル」フィールドの上にある左から2番目のアイコン)をクリックします。
「サービス・エクスプローラ」ダイアログ・ボックスが表示されます。
「アダプタ・サービス」の下にある新規接続と、それに続く「アダプタ」および「アプリケーション」を開きます。
Application Explorerを使用して作成したWSDLファイルが、「サービス・エクスプローラ」ダイアログ・ボックスのWSDLツリーにリストされます。 WSDLツリーは、WSDLサーブレットによって生成され、BPELサーバー・インストールの一部として自動的にデプロイされます。
Application Explorerを使用して作成したアウトバウンドWSDLファイルを選択し、「OK」をクリックします。
「アダプタ・サービスの作成」ダイアログ・ボックスの「WSDLファイル」フィールドに、選択したWSDLファイルの名前と位置が表示されます。
「OK」をクリックします。
ビジュアル・エディタに、新しいESBプロジェクトが表示されます。
ファイル・アダプタを使用したReadプロセス操作の作成
中央のペインでESBプロジェクトを右クリックし、「アダプタ・サービスの作成」、「ファイル・アダプタ」の順に選択します。
「ファイル・アダプタ・サービスの作成」ダイアログ・ボックスが表示されます。
ファイル・アダプタの名前を入力し、「WSDLファイル」フィールドの横にある「アダプタ・サービスのWSDLの構成」アイコンをクリックします。
「アダプタ構成ウィザード - ようこそ」ウィンドウが表示されます。
「次へ」をクリックします。
「アダプタ構成ウィザード - ステップ1/6: サービス名」ウィンドウが表示されます。
「次へ」をクリックします。
「アダプタ構成ウィザード - ステップ2/6: 操作」ウィンドウが表示されます。
操作タイプとして「Read File」をクリックし、「次へ」をクリックします。
「アダプタ構成ウィザード - ステップ3/6: ファイル・ディレクトリ」ウィンドウが表示されます。
着信XMLファイルを配置する入力ディレクトリのパスを入力し、「次へ」をクリックします。
「アダプタ構成ウィザード - ステップ4/6: ファイルのフィルタ処理」ウィンドウが表示されます。
入力ファイルの拡張子(*.xmlなど)を入力し、「次へ」をクリックします。
「アダプタ構成ウィザード - ステップ5/6: ファイル・ポーリング」ウィンドウが表示されます。
「ポーリング頻度」を「秒」に変更し、「次へ」をクリックします。
「アダプタ構成ウィザード - ステップ6/6: メッセージ」ウィンドウが表示されます。
「参照」をクリックして、WSDLを選択します。
「タイプの選択」ウィンドウが表示されます。
ダイアログ・ボックスの右上隅にある「WSDLファイルのインポート」アイコンをクリックします。
「WSDLファイルのインポート」ダイアログ・ボックスが表示されます。
WSDLファイルを選択し、「OK」をクリックします。
「インポートしたWSDLファイル」フォルダが追加されます。
「インポートしたWSDLファイル」フォルダを開いて、インライン・スキーマ(PS8など)を選択し、「OK」をクリックします。
「アダプタ構成ウィザード - ステップ6/6: メッセージ」ウィンドウに戻ります。
「次へ」をクリックします。
「アダプタ構成ウィザード - 終了」ウィンドウが表示されます。
「終了」をクリックします。
「ファイル・アダプタ・サービスの作成」ダイアログ・ボックスに戻ります。
「OK」をクリックします。
ルーティング・サービスとともに、Read操作がESBアウトバウンド・プロジェクト・ビューに追加されます。
Read操作に対するルーティング・サービスの指定
「ルーティング・サービス」をダブルクリックします。
「ルーティング・サービス」ウィンドウが表示されます。
「ルーティング・ルール」を開きます。
緑色のプラス記号アイコンをクリックします。このアイコンは、「新規ルーティング・ルールを作成します。」アイコンへのオプションを表しています。
「ターゲット・サービス操作の参照」ウィンドウが表示されます。
「プロジェクトのサービス」、デフォルトのシステム、アダプタ・サービス・ノード(mySAP_ESB_Outboundなど)の順に開いて、サービス名(GetDetailなど)を選択します。
「OK」をクリックします。
「ルーティング・ルール」ウィンドウに戻ります。
「<<トランスフォーメーション・マップ>>」フィールドの横にある(既存のマッパー・ファイルを選択するか、新規マッパー・ファイルを作成します。)アイコンをクリックします。
「リクエスト・トランスフォーメーション・マップ」ダイアログ・ボックスが表示されます。
「新規マッパー・ファイルの作成」オプションを選択し、ファイル名を指定して「OK」をクリックします。
次のマッピング・ウィンドウが表示されます。
WSDLファイルを選択し、Write操作にマップします。
WSDLファイルをマップすると、「自動マップ・プリファレンス」ダイアログ・ボックスが表示されます。
「OK」をクリックします。
次のウィンドウに示すように、マッピングが完了します。
左ペインのESBアウトバウンド・プロジェクト・ファイル(ESB_Outbound.esbなど)をダブルクリックします。
Read操作に対するルーティング・サービスが作成されていることに注意してください。
ファイル・アダプタを使用したWriteプロセス操作の作成
中央のペインでESBプロジェクトを右クリックし、「アダプタ・サービスの作成」、「ファイル・アダプタ」の順に選択します。
「ファイル・アダプタ・サービスの作成」ダイアログ・ボックスが表示されます。
ファイル・アダプタの名前を入力し、「WSDLファイル」フィールドの横にある「アダプタ・サービスのWSDLの構成」アイコンをクリックします。
「アダプタ構成ウィザード - ようこそ」ウィンドウが表示されます。
「次へ」をクリックします。
「アダプタ構成ウィザード - ステップ1/4: サービス名」ウィンドウが表示されます。
「次へ」をクリックします。
「アダプタ構成ウィザード - ステップ2/4: 操作」ウィンドウ」が表示されます。
操作タイプとして「Write File」をクリックし、「次へ」をクリックします。
「アダプタ構成ウィザード - ステップ3/4: ファイル構成」ウィンドウが表示されます。
出力ディレクトリのパスと出力ファイル名を入力し、「次へ」をクリックします。
「アダプタ構成ウィザード - ステップ4/4: メッセージ」ウィンドウが表示されます。
「参照」をクリックして、WSDLを選択します。
「タイプの選択」ウィンドウが表示されます。
「プロジェクトのWSDLファイル」フォルダを開いて、インライン・スキーマを選択し、「OK」をクリックします。
「アダプタ構成ウィザード - ステップ4/4: メッセージ」ウィンドウに戻ります。
「次へ」をクリックします。
「アダプタ構成ウィザード - 終了」ウィンドウが表示されます。
「終了」をクリックします。
「ファイル・アダプタ・サービスの作成」ダイアログ・ボックスに戻ります。
「OK」をクリックします。
Write操作が、ESBアウトバウンド・プロジェクト・ビューに追加されます。
Write操作に対するルーティング・サービスの指定
「ルーティング・サービス」をダブルクリックします。
「ルーティング・サービス」ウィンドウが表示されます。
「ルーティング・ルール」を開きます。
「<<ターゲット操作>>」フィールドの横にある(ターゲット・サービス操作を参照します。)アイコンをクリックします。
「ターゲット・サービス操作の参照」ウィンドウが表示されます。
「プロジェクトのサービス」、デフォルトのシステム、アダプタ・サービス・ノード(mySAP_ESB_Outboundなど)の順に開いて、サービス名(Writeなど)を選択します。
「OK」をクリックします。
「ルーティング・ルール」ウィンドウに戻ります。
「<<トランスフォーメーション・マップ>>」フィールドの横にある(既存のマッパー・ファイルを選択するか、新規マッパー・ファイルを作成します。)アイコンをクリックします。
「リプライ・トランスフォーメーション・マップ」ダイアログ・ボックスが表示されます。
「新規マッパー・ファイルの作成」オプションを選択し、ファイル名を指定して「OK」をクリックします。
次のマッピング・ウィンドウが表示されます。
WSDLファイルを選択し、Write操作にマップします。
WSDLファイルをマップすると、「自動マップ・プリファレンス」ダイアログ・ボックスが表示されます。
「OK」をクリックします。
次のウィンドウに示すように、マッピングが完了します。
左ペインのESBアウトバウンド・プロジェクト・ファイル(ESB_Outbound.esbなど)をダブルクリックします。
Write操作に対するルーティング・サービスが作成されていることに注意してください。
プロジェクトのデプロイ
作成したプロジェクト(ESB_Outboundなど)を右クリックし、「ESBに登録」、サーバー接続(ServerConnection1など)の順に選択します。
正常にデプロイされた後に、サービスの登録が成功したことを通知するメッセージが表示されます。
ESB Controlコンソールにログインし、プロジェクトが正常にデプロイされたことを確認します。
デフォルトのシステム・ノード下部に、デプロイされたプロセスがリストされます。
Read操作の作成時に指定したフォルダに、XMLファイルを配置します。
Write操作の作成時に指定した出力フォルダに、レスポンスが着信していることを確認します。また、ESB Controlコンソールで対応するインスタンスも確認します。
レスポンスが出力フォルダに送信されていない場合は、ESB Controlコンソールで対応するエラーのインスタンスとログを確認します。
次の例では、Oracle JDeveloperでESBプロジェクトを使用し、MySAP ERPシステムに対してESBインバウンド・プロセスを構成する方法を説明します。
前提条件
先に進む前に、次の手順を使用して、アダプタのインバウンドWSDLファイルを作成する必要があります。
Application Explorerを使用してターゲットを作成します。
チャネルを作成します。
ポートなしオプションを使用してWSDLファイルを作成します。
Oracle Application Serverを再起動します。
インバウンドESBプロジェクトの作成およびインバウンドWSDLファイルの割当て
左上ペインの上部にある「アプリケーション・ナビゲータ」タブをクリックします。
作成した「アプリケーション」ノードを右クリックし、「新規プロジェクト」を選択します。
「新規ギャラリ」ウィンドウが表示されます。
「項目」リストから、「ESBプロジェクト」を選択し、「OK」をクリックします。
「ESBプロジェクトの作成」ダイアログ・ボックスが表示されます。
次の手順を実行します。
ESBプロジェクトの名前を指定します。
「ディレクトリ名」フィールドおよび「ダイアグラム名」フィールドが自動的に更新されます。
「OK」をクリックします。
左上ペインの上部に、ESBプロジェクトが追加されます。
中央のペインでESBプロジェクトを右クリックし、「ESBサービスの作成」、「カスタム・アダプタ」の順に選択します。
「アダプタ・サービスの作成」ダイアログ・ボックスが表示されます。
アダプタ・サービスの名前を入力し、「サービス・エクスプローラ」アイコン(「WSDLファイル」フィールドの上にある左から2番目のアイコン)をクリックします。
「サービス・エクスプローラ」ダイアログ・ボックスが表示されます。
「アダプタ・サービス」の下にある新規接続と、それに続く「アダプタ」および「アプリケーション」を開きます。
Application Explorerを使用して作成したWSDLファイルが、「サービス・エクスプローラ」ダイアログ・ボックスのWSDLツリーにリストされます。 WSDLツリーは、WSDLサーブレットによって生成され、BPELサーバー・インストールの一部として自動的にデプロイされます。
Application Explorerを使用して作成したインバウンドWSDLファイルを選択し、「OK」をクリックします。
「アダプタ・サービスの作成」ダイアログ・ボックスの「WSDLファイル」フィールドに、選択したWSDLファイルの名前と位置が表示されます。
「OK」をクリックします。
ビジュアル・エディタに、新しいESBプロジェクトが表示されます。
ファイル・アダプタを使用したWriteプロセス操作の作成
中央のペインでESBプロジェクトを右クリックし、「アダプタ・サービスの作成」、「ファイル・アダプタ」の順に選択します。
「ファイル・アダプタ・サービスの作成」ダイアログ・ボックスが表示されます。
ファイル・アダプタの名前を入力し、「WSDLファイル」フィールドの横にある「アダプタ・サービスのWSDLの構成」アイコンをクリックします。
「アダプタ構成ウィザード - ようこそ」ウィンドウが表示されます。
「次へ」をクリックします。
「アダプタ構成ウィザード - ステップ1/4: サービス名」ウィンドウが表示されます。
「次へ」をクリックします。
「アダプタ構成ウィザード - ステップ2/4: 操作」ウィンドウ」が表示されます。
操作タイプとして「Write File」をクリックし、「次へ」をクリックします。
「アダプタ構成ウィザード - ステップ3/4: ファイル構成」ウィンドウが表示されます。
出力ディレクトリのパスと出力ファイル名を入力し、「次へ」をクリックします。
「アダプタ構成ウィザード - ステップ4/4: メッセージ」ウィンドウが表示されます。
「参照」をクリックして、WSDLを選択します。
「タイプの選択」ウィンドウが表示されます。
ダイアログ・ボックスの右上隅にある「WSDLファイルのインポート」アイコンをクリックします。
「WSDLファイルのインポート」ダイアログ・ボックスが表示されます。
WSDLファイルを選択し、「OK」をクリックします。
「インポートしたWSDLファイル」フォルダが追加されます。
「インポートしたWSDLファイル」フォルダを開いて、インライン・スキーマ(MATMAS01など)を選択し、「OK」をクリックします。
「アダプタ構成ウィザード - ステップ4/4: メッセージ」ウィンドウに戻ります。
「次へ」をクリックします。
「アダプタ構成ウィザード - 終了」ウィンドウが表示されます。
「終了」をクリックします。
「ファイル・アダプタ・サービスの作成」ダイアログ・ボックスに戻ります。
「OK」をクリックします。
ルーティング・サービスとともに、Write操作がESBインバウンド・プロジェクト・ビューに追加されます。
Write操作に対するルーティング・サービスの指定
「ルーティング・サービス」をダブルクリックします。
「ルーティング・サービス」ウィンドウが表示されます。
「ルーティング・ルール」を開きます。
緑色のプラス記号アイコンをクリックします。このアイコンは、「新規ルーティング・ルールを作成します。」アイコンへのオプションを表しています。
「ターゲット・サービス操作の参照」ウィンドウが表示されます。
「プロジェクトのサービス」、デフォルトのシステム、アダプタ・サービス・ノード(mySAP_Matmas_writeなど)の順に開いて、サービス名(Writeなど)を選択します。
「OK」をクリックします。
「ルーティング・ルール」ウィンドウに戻ります。
「<<トランスフォーメーション・マップ>>」フィールドの横にある(既存のマッパー・ファイルを選択するか、新規マッパー・ファイルを作成します。)アイコンをクリックします。
「リクエスト・トランスフォーメーション・マップ」ダイアログ・ボックスが表示されます。
「新規マッパー・ファイルの作成」オプションを選択し、ファイル名を指定して「OK」をクリックします。
次のマッピング・ウィンドウが表示されます。
WSDLファイルを選択し、Write操作にマップします。
WSDLファイルをマップすると、「自動マップ・プリファレンス」ダイアログ・ボックスが表示されます。
「OK」をクリックします。
次のウィンドウに示すように、マッピングが完了します。
左ペインのESBインバウンド・プロジェクト・ファイル(ESB_Inbound.esbなど)をダブルクリックします。
中央のペインでは、Write操作に対するルーティング・サービスが作成されていることに注意してください。
プロジェクトのデプロイ
作成したプロジェクト(ESB_Outboundなど)を右クリックし、「ESBに登録」、サーバー接続(ServerConnection1など)の順に選択します。
正常にデプロイされた後に、サービスの登録が成功したことを通知するメッセージが表示されます。
ESB Controlコンソールにログインし、プロジェクトが正常にデプロイされたことを確認します。
デフォルトのシステム・ノード下部に、デプロイされたプロセスがリストされます。
イベントを起動します。
Write操作の作成時に指定した出力フォルダに、レスポンスが着信していることを確認します。
レスポンスが出力フォルダに送信されていない場合は、ESB Controlコンソールで対応するエラーのインスタンスとログを確認します。