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 インスタンスにインストールしました。
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 用のパスワード)
9. トラブルシューティングの目的で、EVENPROCESSOR 用の新しいログ・ファイルを追加します。そのために、Server Manager の configuration の下にある「jdelog.properties logging」リンクをクリックし、次のスクリーンショットの ように情報を追加します。
10. Server Manager から Transaction Server を起動し、ログを監視します。rtexxxxx.log のサイズは約 32KB まで増加して、 そこで増加が停止します。サイズの増加が続く場合は、ログ(X:¥agent¥targets¥E1_TransServer_96¥logs)に何らかの エラーが記録されている可能性があります。
ステップ 2:Oracle ESB のサブスクライバ情報を
JDE E1(P90720A)に作成
1. Oracle ESB のサブスクライバ用に JDE E1 ユーザーを作成します。その際に、新しいユーザーID を使用して HTML クライアントにログインできることを確認してください。
(この例では、ESB という名前のユーザーID を作成しています。) 2. Fast Path に移動し、P90702A と入力します。
3. 「Add」をクリックし、次の値を入力します。
Subscriber ESB
Transport Type JMSQUEUE Message Format XML
Application Server Oracle Application Server Queue Location LOCAL
Connection Factory JNDI Name jms/ESBSubscriberQCF Queue Name jms/ESBSubscriberQueue
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 の処理オプションを更新できます。 したがって、次に別のサブスクライバを作成する際に、正しい情報が移入されます。
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 にしました。
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 を参照
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 は空白のままにします。
14. <SOA インストール>¥j2ee¥home¥application-deployment¥default¥jmsadater ディレクトリにある oc4j-ra.xml を開きま す。
15. ファイルの末尾に、以下のエントリを追加します。
ステップ 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」をクリックします。
10. 接続名を入力します。
12. 接続をテストして、「Finish」をクリックします。
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 にルーティング され、ファイル・アダプタを使用してファイルに書き込まれます。