この章では、次の例について説明します。
この章に記載されている使用例は、次の前提条件を必要とします。
前提条件
インストールおよび構成の要件は、次のとおりです。
OracleAS Adapter for MySAP ERPがOracle Application Serverにデプロイされていること。
mySAP ERPがアウトバウンド処理用に構成されていること。 詳細は、付録A「インバウンドおよびアウトバウンド処理のためのmySAP ERPの構成」を参照してください。
Oracle BPEL PMサーバーが適切に構成されて実行されていること。
Oracle JDeveloperが正常にインストールされていること。
関連項目: 『Oracle Application Server Adapter インストレーション・ガイド』 |
この章の各例は、MySAP ERPとのサービスおよびイベントの統合を具体的に示すために必要なすべての構成手順を表しています。 この資料を使用するには、次の内容を理解している必要があります。
J2CA構成の作成方法(BPEL PMはJ2CAコネクタのみと互換性があるため)。 詳細は、「J2CA用の構成の作成」を参照してください。
Application Explorerを使用して、サービスとイベント用にOracleAS Adapter for mySAP ERPを構成する方法。 詳細は、第2章「OracleAS Adapter for mySAP ERPの構成」を参照してください。
関連項目: 『Oracle BPEL Process Manager 開発者ガイド』 |
Oracle BPEL Process Managerとのアダプタの統合には、2段階のプロセスがあります。
設計時: 第2章「OracleAS Adapter for mySAP ERPの構成」の説明に従って、Application Explorerで、OracleAS Adapter for MySAP ERPをサービスとイベント用に構成します。 統合ロジックは、JDeveloperを使用してモデル化されます。
実行時: JDeveloperで設計したBPELプロセスをデプロイした後は、BPELコンソールで、サービス構成をテストしたり、新規に受信したイベントを参照できます。
この例では、MySAP ERPサービスの統合を示します。 設計時に続いて実行時の構成について説明します。
MySAP ERPサービスの統合プロセスを設計する前に、Application Explorerを使用して、それぞれのWSDLファイルを生成する必要があります。
リクエスト/レスポンス・サービス用のWSDLの生成
次の手順を実行します。
Application Explorerを開始し、定義されているmySAP ERPターゲット(J2CA構成)に接続します。
ターゲットの定義およびmySAP ERPへの接続の詳細は、「mySAP ERPへのターゲットの定義」を参照してください。
接続先のmySAP ERPターゲットを開きます。
「リモート関数モジュール」、「Financial Accounting」、「0002 -- Company Code Business Object」、「BAPI_COMPANYCODE_GETDETAIL」の順に開きます。
「BAPI_COMPANYCODE_GETDETAIL」ノードを右クリックします。
次のメニューが表示されます。
「アウトバウンドJCAサービスの作成(リクエスト/レスポンス)」をクリックします。
「WSDLのエクスポート」ダイアログ・ボックスが表示されます。
「OK」をクリックします。
JDeveloperでBPELプロセスを設計できるようになりました。
JDeveloperでのBPEL PMサーバー接続の作成
アウトバウンドBPELプロセスを設計する前に、Oracle JDeveloperでアプリケーション・サーバーと統合サーバーの接続を新規に構成する必要があります。 詳細は、第4章「Oracle BPEL Process Managerとの統合」を参照してください。
同期BPELプロセス用のBPELプロジェクトの作成
同期BPELプロセス用のBPELプロジェクトを作成する手順は、次のとおりです。
「アプリケーション」ノードを右クリックし、「新規プロジェクト」を選択します。
「新規ギャラリ」ウィンドウに、使用可能な項目のリストが表示されます。
「項目」リストから、「BPELプロセス・プロジェクト」を選択し、「OK」をクリックします。
「BPELプロジェクト作成ウィザード - プロジェクトの設定」ダイアログ・ボックスが表示されます。
次の手順を実行します。
BPELプロセスの名前(SAP_GetCCDetailなど)を指定します。
「ネームスペース」フィールドが自動的に更新されます。
「テンプレート」リストから「同期BPELプロセス」を選択します。
「次へ」をクリックします。
「BPELプロジェクト作成ウィザード - 入力/出力要素」ダイアログ・ボックスが表示されます。
BPELプロジェクト作成ウィザードによって作成された入力/出力スキーマ要素を確認し、「終了」をクリックします。
BAPI_COMPANYCODE_GETDETAIL用のBPELプロセスの設計
右側の「サービス」ペインから、PartnerLinkをビジュアル・エディタにドラッグ・アンド・ドロップします。
「パートナ・リンクの作成」ダイアログ・ボックスが表示されます。
「サービス・エクスプローラ」アイコン(「WSDLファイル」フィールドの上にある左から2番目のアイコン)をクリックします。
「サービス・エクスプローラ」ダイアログ・ボックスが表示されます。
「アダプタ・サービス」の下にある新規接続と、それに続く「アダプタ」および「アプリケーション」を開きます。
Application Explorerを使用して作成したWSDLファイルが、「サービス・エクスプローラ」ダイアログ・ボックスのWSDLツリーにリストされます。 WSDLツリーは、WSDLサーブレットによって生成され、BPELサーバー・インストールの一部として自動的にデプロイされます。
「BAPI_COMPANYCODE_GETDETAIL_invoke.wsdl」を選択し、「OK」をクリックします。
「パートナ・リンクの作成」ダイアログ・ボックスの「WSDLファイル」フィールドに、選択したWSDLファイルの名前と位置が表示されます。 「パートナ・リンク・タイプ」フィールドには、WSDLファイルに定義されているPartnerLinkを指定します。
次の手順を実行します。
「マイ・ロール」フィールドは未指定のままにします。 PartnerLinkはBPELプロセスから同期して起動されるため、PartnerLinkのロールは存在しません。
「パートナ・ロール」リストから、デフォルト値「GetDetailRole」を選択します。 これはBPELプロセスのロールです。
「OK」をクリックします。
「ファイル」メニューから「保存」を選択します。
右側の「プロセス・アクティビティ」ペインからビジュアル・エディタにInvokeアクティビティをドラッグし、Receiveアクティビティ(receiveInput
)とReplyアクティビティ(replyOutput
)の間に配置します。
ダイアグラム表示にInvokeプロセス・アクティビティが表示されます。
Invokeアクティビティと新規に作成したPartnerLinkの間の接続を開きます。
次の手順を実行します。
「名前」フィールドに、Get_CCDetailと入力します。
「入力変数」フィールドの1番右のアイコンをクリックし、表示された「変数の作成」ウィンドウで「OK」をクリックします。
前述の手順を繰り返し、出力変数のデフォルト値を作成します。
「OK」をクリックします。
Assignプロセス・アクティビティをドラッグし、receiveInput
とSAP_GetCCDetail
の間にドロップします。
次の図に、JDeveloperビジュアル・エディタに配置された新しいAssignアクティビティを示します。
Assignアクティビティ・アイコンをダブルクリックします。
「コピー操作」タブで、「作成」をクリックして「コピー操作」を選択します。
「From」ペインで、「変数」、「inputVariable」を順に開き、「ペイロード」を強調表示します。
「To」ペインで、「変数」、「Invoke_1_GetDetail_InputVariable」を順に開き、「input_GetDetail」を強調表示します。
「コピー操作の作成」ダイアログ・ボックスの表示は、次のようになります。
「コピー操作の作成」ダイアログ・ボックスおよび「Assign」ダイアログ・ボックスを閉じるには、「OK」をクリックします。
右側の「プロセス・アクティビティ」ペインからビジュアル・エディタにAssignアクティビティをドラッグし、Invokeアクティビティ(SAP_GetCCDetail
)とReplyアクティビティ(replyOutput
)の間に配置します。
Assignアクティビティ・アイコンをダブルクリックし、「作成」をクリックします。
「Invoke_1_GetDetail_OutputVariable」、「output_GetDetail」を「outputVariable」、「payload」にマッピングします。
次のようにすべての変数がマッピングされていることを確認します。
「OK」をクリックした後、さらに「OK」をクリックします。
「ファイル」メニューから「保存」を選択します。
これで、このBPELプロセスの設計は完成しました。
BAPI_COMPANYCODE_GETDETAIL用のBPELプロセスのデプロイ
JDeveloperでは、BAPI_COMPANYCODE_GETDETAIL用のアウトバウンドBPELプロセスをOracle BPELコンソールに直接デプロイします。
JDeveloperでBPELプロセスをデプロイする手順は、次のとおりです。
「デプロイ」、作成したBPEL PMサーバー接続、「デフォルト・ドメインにデプロイ」の順に選択します。
「パスワード・プロンプト」ダイアログ・ボックスが表示されます。
この「パスワード・プロンプト」ダイアログ・ボックスに、BPEL PMサーバーのパスワードを入力します。
正しいパスワードを入力すると、デプロイ・プロセスが自動的に開始されます。
ウィンドウ下部の「メッセージ」ログを確認します。
「メッセージ」ログにはデプロイ・ステータスが表示されます。 この例では、正しくデプロイされたことを示すメッセージが表示されています。
正しくデプロイされなかった場合は、「コンパイラ」タブをクリックして、デプロイ・プロセスの過程で生成されたすべてのエラーおよび警告メッセージを表示します。
Oracle BPELコンソールからBAPI_COMPANYCODE_GETDETAILプロセスを起動する手順は、次のとおりです。
次のURLをブラウザに入力し、Oracle BPELコンソールを開始します。
http://host:port/BPELConsole
ドメインを選択し、有効なパスワードを指定します。
Oracle BPELコンソールのメイン・ページが表示されます。
「開始」タブを使用すると、BPELプロセスをテストできます。
次の手順を実行します。
「テスト・インスタンスを起動しています」メニューから、「XMLソース」を選択します。
XML入力用に用意されているテキスト領域に、次のコードを入力します。
<?xml version="1.0" encoding="UTF-8"?> <CompanyCode.GetDetail CompanyCodeId="1000"/>
「XMLメッセージの転送」をクリックします。
「開始」ウィンドウに、mySAP ERPシステムから受信したレスポンスが表示されます。
この例では、イベント・データを受信するために、OracleAS Adapter for MySAP ERPをMySAP ERPにどのように統合するかを示しています。 この例では、顧客レコードがMySAP ERPシステムに追加されたときにMySAP ERPイベントが発生します。
次の各項では、設計時および実行時の手順の概要について説明します。
Application Explorerを使用してインバウンド相互作用のためのWSDLを生成する場合は、すべてのインバウンドJ2CAサービスに対してチャネルを個別に作成し、そのチャネルを選択する必要があります。
注意: 2つ以上のイベントが同じチャネルを共有する場合は、正しいBPELプロセスにイベント・メッセージが配信されない可能性があります。 |
チャネルの作成
チャネルを作成する手順は、次のとおりです。
Application Explorerを起動して、J2CA構成に接続します。
左ペインで「イベント」ノードを開きます。
「mySAP」ノードを開きます。
左ペインに「ポート」および「チャネル」ノードが表示されます。
「チャネル」を右クリックして「チャネルの追加」を選択します。
「チャネルの追加」ダイアログ・ボックスが表示されます。
次の手順を実行します。
チャネルの名前(SAP_Channel
など)を入力します
簡単な説明を入力します(オプション)。
「プロトコル」リストからSAPチャネル--アプリケーション・サーバーを選択します。
「次へ」をクリックします。
「アプリケーション・サーバー」ダイアログ・ボックスが表示されます。 次のタブを使用できます。
ユーザー(必須)
システム(必須)
セキュリティ
詳細
「ユーザー」タブには、次の表に従って、使用するmySAP ERPチャネルに適した情報を入力します。
表5-1 「ユーザー」タブのパラメータ
ターゲット・パラメータ | 説明 |
---|---|
クライアント |
クライアント通信用にmySAP ERPアプリケーションに定義されるクライアント番号。 |
ユーザー |
mySAP ERPアプリケーション用の有効なユーザーID。 |
パスワード |
mySAP ERPアプリケーション用の有効なパスワード。 |
言語 |
言語キー。 EN(英語)がデフォルトです。 |
コードページ |
キャラクタ・コード・ページの値。 |
認証モード |
mySAP ERPシステムへの接続の際に使用する認証モード。 デフォルトでは、ドロップダウン・リストから「パスワード」が選択されます。 SAPでSecure Network Communications(SNC)アダプタを使用している場合は、「ログオン・チケット(SSO2)」を選択します。 SAPでSNCアダプタを使用している場合は、「ログオン・チケット(X509)」を選択します。 |
「システム」タブをクリックします。
「詳細」タブ(オプション)には、次の表に従って、使用するmySAP ERPチャネルに適した情報を入力します。
「OK」をクリックします。
チャネルが左ペインの「チャネル」ノードの下に表示されます。 アイコン上に表示される「X」は、そのチャネルが切断状態になっていることを示します。
イベント通知用のWSDLの生成
チャネルを作成し、そのチャネルが開始されていないことを確認した後は、Application Explorerを使用してイベント用にWSDLを生成する必要があります。
Application Explorerを起動します。
次の手順を実行します。
「mySAP」ノードを開きます。
使用可能なターゲットのリストが表示されます。
接続パラメータを確認します。
必要なパスワードを指定します。
ターゲット名を右クリックして「接続」を選択します。
「x」アイコンが表示されなくなります。これは、ノードが接続状態であることを示します。
「ALE(IDOCs)」ノードを開いて「DEBMAS」を選択します。
DEBMASのリストが表示されます。
DEBMASのリストで「DEBMAS05」を右クリックします。
「インバウンドJCAサービスの作成(イベント)」を選択します。
「WSDLのエクスポート」ダイアログ・ボックスが表示されます。
次の手順を実行します。
「WSDLファイル名」フィールドに、WSDLファイルの名前と位置を指定します。
「チャネル」フィールドで、このインバウンド・サービス用に作成したチャネルを選択します。
重要: 各イベントにはチャネルを個別に作成する必要があります。 実行に移行する前に、チャネルが停止していることを確認してください。
オプションのポート機能を使用している場合は、「ポート」リストからポートを選択する必要があります。
スキーマの検証にイベント・ポートを使用していない場合は、この手順をスキップします。 この場合、ポートのデフォルト値は自動的には選択されません。
JDeveloperでのBPEL PMサーバー接続の作成
Application Explorerで生成したWSDLを使用してBPELプロセスを設計する前に、Oracle JDeveloperでアプリケーション・サーバーと統合サーバーの接続を新規に構成する必要があります。 詳細は、第4章「Oracle BPEL Process Managerとの統合」を参照してください。
SAP_DEBMAS05イベント用のBPELプロセスの設計
インバウンド相互作用のためのBPELプロセスを設計する手順は、次のとおりです。
「アプリケーション・ナビゲータ」タブをクリックし、プロジェクトのアプリケーションを選択します。
「アプリケーション」ノードを右クリックし、「新規プロジェクト」を選択します。
「項目」リストから、「BPELプロセス・プロジェクト」を選択し、「OK」をクリックします。
BPELプロセス・プロジェクト作成ウィザード・ダイアログ・ボックスが表示されます。
次の手順を実行します。
プロセスの名前を指定します。
「ネームスペース」フィールドが自動的に更新されます。
「テンプレート」リストから「空のBPELプロセス」を選択します。
「終了」をクリックします。
空のBPELプロセス・プロジェクト・テンプレートが作成されます。
右側の「サービス」ペインから、PartnerLinkをビジュアル・エディタにドラッグ・アンド・ドロップします。
「パートナ・リンクの作成」ダイアログ・ボックスが表示されます。
「サービス・エクスプローラ」アイコン(「WSDLファイル」フィールドの上にある左から2番目のアイコン)をクリックします。
「サービス・エクスプローラ」ダイアログ・ボックスが表示されます。
「アダプタ・サービス」の下にある新規接続と、それに続く「アダプタ」および「アプリケーション」を開きます。
Application Explorerを使用して作成したWSDLファイルが、「サービス・エクスプローラ」ダイアログ・ボックスのWSDLツリーにリストされます。 WSDLツリーは、WSDLサーブレットによって生成され、BPELサーバー・インストールの一部として自動的にデプロイされます。
「DEBMAS05_receive.wsdl」を選択し、「OK」をクリックします。
「パートナ・リンクの作成」ダイアログ・ボックスが表示されます。
「WSDLファイル」フィールドに、選択したWSDLファイルの名前と位置が表示されます。 「パートナ・リンク・タイプ」フィールドには、WSDLファイルに定義されているPartnerLinkを指定します。
次の手順を実行します。
「マイ・ロール」リストから、デフォルト値「DEBMAS05Role」を選択します。
「パートナ・ロール」フィールドは未指定のままにします。
「適用」、「OK」の順にクリックします。
ビジュアル・エディタに新しいSAP PartnerLinkが表示されます。
右側の「プロセス・アクティビティ」ペインからビジュアル・エディタにReceiveアクティビティをドラッグし、「アクティビティをここにドロップ」というラベルの付いたプレースホルダに配置します。
ReceiveアクティビティをSAP PartnerLinkに接続します。
「Receiveの編集」ダイアログ・ボックスが表示されます。
次の手順を実行します。
Receiveアクティビティの名前(Receive_DEBMAS05など)を指定します。
「変数」フィールドの1番右のアイコンをクリックし、表示された「変数の作成」ダイアログ・ボックスで「OK」をクリックします。
「インスタンスの作成」チェック・ボックスが選択されていることを確認します。
「適用」をクリックします。
「OK」をクリックします。
完成したプロセスは、次のようになります。
「ファイル」メニューから「保存」を選択します。
SAP_DEBMAS05インバウンド・サービス用のBPELプロセスのデプロイ
イベントは、アプリケーション・システムでのアクティビティの結果として生成されます。 たとえば、mySAP ERPは、システム内の顧客情報を更新するイベントを生成できます。 イベントの詳細は、「イベント・アダプタの構成」を参照してください。
mySAP ERPでのイベントの起動
次の各項では、mySAP ERPでイベントを起動する方法と、OracleAS Adapter for MySAP ERPを使用してイベント統合を検証する方法について説明します。
mySAP ERPでイベントを起動する手順は、次のとおりです。
SAP Workbenchを起動してmySAP ERPシステムにログインします。
次の情報を「Send Customers」ウィンドウに入力します。
「Customer」フィールドに顧客番号の範囲1〜3を入力します。
「Output type」フィールドにDEBMASと入力します。
「Logical system」フィールドに、mySAP ERPで使用する論理システムを指定します。
左上隅にあるチェック・マークのアイコンをクリックします。
「Message type」列にDEBMASが表示されていることを確認します。
「Execute」ボタンをクリックします。
顧客マスター・データが、指定済の論理システムに送信されます。 Application Explorerで、チャネルに同じ値のプログラムIDを定義した場合は、そのチャネルがmySAP ERPからこの顧客マスター・データを受け取ります。
結果の検証
結果を検証する手順は、次のとおりです。
次のURLを入力し、Oracle BPELコンソールにログインします。
http://host:port/BPELConsole
BPELドメインのパスワードを入力します。
デフォルトのパスワードはbpel
です。
「インスタンス」タブをクリックします。
最近受け取った実行時イベントが「インスタンス」タブに表示されます。
「SAP_DEBMAS05」インスタンスをクリックし、次に「監査」をクリックして、受け取ったSAP_DEBMAS05イベント・メッセージを確認します。