4.26. File、SAPバインディングと XSLT エンジンの使用

4.26.1. 概要

入力ディレクトリからXMLファイルを取得し、メッセージをXSLT変換後、SAPのBAPIを実行します。
その後、BAPIの実行結果を再度XSLT変換し、出力ディレクトリに保存します。

本サンプルは 2.4.3.3. MES連携(FILE)のサービスアセンブリプロジェクトの作成 で作成されるサービスアセンブリと同じ構成です。


図4.26.1-1



  1. File BC(Inbound)が入力ディレクトリからXMLファイルを取得します。
  2. File BCがSequencing SEに取得したファイルを転送します。
  3. Sequencing SEはXSLT SEにメッセージを転送します。
  4. XSLT SEはメッセージを変換してSequencing SEに返信します。
  5. Sequencing SEは、XSLT SEから返信されたメッセージをSAP BC(Outbound)に転送します。
  6. SAP BCはメッセージを元にSAPのBAPIを呼び出します。
  7. SAP BCはSAPの処理結果を受信します。
  8. SAP BCはSequencing SEに返信します。
  9. Sequencing SEはXSLT SEにメッセージを転送します。
  10. XSLT SEはメッセージを変換してSequencing SEに返信します。
  11. Sequencing SEはFile BCに返信します。
  12. File BCは応答を出力ディレクトリにファイル出力します。

4.26.2. 構成

ファイル名 説明
26_FileInbound_XSLT_SAPOutbound.zip 入力ディレクトリからファイルを受け取り処理するサービスアセンブリです。
26_TestData.xml クライアントが送信するテストデータです。
proj_26_FileInbound_XSLT_SAPOutbound.zip サービスアセンブリのプロジェクトファイルです。
proj_26_Mapping.zip XMLマッピングのプロジェクトファイルです。

4.26.3. 実行手順

実行環境の構築を行い、サンプルを実行します。実行後には環境のクリアを行います。

環境構築
実行環境の構築を行います。

起動状況確認
otxadminでドメインとコンポーネントの起動状況を確認します。
  1. コマンドプロンプトからotxadminを起動します。
    C:\>otxadmin
  2. list-domainsコマンドを実行しドメインの起動状況を確認します。
    otxadmin> list-domains
    domain1 running
    WebOTXAdmin running
    
    domain1がrunningとなっていればドメインは起動しています。
    もしdomain1がnot runningの場合は、start-domainコマンドでdomain1を起動します。
    otxadmin> start-domain domain1
  3. ドメインの起動を確認できたら、loginコマンドでログインを行います。
    otxadmin> login --user <ユーザ名> --password <パスワード>
    domain1を6212ポート以外で運用している場合は、portオプションでポート番号を指定してください。
  4. ログイン後、list-jbi-binding-componentsコマンドで各コンポーネントの起動状況を確認します。
    otxadmin> list-jbi-binding-components
    
     ================================
     List of Binding Components
     ================================
     Name : CORBABinding
     State: Started
     --------------------------------
     Name : FTPBinding
     State: Started
     --------------------------------
     Name : FileBinding
     State: Started
     --------------------------------
     (中略)
     --------------------------------
     Name : SOAPBinding
     State: Started
     --------------------------------
    
    FileBinding、SAPBindingがstartedになっていることを確認します。
    もしStoppedになっている場合は、start-jbi-componentコマンドで起動します。
    otxadmin> start-jbi-component SAPBinding
  5. list-jbi-service-enginesコマンドで各サービスエンジンの起動状況を確認します。
    otxadmin> list-jbi-service-engines
    
    ================================
    List of Service Engines
    ================================
    Name : CBREngine
    State: Started
    --------------------------------
    Name : SequencingEngine
    State: Started
    --------------------------------
    Name : UserProcessorEngine
    State: Started
    --------------------------------
    Name : XSLTEngine
    State: Started
    --------------------------------
    
    SequencingEngine、XSLTEngineがstartedになっていることを確認します。
    もしStoppedになっている場合は、start-jbi-componentコマンドで起動します。
    otxadmin> start-jbi-component XSLTEngine
SAPシステムの登録
SAP BCが使用するSAPシステムの登録を行います。
SAPバインディングを右クリックし、SAPシステム登録を選択します。
コネクタリソースのJNDI名に eis/SAP を入力後、各項目にSAPとの接続に必要な情報を入力しSAPシステム登録を実行します。


図4.26.3-1


配備
26_FileInbound_XSLT_SAPOutbound.zipの配備を行います。

配備には環境に応じて以下の3種類の方法があります。
  1. WebOTX Developer's Studioが利用できる場合
  2. WebOTX Developer's Studioがなく、統合運用管理ツールが利用できる場合
  3. WebOTX Developer's Studio、統合運用管理ツールいずれも利用できない場合
(1)Developer's Studioによる配備
  1. Developer's Studioを起動します。
  2. ヘルプメニューからヘルプ目次をクリックします。
  3. 目次から、WebOTX Guide(Enterprise Service Bus) > サンプル集を開きます。
    表からproj_26_FileInbound_XSLT_SAPOutboundをそれぞれクリックすることで、プロジェクトをインポートします。
  4. UNIX環境で実行する場合は、File BCの設定を変更する必要があります。
    パッケージ・エクスプローラからFileSUをダブルクリックしてSUエディタを開き、エンドポイントを選択します。
    入力ファイル格納ディレクトリ、出力ファイル格納ディレクトリ、処理ディレクトリを適切に修正してください。


    図4.26.3-2



  5. パッケージエクスプローラからプロジェクトを右クリックし、実行 > サーバーで実行 を選択します。
  6. 配備先のサーバーを選択し、配備を行います。
次へ

(2)統合運用管理ツールによる配備
  1. 26_FileInbound_XSLT_SAPOutbound.zipを適当なディレクトリに保存します。
  2. 統合運用管理ツールを起動します。
  3. domain1を右クリックし接続を選択します。ユーザ名、パスワードを入力し接続ボタンをクリックします。
  4. domain1配下のアプリケーションサーバ > ESB > サービスアセンブリを右クリックしサービスアセンブリの配備を選択します。
  5. 参照ボタンから26_FileInbound_XSLT_SAPOutbound.zipを選択します。
    WebOTX AS Standard/Enterpriseのアドバンスドモードの場合は、アプリケーショングループとプロセスグループを指定します。
    配備ボタンを押すと配備が実行されます。
    ただしUNIX環境で実行する場合は配備ボタンでなく次へボタンを押します。
    FileSUエンドポイントを選択し、各ディレクトリパスを修正してください。


    図4.26.3-3



次へ

(3)otxadminによる配備
  1. 26_FileInbound_XSLT_SAPOutbound.zipを適当なディレクトリに保存します。
  2. otxadminを起動し、ログインします。
  3. deploy-jbi-service-assemblyコマンドで26_FileInbound_XSLT_SAPOutbound.zipの配備を行います。
    WebOTX AS Express、もしくはWebOTX AS Standard/Enterpriseのスタンダードモードの場合は以下を実行します。
    otxadmin> deploy-jbi-service-assembly <26_FileInbound_XSLT_SAPOutbound.zipへのパス>
    WebOTX AS Standard/Enterpriseのアドバンスドモードの場合は以下を実行します。
    otxadmin> deploy-jbi-service-assembly --apgroup <アプリケーショングループ名> --pgroup <プロセスグループ名> <26_FileInbound_XSLT_SAPOutbound.zipへのパス>
    ただしUNIX環境で実行する場合はmodifyオプションをtrueにし、FileSUのエンドポイントの各ディレクトリパスを修正してください。
サービスアセンブリの起動
統合運用管理ツールもしくはotxadminから、配備したサービスアセンブリを起動します。

(1)統合運用管理ツールによる起動
  1. アプリケーションサーバ > ESB > サービスアセンブリ > 26_FileInbound_XSLT_SAPOutboundを右クリックし起動を選択します。
(2)otxadminによる起動
  1. start-jbi-service-assemblyコマンドを実行します。
    otxadmin> start-jbi-service-assembly 26_FileInbound_XSLT_SAPOutbound

実行
入力ディレクトリにファイルを投入し、応答の出力ファイルを確認します。
  1. 26_TestData.xmlC:\esb_samples\26_FileInbound_XSLT_SAPOutbound\inにコピーします。
    C:\esb_samples\26_FileInbound_XSLT_SAPOutbound\inディレクトリにコピーしたファイルは削除されます。
  2. C:\esb_samples\26_FileInbound_XSLT_SAPOutbound\outout_26_TestData_*****.xmlが生成されていることを確認します。
  3. out_26_TestData_*****.xmlに、銀行の一覧のリストが取得されていることを確認します。

環境クリア
配備したサービスアセンブリを配備解除し、
入出力に使用したディレクトリの削除を行います。
配備解除には環境に応じて以下の3種類の方法があります。

(1)Developer's Studioによる配備解除
  1. ウィンドウ > ビューの表示 > サーバー を選択します。
  2. 表示されたサーバーのビューから配備したサービスアセンブリを右クリックし、除去を選択します。
(2)統合運用管理ツールによる配備解除
  1. アプリケーションサーバ > ESB > サービスアセンブリ > 26_FileInbound_XSLT_SAPOutboundを右クリックし、
    シャットダウンを選択します。
  2. シャットダウン完了後、再び26_FileInbound_XSLT_SAPOutboundを右クリックし配備解除を選択します。
(3)otxadminによる配備解除
  1. shut-down-jbi-service-assemblyコマンドで26_FileInbound_XSLT_SAPOutboundをシャットダウンします。
    otxadmin> shut-down-jbi-service-assembly 26_FileInbound_XSLT_SAPOutbound
  2. undeploy-jbi-service-assemblyコマンドで26_FileInbound_XSLT_SAPOutboundを配備解除します。
    otxadmin> undeploy-jbi-service-assembly 26_FileInbound_XSLT_SAPOutbound
入出力ディレクトリの削除
  1. C:\esb_samples\26_FileInbound_XSLT_SAPOutbound\inディレクトリ、C:\esb_samples\26_FileInbound_XSLT_SAPOutbound\outディレクトリ、C:\esb_samples\26_FileInbound_XSLT_SAPOutbound\processディレクトリを削除します。

4.26.4. 注意事項

特になし。