peoplesoft integration brokerとoracle service bus …...peoplesoft integration broker とoracle...

Post on 16-Apr-2020

8 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

PeopleSoft Integration Broker と Oracle Service Bus の統合

概要

このチュートリアルでは、PeopleSoft Integration Broker によって生成されるアウトバウンド

SOAP メッセージを Oracle Service Bus(旧 BEA AquaLogic Service Bus)で取り込む方法につ

いて説明します。Oracle Service Bus では、XQuery によってメッセージが変換され、さらに

変換されたメッセージはコンテンツ・ベースのルーティングを使用して適切なビジネス・

サービスに転送されます。

これは、イベントが PeopleSoft モジュールで生成されてさまざまな外部アプリケーションに

パブリッシュされる、典型的なビジネス・シナリオです。

ユースケース

PeopleSoft Enterprise Customer Relationship Management(PeopleSoft Enterprise CRM)で複数の

製品を含む単一の発注書(CRM_SALES_ORDER)が生成されましたが、単一のベンダーが

すべての商品を供給することはできません。そのため、発注書を、対応する製品を含む複数

の発注書に分割(変換)する必要があります。分割後、個別の発注書は、受注フルフィルメ

ントのために別々のベンダーへ送付されます。

このチュートリアルでは、ファイル・システムを使用して異なるベンダーを選択します。IDが 0-10100 の製品を供給するベンダーとして"Vendor-A"を選択し、残りの製品を"Vendor-B"が供給します。

前提条件

1. Oracle Service Bus 3.0 をOracle BEA Product Downloadsから入手してインストールしてい

ること。 2. PeopleTools v8.48 を備えた PeopleSoft Enterprise CRM 9 にアクセスできること。 3. PeopleSoft Enterprise CRM の販売注文を Oracle Service Bus(旧 BEA AquaLogic Service

Bus)に送信するように、PeopleSoft Integration Broker を設定すること(VIII の項を参照)。

所要時間:約 2 時間

I. 初期設定 ...................................................................................................................................... 3 II. WSDLリソースの作成............................................................................................................... 5 III. プロキシ・サービスの作成 ...................................................................................................... 7 IV. ビジネス・サービスの作成 .................................................................................................... 12 V. RouteOrderのプロキシ・サービス設定 ................................................................................. 17 VI. LocalProxyのプロキシ・サービス設定:パート 1 .............................................................. 25 VII. LocalProxyのプロキシ・サービス設定:パート 2 .............................................................. 37 VIII. PeopleSoft Integration Brokerの設定 ........................................................................................ 42 IX. テスト ........................................................................................................................................ 43 X. まとめ ........................................................................................................................................ 44

2

I. 初期設定

1. ALSB Console Change Centerで、「Create」をクリックして新しいセッションを作成

します。

2. 「Project Explorer」を選択します。

3. 次の図のように、Enter New Project NameフィールドにPSFT-ALSBと入力します。

4. 「Add Project」をクリックします。

3

5. PSFT-ALSBプロジェクトが作成され、次の図のようにProject Explorerに表示されます。

関連するプロジェクト・フォルダを作成するために、「PSFT-ALSB」をクリックし

て関連するプロジェクト・ページを開きます。

6. New Folder NameフィールドにWSDLと入力し、「Add Folder」をクリックします。

7. 手順 6 を繰り返して、次の図のようにProxyServiceおよびBusinessServiceという名前

の 2 つの追加フォルダを作成します。

4

II. WSDL リソースの作成

1. 次の図のように、「WSDL」をクリックします。

2. Create Resourceドロップダウン・リスト(右側のフレーム内)で、「WSDL」を選択

します。

5

3. Resource Nameに、CRM_SALES_ORDERと入力します。

4. 「Browse」をクリックしてWSDLファイルのあるフォルダに移動します(以前に

PeopleSoft Integration Brokerの設定中に作成したフォルダ)。

5. 「Save」をクリックしてWSDLリソースを作成します。

6. WSDL が作成されたことを確認します。

6

III. プロキシ・サービスの作成

1. 次の図のように、「ProxyService」をクリックします。

2. Create Resourceドロップダウン・リスト(右側のフレーム内)で、「Proxy Service」を選択します。

3. Service NameにRouteOrderと入力します。

4. Service Typeで「WSDL Web Service」を選択し、「Browse」をクリックします。

7

5. Select a WSDLページが表示されます。プロキシ・サービスは、以前に作成したWSDLリソースに基づいています。「CRM_SALES_ORDER」を選択します。

6. 「CRM_SALES_ORDER_Port」をクリックします。

7. 「Submit」をクリックします。

8

8. これによって、Create a Proxy Serviceページに戻ります。「Next」をクリックします。

9. プロトコルはデフォルトの http を使用します。Endpoint URI に注意してください。

この URI は、PeopleSoft Integration Broker によって、ALSB(BEA AquaLogic Service Bus)との通信に使用されます。

10. 「Next」をクリックします。

11. デフォルト設定のまま、「Next」をクリックします。

9

12. デフォルト設定のまま、「Next」をクリックします。

13. これによって、Create a Proxy Service - Summaryページが表示されます。「Save」を

クリックして、サービスを作成します。

14. RouteOrder サービスが作成されたことを確認します。

10

15. プロキシ・サービス作成の手順 1~14を繰り返して、LocalProxyという名前のもう 1つのプロキシ・サービスを作成します(手順 3で、Service NameにLocalProxyと入力)。

そのほかの手順は、そのまま再実行します。

16. LocalProxy サービスが作成されたことを確認します。

11

IV. ビジネス・サービスの作成

1. 「BusinessService」をクリックします。

2. Create Resourceドロップダウン・リストで、「Business Service」を選択します。

12

3. Service NameにVendor-Aと入力します。

4. 「Any XML Service」を選択します。

5. 「Next」をクリックします。

6. Protocolドロップダウン・リストで「file」を選択します。

7. Endpoint URIで、エンドポイントURIの場所としてfile:///d/temp/vendor-aを指定しま

す。

8. 「Add」をクリックします。

13

9. 「Edit」アイコンをクリックします(図中のカーソル位置にあるアイコン)。

10. これによって、手順 5 で指定した名前がEndpoint URIに挿入されます。「Next」をク

リックします。

11. Suffixに.xmlと入力します。

12. 「Next」をクリックします。

14

13. 次の図のように、Create a Business Service - Summaryページが表示されます。「Save」をクリックします。

14. ビジネス・サービスが作成されたことを確認します。

15. 次の 2 つの点だけを変更して手順 1~13 を繰り返し、もう 1 つのビジネス・サービス

を作成します。

• 手順 3 で、Service Nameの設定をVendor-AからVendor-Bに変更します。 • 手順 7 で、Endpoint URIの設定をvendor-aからvendor-bに変更します。

そのほかの手順は、そのまま再実行します。

16. ビジネス・サービスVendor-Bが作成されたら、「Activate」をクリックします。

15

17. 「Submit」をクリックします。

16

V. RouteOrder のプロキシ・サービス設定

1. ALSB Console Change Centerで、「Create」をクリックして新しいセッションを作成

します。

2. Operationsペインで「Resource Browser」を選択します。

3. Summary of Proxy Servicesページが表示されます。次の図のように、RouteOrderに関

連するActions列で「Edit Message Flow」アイコンをクリックします。

17

4. 「RouteOrder」をクリックし、「Add Pipeline Pair」を選択します。

5. 「Request Pipeline」をクリックし、「Add Stage」を選択します。

6. 「stage」アイコンをクリックし、「Edit Stage」を選択します。

18

7. 「Add an Action」リンクをクリックし、「Flow Control」→「For Each」を選択します。

8. 各フィールドに、lineItem、body、count、totalCountと入力します。

9. 「<XPath>」をクリックして、XPath Expression Editorを表示します。

10. ./crm:CRM_SALES_ORDER/crm:MsgData/crm:Transaction/crm:RO_HEADER/crm:RO_LINEと入力します。

11. 「Validate」に続いて「Save」をクリックします。

19

12. 「Add an Action」→「Communication」→「Publish」を選択します。

13. 「Service」をクリックします。

14. 「LocalProxy」を選択し、「Submit」をクリックします。

20

15. 「Add an Action」→「Message Processing」→「Replace」を選択します。

16. 「<XPath>」をクリックして、XPath Expression Editorを表示します。

17. ./crm:CRM_SALES_ORDERと入力します。

18. 「Validate」に続いて「Save」をクリックします。

21

19. variableテキスト・ボックスに$bodyと入力します。

20. 「<Expression>」をクリックして、XSLT Expression Editorを表示します。

21. $lineItemと入力します。

22. 「Validate」に続いて「Save」をクリックします。

22

23. 「Replace node contents」を選択します。

24. 「Save」をクリックします。

25. これによって、RouteOrderのメッセージ・フローが表示されます。「Save」をクリッ

クします。

23

26. 「Activate」をクリックします。

27. 「Submit」をクリックします。

24

VI. LocalProxy のプロキシ・サービス設定:パート 1

1. ALSB Console Change Centerで、「Create」をクリックして新しいセッションを作成

します。

2. 「Resource Browser」を選択します。

3. Summary of Proxy Servicesページが表示されます。次の図のように、LocalProxyに関

連するActions列で「Edit Message Flow」アイコンをクリックします。

4. メッセージ・フロー・エディタで「LocalProxy」をクリックし、メニューから「Add Route」を選択します。

25

5. 「RouteNode1」をクリックし、「Edit Route」を選択します。

6. 「Add an Action」→「Communication」→「Routing Table」を選択します。

7. Operatorドロップダウン・リストで「<=」を選択します。

8. テキスト・ボックスに10100と入力します(このチュートリアルでは、受信した発注

書に含まれる明細項目の製品IDが 10100 以下の場合は、その発注書を常にVendor-Aに転送するようにルーティング・テーブルを設定します)。

9. 「<Expression>」をクリックして、XQuery Expression Editorを表示します。

26

10. $body/crm:CRM_SALES_ORDER/crm:RO_LINE/crm:PRODUCT_IDと入力します。

11. 「Validate」に続いて「Save」をクリックします。

12. ルーティング・テーブルを定義する画面に戻ります。「Service」をクリックします。

13. サービスのリストから「Vendor-A」を選択します。

14. 「Submit」をクリックします。

27

15. Request Actionで、「Add an Action」→「Message Processing」→「Assign」を選択

します。

16. 「<Expression>」をクリックします。

17. $body/crm:CRM_SALES_ORDER/crm:RO_LINE/crm:PRODUCT_IDと入力します。

18. 「Validate」に続いて「Save」をクリックします。

28

19. 次の図のように、variableテキスト・ボックスにproduct-idと入力します。

20. 「Assign」アイコンをクリックします。「Add an Action」→「Message Processing」→「Assign」を選択します。

21. 「<Expression>」をクリックします。

22. $body/crm:CRM_SALES_ORDER/crm:RO_LINE/crm:QTY_ORDEREDと入力します。

23. 「Validate」に続いて「Save」をクリックします。

29

24. 次の図のように、variableテキスト・ボックスにorder-qtyと入力します。

25. 2 番目の「Assign」アイコンをクリックします。「Add an Action」→「Message Processing」→「Assign」を選択します。

26. 「<Expression>」をクリックします。

27. $body/crm:CRM_SALES_ORDER/crm:RO_LINE/crm:CAPTURE _IDと入力します。

28. 「Validate」に続いて「Save」をクリックします。

30

29. 次の図のように、variableテキスト・ボックスにorder-idと入力します。

30. 3 番目の「Assign」アイコンをクリックします。「Add an Action」→「Message Processing」→「Delete」を選択します。

31

31. 「<XPath>」をクリックして、XPath Expression Editorを表示します。

32. crm:CRM_SALES_ORDER/*と入力します。

33. 「Validate」に続いて「Save」をクリックします。

32

34. 次の図のように、variableテキスト・ボックスにbodyと入力します。

35. 「Delete」アイコンをクリックします。「Add an Action」→「Message Processing」→

「Insert」を選択します。

33

36. 「<Expression>」をクリックして、XQuery Expression Editorを表示します。

37. $product-id,$order-qtyと入力します。

38. 「Validate」に続いて「Save」をクリックします。

39. ドロップダウン・リストで「as first child of」を選択します。

40. 「<XPath>」をクリックして、XPath Expression Editorを表示します。

41. crm:CRM_SALES_ORDERと入力します。

42. 「Validate」に続いて「Save」をクリックします。

34

43. 次の図のように、variableテキスト・ボックスにbodyと入力します。

44. 「Insert」アイコンをクリックし、「Add an Action」→「Message Processing」→「Insert」を選択します。

45. 「<Expression>」をクリックして、XQuery Expression Editorを表示します。

46. <file:fileName>{$order-id}</file:fileName>と入力します。

47. 「Validate」に続いて「Save」をクリックします。

35

48. ドロップダウン・リストで「as first child of」を選択します。

49. 「<XPath>」をクリックして、XPath Expression Editorを表示します。

50. ./ctx:transport/ctx:request/tp:headersと入力します。

51. 「Validate」に続いて「Save」をクリックします。

52. 次の図のように、variableテキスト・ボックスにoutboundと入力します。

36

VII. LocalProxy のプロキシ・サービス設定:パート 2

ここでは、Vendor-B ビジネス・サービスを設定します。

1. 「Case」アイコンをクリックし、「Insert Default Case」を選択します。

2. 「<Service>」を選択し、次にポップアップ・メニューから「Vendor-B」を選択します。

3. 「Submit」をクリックします。

37

4. Vendor-AのRequest Actionsで 1 番目の「Assign」アイコンをクリックし、「Copy」を

選択します。

5. Default Route to Vendor-BのRequest Actionsで「Add an Action」アイコンをクリックし、

「Paste Action」を選択します。

38

6. Vendor-A の残っている個々の Request Actions に対して手順 4~5(コピー/貼り付け)

を繰り返して、これらを Vendor-B の Request Actions にコピーします。Default Route to Vendor-B が次の図のようになっていることを確認してください。

7. 3 番目の「Assign」アイコンをクリックします。「Add an Action」→「Message Processing」→「Assign」を選択します。

39

8. 「<Expression>」をクリックします。

9. $body/crm:CRM_SALES_ORDER/crm:RO_LINE/crm:BUSINESS_UNITと入力します。

10. 「Validate」に続いて「Save」をクリックします。

11. 次の図のように、variableテキスト・ボックスにbusiness-unitと入力します。

12. 次の図のように、「$order-id, $prod…」をクリックします。

13. 次の図のように、$business-unitと入力します(先頭にカンマを付ける)。

14. 「Validate」に続いて「Save」をクリックします。

40

15. ページの最上部にある「Save All」をクリックします。

16. 「Activate」をクリックします。

17. 「Submit」をクリックします。

41

VIII. PeopleSoft Integration Broker の設定

『Oracle Enterprise Service BusへのPeopleSoftアウトバウンド販売注文』チュートリアルを

参照し、記載されている手順の次の点を変更してPeopleSoft Integration Brokerを設定しま

す。

1. "PeopleSoftの統合設定"の項で、手順eのPRIMARY URLに次の値を使用します。

http://<ALSBホストのIPアドレス>:<ALSBポート>/sbconsole

たとえば、http://192.168.198.1:7021/sbconsole を使用します。

ほかのすべての値は、同じままにします。

2. "ルーティングの作成"の項で、手順gのPRIMARY URLに次の値を使用します。

http://<ALSB ホストの IP アドレス>:<ALSB ポート>/PSFT-ALSB/ProxyServices/RouteOrder

たとえば、http://192.168.198.1:7021/PSFT-ALSB/ProxyServices/RouteOrder を使用します。

ほかのすべての値は、同じままにします。

3. "生成されたWSDLからのXSDファイルの作成"の項で、手順gの既存の操作を次の手

順で置き換えます。

A. WSDL Viewer ウィンドウ内を右クリックし、「Select All」を選択します。選択さ

れたコンテンツをメモ帳ファイルにコピーします。

B. <?xml version="1.0"?>を読み込む先頭行は、削除しないでそのまま残します。

C. <xsd:schema>タグと</xsd:schema>タグを含め、これらのタグの間にあるすべての

行は削除しないでそのまま残します。

D. 残りの行を削除します。

E. メモ帳ファイルをCRM_SALES_ORDER.wsdlとして保存します。

42

IX. テスト

『Oracle Enterprise Service BusへのPeopleSoftアウトバウンド販売注文』チュートリアルに

ある"PeopleSoftからの販売注文の送信"の項を参照し、記載されている手順の次の点を変

更してテストを実施します。

1. 手順 3 のあとで、次の操作を実行します。

Add Product(s)フィールドに10102と入力し、「Add」をクリックします。

2. 手順 5 の説明を、次のように置き換えます。

Order StatusにSubmitted Orderと表示され、Order IDフィールドには注文番号が挿入され

ます。

3. 手順 6~9 を、次のように置き換えます。

Windows エクスプローラを使用し、ビジネス・サービスの作成中に指定したフォルダ

(/temp/vendor-a および/temp/vendor-b)に、注文ファイル CRO0307179.xml(ファイル名

は異なる)が作成されていることを確認します。

/temp/vendor-a/CRO0307179.xml には 10100 以下の PRODUCT_ID が含まれ、/temp/vendor-b/ CRO0307179.xml には残りの PRODUCT_ID が含まれています。

43

X. まとめ

このチュートリアルでは、PeopleSoft Integration Broker によって生成されるアウトバウンド

SOAP メッセージを Oracle Service Bus で取り込む方法について説明しました。取り込ま

れたメッセージは、Oracle Service Bus で XQuery によって変換され、コンテンツ・ベース

のルーティングによって適切なビジネス・サービスに転送されます。

44

top related