JD Edwards EnterpriseOne リアルタイム イベントの Oracle Enterprise Service Bus へのパブリッシュ
概要 このチュートリアルでは JD Edwards EnterpriseOne(JDE E1) のリアルタイム イベント (RTE) を Oracle Enterprise Service Bus(Oracle ESB) にパブリッシュする手順について説明します このプロセスでは リアルタイム イベントを JD Edwards EnterpriseOne から Oracle ESB に渡すためのメカニズムとして JMS キューが使用されます また JD Edwards EnterpriseOne から Oracle ESB へリアルタイム イベントをパブリッシュするリファレンス実装 (RI) も 利用されます このリファレンス実装 (RTForOutbound.zip) は JD Edwards EnterpriseOne をインストールした "system classes samples ESB " ディレクトリにあります このプロセスを設定 テスト および実行する手順は 次のステップで構成されています 1. JMS キュー コネクション ファクトリを作成 2. RTE を JMS キューにパブリッシュするように JD Edwards EnterpriseOne Transaction Server を設定 3. JD Edwards EnterpriseOne から JMS キューへの RTE のパブリッシュをテスト 4. リファレンス実装を Oracle JDeveloper にインポート 5. サンプルを Oracle ESB サーバーに登録してテスト 前提条件 : JD Edwards EnterpriseOne 8.12/8.97 をインストールしていること JD Edwards EnterpriseOne Server Manager について十分な知識があること Oracle SOA Suite を Oracle ESB Console とともにインストールしていること Oracle JDeveloper 10.1.3.1.0 をインストールしていること RTForOutbound.zip が "system classes samples ESB " ディレクトリにあることを確認し ファイルを解凍してあること メモ : すべてのマシン情報を書き込んでください サーバー / マシン マシン情報 例 エンタープライズ サーバー http://jde_enterpriseone:5800 HTML クライアント http://jde_html:12001/jde/e1menu.maf jde/jde Server Manager http://jde_manage:8999/manage jde_admin/jde_admin Transaction Server http://jde_trans:7777/em oc4jadmin/oc4jadmin Oracle SOA Suite/ Oracle ESB サーバー http://soa_suite:8888 oc4jadmin/welcome1
ステップ 1:Transaction Server がインストールされている Oracle Application Server に JMS キューとコネクション ファクトリを作成 1. Transaction Server がインストールされている Oracle Application Server の管理コンソールにログインします 注 : この例では Transaction Server を CONTAINER3 インスタンスにインストールしました 2. CONTAINER3 リンクをクリックし 続いて Administration リンクをクリックします
3. JMS Connection Factories の Go to Task アイコンをクリックします 4. Create New をクリックし 次のように値を入力します ConnectionFactoryType:Queue JNDI Location:jms/ESBSubscriberQCF XA Enabled: 選択
5. 前記の手順 2 と同じ Administration ウィンドウに戻り JMS Destinations の Got to Task アイコンをクリックし ます 6. Create New をクリックし 次のように値を入力します Destination Type:Queue
Destination Name:ESB/ESBSubscriberQueue JNDI Location:jms/ESBSubscriberQueue Persistence File:ESBSubscriberQueue 7. 新しく作成されたキューが 手順 5 のスクリーンショットのように表示されます 8. Server Manager から Transaction Server の jas.ini を編集し Configuration の下にある Real Time Events をクリックします ( 以下を参照 ) Oracle Application Server JNDI User:oc4jadmin(Oracle Application Server/Transaction Server 用のユーザー ) Oracle Application Server JNDI Password:oc4jadmin(Oracle Application Server/Transaction Server 用のパスワード ) 注 :jas.ini ファイルのこれらのエントリは直接変更できないので Server Manager から変更する必要があります
9. トラブルシューティングの目的で EVENPROCESSOR 用の新しいログ ファイルを追加します そのために Server Manager の configuration の下にある jdelog.properties logging リンクをクリックし 次のスクリーンショットの ように情報を追加します 10. Server Manager から Transaction Server を起動し ログを監視します rtexxxxx.log のサイズは約 32KB まで増加して そこで増加が停止します サイズの増加が続く場合は ログ (X: agent targets E1_TransServer_96 logs) に何らかのエラーが記録されている可能性があります 11. Server Manager から Transaction Server を停止します
ステップ 2:Oracle ESB のサブスクライバ情報を JDE E1(P90720A) に作成 1. Oracle ESB のサブスクライバ用に JDE E1 ユーザーを作成します その際に 新しいユーザー ID を使用して HTML クライアントにログインできることを確認してください ( この例では ESB という名前のユーザー ID を作成しています ) 2. Fast Path に移動し P90702A と入力します 3. Add をクリックし 次の値を入力します Subscriber Transport Type Message Format Application Server Queue Location Connection Factory JNDI Name Queue Name Initial Context Factory ESB JMSQUEUE XML Oracle Application Server LOCAL jms/esbsubscriberqcf jms/esbsubscriberqueue com.evermind.server.rmi.rmiinitialcontextfactory
Provider URL opmn:ormi://dencmassive.mlab.jdedwards.com:6003:container3 opmn:ormi://< 使用している Transaction Server 名 >:port:tsinstancename port: これは OPMN ポート番号です 使用している Oracle SOA Suite マシンから 次のコマンドを入力してポート番号を確認してください <SOA インストール > opmn bin opmnctl status port レスポンスは DENCCAPITOL:6003 のようになります TSInstanceName:Transaction Server のインスタンスの名前です ステップ 1 の手順 1 にあるスクリーンショットを参照してください 注 :Initaial Context Factory と Provider URL では P90720A の処理オプションを更新できます したがって 次に別のサブスクライバを作成する際に 正しい情報が移入されます 4. RTABOUT( イベント ) と JDV812( 環境 ) を追加してアクティブにします
5. JDE E1 を再起動します 注 : ほかにサブスクライバがある場合は テスト用の Oracle ESB サブスクライバを除いて無効にすることができます ステップ 3:JDE E1 から Oracle ESB サブスクライバ キューへの RTE メッセージのパブリッシュをテスト 1. P01012 からアドレス帳情報を作成します 2. この時点で Transaction Server を停止している必要があるので ( ステップ 1 の手順 11 を参照 ) F90710 に RTABOUT メッセージが表示されていることを確認します 3. メッセージを確認できた場合は Transaction Server を起動します a. Transaction Server によって F90710 からメッセージが読み取られます このメッセージは ESBQueue00 を通して最終的に ESBSubscriberQueue に送られます b. O: product 10.1.3.1 OracleAS_1 j2ee CONTAINER3 persistence CONTAINER3_default_group_1 フォルダを 開き ESBSubscriberQueue のサイズが 1KB を超えているかを確認します
c. メッセージが ESBSubscriberQueue 内にあるかは Oracle Application Server を使用して確認できます 詳細 については How to view the queue ガイドを参照してください ESBSubscriberQueue が正常に機能している場合は "ESBSubscriberQueue" キューにあるメッセージが表示されます ( 以下を参照 ) 戻り値
ステップ 4:RIForOutbound.zip の Oracle JDeveloper へのインポート 1. Oracle JDeveloper を起動し RIForOutbound.zip を解凍したフォルダにある testesb.jpr をインポートします こ の例では アプリケーションの名前を ESB_BSSV_RIOutbound にしました 2. Applications Navigater で testesb.esb ファイルを開きます
3. 右側のペインにある JMS_ReadF (JMS_ReadFromESBQueue) アイコンをクリックします 次のウィンドウ が表示されます
4. WSDL File: JMS_ReadFromESBQueue.wsdl の隣にある Configure tech adapter service wsdl アイコンをクリッ クします 5. Adapter Configuration Wizard が起動するので Next を 2 回クリックしてデフォルトの設定を受け入れます 6. Oracle Enterprise Messaging Service (OEMS) ラジオ ボタンを選択して 右側にあるドロップダウン リスト で Memory/File を選択します Next をクリックします 7. New をクリックして Transaction Server のキューへの接続を作成します Create Application Connection Wizard が起動します ( 以下を参照 )
8. Connection Name に接続名を入力し 次に Connection Type ドロップダウン リストで Oracle Application Server 10g 10.1.3 を選択します 9. Username と Password フィールドに Transaction Server がインストールされている Oracle Application Server のユー ザー名とパスワードを入力します Deploy Password を選択します
10. Single Instance ラジオ ボタンを選択し 次の値を入力します a. Host Name:Transaction Server がインストールされている Oracle Application Server の名前 b. OPMN Port: ステップ 2 の手順 3 を参照 c. OC4J Instance Name: ステップ 2 の手順 3 を参照
11. 接続をテストして " 成功 " のメッセージが表示されることを確認してください 12. ここで 手順 4 に示されている Adapter configuration Wizard のページに戻ります 13. JMS キューに関する情報を 次のように入力します Destination Name (Queue) に jms/esbsubscriberqueue と入力します ( Browse をクリックすることで参照可能) JMS Connection Factory ドロップダウン リストで jms/queueconnectionfactory を選択します Message Body Type ドロップダウン リストで TextMessage を選択します Message Selector は空白のままにします JNDI Name に eis/jms/remotequeueconnectionfactory と入力します
14. <SOA インストール > j2ee home application-deployment default jmsadater ディレクトリにある oc4j-ra.xml を開きま す 15. ファイルの末尾に 以下のエントリを追加します 16. ファイルを保存し Oracle SOA Suite を再起動します
ステップ 5: サンプルを Oracle ESB サーバーに登録してテスト 1. Oracle JDeveloper を開きます 2. Oracle SOA Suite を起動します 3. 使用中の Oracle SOA Suite 用に Application Server 接続と統合サーバー接続を作成します 4. Connections タブをクリックし 続いて Application Server を右クリックします 5. Connection Name に接続名を入力し Connection Type ドロップダウン リストで Oracle Application Server 10g 10.1.3 を選択します
6. 次の画面で Username と Password フィールドに Oracle SOA Suite のユーザー名とパスワードを入力します Deploy Password を選択します 7. Single Instance ラジオ ボタンを選択し Host Name に Oracle SOA Suite のホスト名 OPMN Port に OPMN ポート番号 OC4J Instance Name に OC4J インスタンス名をそれぞれ入力します
8. 接続をテストして Finish をクリックします 9. Connections タブで Integration Server を右クリックし New Integration Server Connection を選択します
10. 接続名を入力します 11. 使用する Application Server 接続を選択し デフォルトの設定を受け入れます
12. 接続をテストして Finish をクリックします 13. Applications Navigation タブに戻り testesb プロジェクトを右クリックします
14. Oracle Application Server の JMS キュー (ESB/ESBSubscriberQueue) にメッセージがあることに注意してください Register with ESB を選択し 続いて使用する統合サーバー接続を選択します
15. 成功を示すメッセージが表示されるまで待機します 16. SOA マシン上の C: outputdir に移動します タイムスタンプが今日の日付になっている XML ドキュメントが存在することを確認します 17. Oracle ESB Console に移動すると Oracle ESB プロセスを表示できます ( Instance アイコンをクリックし 続いてウィンドウの左側にあるインスタンスをクリック )
18. 以上の説明からわかるように JMS アダプタによって読み取られたメッセージは RS_RTABOUT にルーティング され ファイル アダプタを使用してファイルに書き込まれます これで すべての作業が完了しました