Oracle Application Server Adapter for J.D. Edwards OneWorldユーザーズ・ガイド 10g (10.1.3.1.0) B31891-01 |
|
前へ |
次へ |
この章では、次の例について説明します。
この章で示す使用例では、次の前提条件を満たしている必要があります。
前提条件
OracleAS Adapter for J.D. Edwards OneWorldがOracle Application Serverにインストールされていること。
Oracle BPEL PMサーバーが正しく構成され、実行中であること。
Oracle JDeveloperが正しくインストールされていること。
関連項目: 『Oracle Application Server Adapter インストレーション・ガイド』 |
この章の例では、J.D. Edwards OneWorldとのサービスおよびイベントの統合を実行するための構成手順を示します。 その前に、次の内容を理解している必要があります。
J2CA構成の作成方法。これは、BPEL PMと互換性があるのはJ2CAコネクタのみであるためです。詳細は、「J2CA用の構成の作成」を参照してください。
Application Explorerを使用してサービスとイベント用にOracleAS Adapter for J.D. Edwards OneWorldを構成する方法。詳細は、第2章OracleAS Adapter for J.D. Edwards One Worldの構成」を参照してください。
関連項目: 『Oracle BPEL Process Manager開発者ガイド』 |
Oracle BPEL Process Managerにアダプタを統合する処理は、2つのステップで構成されます。
設計時: OracleAS Adapter for J.D. Edwards OneWorldは、Application Explorerでサービスおよびイベントが構成されます。詳細は第2章「OracleAS Adapter for J.D. Edwards One Worldの構成」を参照してください。 統合ロジックはJDeveloperを使用してモデル化されています。
実行時: JDeveloperで設計したBPELプロセスをデプロイした後は、BPEL Consoleでサービス構成をテストしたり、新しく受信したイベントを表示できます。
この項では、J.D. Edwardsサービスの統合について説明します。 次に、設計時と実行時の手順について説明します。
リクエスト/レスポンス・サービス用のWSDLの生成
アウトバウンド相互作用のWSDLを生成する手順は、次のとおりです。
Application Explorerを起動して、定義済のJ.D. Edwardsターゲットに接続します。
「サービス」、「JDEJAVA_CFIN」、「B0100033」を順番に開き、「GetEffectiveAddress」を選択します。
「GetEffectiveAddress」を右クリックします。
次のメニューが表示されます。
「アウトバウンドJCAサービスの作成」を選択します。
「WSDLのエクスポート」ダイアログ・ボックスが表示されます。
ファイルのデフォルト名および位置をそのまま使用します。
.wsdlというファイル拡張子が自動的に追加されます。
「OK」をクリックします。
WSDLファイルが作成されます。
BPEL PMサーバー接続の作成
アウトバウンドBPELプロセスを設計するには、その前に、Oracle JDeveloperで新規のアプリケーション・サーバーおよび統合サーバー接続を構成する必要があります。 詳細は、第4章「Oracle BPEL Process Managerとの統合」を参照してください。
同期BPELプロセス用のBPELプロジェクトの作成
同期BPELプロセス用のBPELプロジェクトを作成する手順は、次のとおりです。
左上ペインの最上部にある「アプリケーション・ナビゲータ」タブをクリックし、アプリケーションを選択します。
アプリケーションを右クリックして「新規プロジェクト」を選択します。
「項目」リストから「BPELプロセス・プロジェクト」を選択し、「OK」をクリックします。
「BPELプロジェクト作成ウィザード - プロジェクトの設定」ダイアログ・ボックスが表示されます。
次の手順を実行します。
BPELプロジェクトに名前(JDE_Serviceなど)を指定します。
「ネームスペース」フィールドが自動的に更新されます。
「テンプレート」リストから「同期BPELプロセス」を選択します。
「OK」をクリックします。
GetEffectiveAddress(アウトバウンド・サービス)用のBPELプロセスの設計
右側の「サービス」ペインからPartnerLinkをビジュアル・エディタにドラッグ・アンド・ドロップします。
「パートナ・リンクの作成」ダイアログ・ボックスが表示されます。
「サービス・エクスプローラ」アイコン(「WSDLファイル」フィールドの前にある左から2番目のアイコン)をクリックします。
「サービス・エクスプローラ」ダイアログ・ボックスが表示されます。
「アダプタ・サービス」下の新規接続を開き、「アダプタ」、「アプリケーション」を順番に開きます。
「サービス・エクスプローラ」ダイアログ・ボックスに表示されるWSDLツリーには、Application Explorerを使用して作成したWSDLファイルがリストされます。 WSDLツリーは、BPELサーバーのインストールの一部として自動的にデプロイされたWSDLサーブレットによって生成されます。
「GetEffectiveAddress_invoke.wsdl」を選択して「OK」をクリックします。
「パートナ・リンクの作成」ダイアログ・ボックスの「WSDLファイル」フィールドに、選択したWSDLファイルの名前と場所が表示されます。「パートナ・リンク・タイプ」フィールドには、WSDLファイルで定義したPartnerLinkを指定します。
次の手順を実行します。
「myRole」フィールドは指定しないままにします。ロールはBPELプロセスから同期で起動するため、PartnerLinkのロールはNULLになります。
「パートナ・ロール」リストから、デフォルト値「GetEffectiveAddressRole」を選択します。これがBPELプロセスのロールです。
「OK」をクリックします。
「ファイル」メニューから「保存」を選択します。
右側の「プロセス・アクティビティ」ペインからInvokeアクティビティをビジュアル・エディタにドラッグし、Receiveアクティビティ(receiveInput
)とReplyアクティビティ(replyOutput
)の間に配置します。
Invokeプロセス・アクティビティは次の図に示すように表示されます。
Invoke_1の右の矢印をドラッグして、JDE_Service_PL
PartnerLinkに接続します。
次の手順を実行します。
「OK」をクリックします。
Assignプロセス・アクティビティをドラッグし、receiveInput
とJDE_GetEffectiveAddress
の間にドロップします。
次のイメージは、JDeveloperビジュアル・エディタの新規Assignアクティビティを示しています。
Assignアクティビティ・アイコンをダブルクリックします。
「コピー操作」タブで、「作成」をクリックし、「コピー操作」を選択します。
「From」ペインで「変数」、「inputVariable」を順番に開き、「ペイロード」を強調表示します。
「To」ペインで「変数」、「JDE_GetEffectiveAddress_GetEffectiveAddress_InputVariable」を順番に開き、「input_GetEffectiveAddress」を強調表示します。
「コピー操作の作成」ダイアログ・ボックスが次のように表示されます。
右側の「プロセス・アクティビティ」ペインから別のAssignアクティビティをビジュアル・エディタにドラッグし、Invokeアクティビティ(JDE_GetEffectiveAddress
)とReplyアクティビティ(replyOutput
)の間に配置します。
Assignアクティビティ・アイコンをダブルクリックして、「作成」をクリックします。
「JDE_GetEffectiveAddress_GetEffectiveAddress_OutputVariable」、「output_GetEffectiveAddress」を「outputVariable」、「payload」にマップします。
次に示すように、すべての変数がマップされていることを確認します。
「OK」をクリックし、再度「OK」をクリックします。
「ファイル」メニューから「保存」を選択します。
これで、BPELプロセスの設計が完了します。
GetEffectiveAddress(アウトバウンド・サービス)用のBPELプロセスのデプロイ
JDeveloperでは、BPELプロセスをOracle BPEL Consoleに直接デプロイします。
JDeveloperでBPELプロセスをデプロイする手順は、次のとおりです。
「デプロイ」、使用しているBPEL PMサーバー接続、「デフォルト・ドメインにデプロイ」を順番に選択します。
デプロイ処理が自動的に開始されます。
ウィンドウの最下部にある「メッセージ」ログを確認します。
「メッセージ」ログには、デプロイのステータスが表示されます。この例では、プロセスで正常にデプロイされたことを示すメッセージが表示されています。
デプロイが成功しなかった場合は、「コンパイラ」タブをクリックすると、デプロイ処理中に発生したエラー・メッセージと警告メッセージがすべて表示されます。
Oracle BPEL ConsoleからGetEffectiveAddressプロセスを起動する手順は、次のとおりです。
ブラウザに次のURLを入力してOracle BPEL Consoleを起動します。
http://host:port/BPELConsole
有効なユーザー名およびパスワードを入力します。
Oracle BPEL Consoleのメイン・ページが表示されます。
デプロイ済プロセスがこのタブに表示されます。
次の手順を実行します。
「テスト・インスタンスを起動しています」リストから、「XMLソース」を選択します。
XML入力用のテキスト領域に、次のコードを入力します。
<?xml version="1.0" encoding="UTF-8"?> <jdeRequest type="callmethod"><callMethod name="GetEffectiveAddress" runOnError="no"><params><param name="mnAddressNumber">99999</param><param name="jdDateBeginningEffective"/><param name="cEffectiveDateExistence10"/><param name="szAddressLine1"/><param name="szAddressLine2"/><param name="szAddressLine3"/><param name="szAddressLine4"/><param name="szZipCodePostal"/><param name="szCity"/><param name="szCountyAddress"/><param name="szState"/><param name="szCountry"/><param name="szUserid"/><param name="szProgramid"/><param name="jdDateupdated"/><param name="szWorkstationid"/><param name="mnTimelastupdated"/><param name="szNamealpha"/></params><onError abort="yes"/></callMethod></jdeRequest>
「XMLメッセージの転送」をクリックします。
「監査」タブをクリックすると、J.D. Edwardsシステムから受信したレスポンスが表示されます。
この例は、OracleAS Adapter for J.D. Edwards OneWorldとJ.D. Edwards OneWorldを統合してイベント・データを受信する方法を示しています。 設計時および実行時の構成手順については、次の各項で説明します。
JDeveloperを使用してBPELプロセスを設計する前に、すべてのJ2CAイベントについて個別にチャネルを作成し、Application Explorerを使用してインバウンド相互作用のためのWSDLを生成するときに、そのチャネルを選択する必要があります。
注意: 2つ以上のイベントで同じチャネルを共有すると、イベント・メッセージが正しいBPELプロセスに配信されない可能性があります。 |
Application Explorerでのチャネルの作成
チャネルを作成する手順は、次のとおりです。
「チャネル」ノードを右クリックして「チャネルの追加」を選択します。
「名前」フィールドにわかりやすいチャネル名を入力します。
「説明」フィールドに説明を入力します(オプション)。
「次へ」をクリックします。
選択したリスナー用のダイアログ・ボックスが表示されます。
「ホスト」フィールドでサーバーの場所を入力します。
「ポート番号」フィールドにチャネルのポート番号を入力します。
XML書式ではないデータを送信するイベントの長さ接頭辞を選択します。TCP/IPイベント・アプリケーションでは、データをTCP/IPポートに書き込む際、4バイト・バイナリの長さのフィールドをデータの前に付ける必要があります。
XML書式でデータを返すイベントの「XML」を選択します。プリパーサーは必要ありません。
イベント・トランザクションとチャネル間で持続的な通信を保持するために、キープ・アライブを選択します。
「OK」をクリックします。
チャネルが作成され、「チャネル」ノードの下に表示されます。アイコン上に表示される「X」は、そのチャネルが切断状態になっていることを示します。
イベント通知用のWSDLの生成(コマンド・プロンプトのみ)
Application Explorerを使用してJ.D. Edwards OneWorldのイベント通知用にWSDLを生成できません。 コマンド・プロンプトからWSDLを生成するには、次の手順を実行する必要があります。
重要: 選択したノードがイベントをサポートしている場合のみ、インバウンドJ2CAサービスを作成できます。
J.D. Edwards OneWorldのイベント通知用のWSDLファイルを生成する手順は、次のとおりです。
Application Explorerの「J.D. Edwardsイベント」ノードの下にチャネルを作成します。「Application Explorerでのチャネルの作成」を参照してください。
チャネルを開始します。
重要: チャネルの開始後は、BPEL PM ServerまたはOracle Application Serverを再起動しないでください。
J.D. Edwards OneWorldからインバウンド・メッセージを送信します。
インバウンド・メッセージ・ペイロードを、OracleAS_home
\adapters\application\config\jca_sample\log\iwaf_jca15.log
内にあるログ・ファイルで取得します。
または、Application Explorerの「イベント」の下にある「ファイル」プロトコルを使用してポートを作成し、イベント・メッセージをファイル・システムに配置できます。
XMLSpyなどのサード・パーティ・ツールによって、前のステップで取得したXMLペイロードを使用してXSDスキーマを作成します。
orabpel-adapters.jar
がクラスパスにあることを確認します。
コマンド・プロンプトを開き、ディレクトリをOracleAS_home
\adapters\application\tools
に変更します。
obadapter.bat
を実行して環境を設定します。
次のコマンドを入力してWSDLを生成します。
java com.iwaysoftware.af.container.tools.wsdl.IWayWSILBrowser jcaHome adapter target channel schemaPrefix wsdlFileName
各項目の説明は次のとおりです。
jcaHome
は、J2CA構成へのパスです。 例: OracleAS_home
\adapters\application\
adapter
はアダプタの名前です。 例: JDEdwards
target
は、Application Explorerの「アダプタ」に作成したアダプタ・ターゲットの名前です。
channel
は、Application Explorerの「イベント」で作成したチャネルの名前です。
schemaPrefix
はXSDスキーマの接頭辞です。 スキーマ・ファイルは、Javaコマンドを実行するディレクトリと同じディレクトリに存在する必要があります。例: OracleAS_home
\adapters\application\config\jca_sample\schemas\JDEdwards\bvision02
wsdlFileName
はこの手順で作成したWSDLファイルの名前です。
次に例を示します。
C:\soaga\adapters\application\config\jca_sample\schemas\JDEdwards\bvision02>java com.iwaysoftware.af.container.tools.wsdl.IWayWSILBrowser c:\soaga\adapters\application\ JDEdwards bvision02 JDE PO purchaseorder.wsdl
コマンドが正しく実行されると、コマンド・ウィンドウに次の出力が表示されます。
Running Inbound WSDL generation tool... -> user.dir = C:\soaga\adapters\application\config\jca_sample\schemas\JDEdwards\bvision02 -> Generating WSDL... -> Done. -> Writing WSDL 'c:\soaga\adapters\application\\wsdls\purchaseorder.wsdl' to disk... -> Done.
注意: イベント通知サービス用に生成されたWSDLファイルの名前に_receive を追加することをお薦めします。これにより、リクエスト/レスポンス・サービス用に生成されたWSDLファイルと簡単に区別できるようになります。 |
Application Explorerでチャネルを停止します。
注意: WSDLファイルをサブフォルダに編成して、独自のWSDL階層構造を作成できます。OracleAS_home \adapters\application\wsdls\ の下にフォルダを作成してください。JDeveloperのWSILブラウザに、WSDL階層の完全なツリー構造が表示されます。 |
WSDLファイルが作成されます。 WSDLをパートナ・リンクとして使用するBPELプロセスを作成できます。 BPELプロセスはデプロイされているため、チャネルはBPEL PMからアクティブ化されます。 次に、J.D. Edwards OneWorldからインバウンド・メッセージを送信した後、メッセージがBPEL PMによって開始されたチャネルで受信されます。 次の各項で、これらの手順を詳細に説明します。
BPEL PMサーバー接続の作成
BPELプロセスを設計するには、その前に、Oracle JDeveloperで新規のアプリケーション・サーバーおよび統合サーバー接続を構成する必要があります。 詳細は、第4章「Oracle BPEL Process Managerとの統合」を参照してください。
SalesOrderインバウンド・サービス用のBPELプロジェクトの設計
インバウンド相互作用のためのBPELプロジェクトを設計する手順は、次のとおりです。
左上ペインの最上部にある「アプリケーション・ナビゲータ」タブをクリックし、アプリケーションを選択します。
アプリケーションを右クリックして「新規プロジェクト」を選択します。
「項目」リストから「BPELプロセス・プロジェクト」を選択し、「OK」をクリックします。
「BPELプロジェクト作成ウィザード - プロジェクトの設定」ダイアログ・ボックスが表示されます。
次の手順を実行します。
BPELプロジェクトに名前を指定します。
「ネームスペース」フィールドが自動的に更新されます。
「テンプレート」リストから「空のBPELプロセス」を選択します。
「OK」をクリックします。
右側の「サービス」ペインからPartnerLinkをビジュアル・エディタにドラッグ・アンド・ドロップします。
「パートナ・リンクの作成」ダイアログ・ボックスが表示されます。
「サービス・エクスプローラ」アイコン(「WSDLファイル」フィールドの前にある左から2番目のアイコン)をクリックします。
「サービス・エクスプローラ」ダイアログ・ボックスが表示されます。
「アダプタ・サービス」下の新規接続を開き、「アダプタ」、「アプリケーション」を順番に開きます。
「サービス・エクスプローラ」ダイアログ・ボックスに表示されるWSDLツリーには、Application Explorerを使用して作成したWSDLファイルがリストされます。 WSDLツリーは、BPELサーバーのインストールの一部として自動的にデプロイされたWSDLサーブレットによって生成されます。
「SalesOrder.wsdl」を選択して「OK」をクリックします。
「パートナ・リンクの作成」ダイアログ・ボックスが表示されます。
「WSDLファイル」フィールドに、選択したWSDLファイルの名前と場所が表示されます。「パートナ・リンク・タイプ」フィールドには、WSDLファイルで定義したPartnerLinkを指定します。
次の手順を実行します。
「適用」、「OK」を順番にクリックします。
新規のPartnerLinkがビジュアル・エディタに表示されます。
右側の「プロセス・アクティビティ」ペインからReceiveアクティビティをビジュアル・エディタにドラッグし、「アクティビティをここにドロップ」とラベルが付いた指定のプレースホルダに配置します。
ReceiveアクティビティをJDE_event
PartnerLinkに接続します。
「受信の編集」ダイアログ・ボックスが表示されます。
次の手順を実行します。
Receiveアクティビティに名前(Receive_SalesOrderなど)を指定します。
「変数」フィールドの右側にある最初のアイコンをクリックし、表示された「変数の作成」ダイアログ・ボックスで「OK」をクリックします。
「インスタンスの作成」チェック・ボックスが選択されていることを確認します。
「適用」をクリックします。
「OK」をクリックします。
「ファイル」メニューから「保存」を選択します。
インバウンド・サービス用のBPELプロジェクトのデプロイ
「デプロイ」、使用しているBPEL PMサーバー接続、「デフォルト・ドメインにデプロイ」を順番に選択します。
デプロイ処理が自動的に開始されます。
イベントは、データベースまたはアプリケーション・システムでアクティビティの結果として生成されます。 イベントを使用して、アプリケーション内でアクションをトリガーできます。 イベントの構成の詳細は、「イベント・アダプタの構成」を参照してください。
J.D. Edwards OneWorldでのイベントの起動
J.D. Edwards OneWorldでイベントを起動する手順は、次のとおりです。
J.D. Edwards OneWorldシステムにログインします。
「J.D. Edwards OneWorld Explorer」ウィンドウの「Fast Path」フィールドで、「G4211」と入力して[Enter]を押します。
「Sales Order Detail」(P4210)を右クリックします。
「Prompt for」、「Values」を順番に選択します。
「Processing Options」ダイアログ・ボックスが表示されます。
次の手順を実行します。
「Interop」タブをクリックします。
「Transaction Type」フィールドに「JDESOOUT」と入力します。
「Before/After Image Processing Blank」フィールドの値が1であることを確認します。
「OK」をクリックします。
「Sales Order Detail - (Customer Service Inquiry)」ウィンドウが表示されます。
「Add」アイコン(左から3番目のアイコン)をクリックします。
次の画面に表示されている値を入力します。
別のフィールドに移動するには、キーボードの[Tab]キーを使用します。
「Quantity Ordered」および「Item Number」の値を入力します。
次に例を示します。
2行目の最初のフィールドをクリックし、処理に数秒間を割り当てます。
「OK」をクリックします。
J.D. Edwards OneWorldシステムでイベントが起動されます。
次のサイトでOracle BPEL Consoleにログインします。
http://host:port/BPELConsole
有効なユーザー名およびパスワードを入力します。
最近受信したランタイム・イベントが「インスタンス」タブに表示されています。
J.D. Edwardsイベント・インスタンスをクリックし、「監査」をクリックすると、受信済イベント・メッセージが表示されます。