4.27. CSVファイルを利用したSAPシステムとの連携

4.27.1. 概要

SAPシステムへの入力のシーケンスとSAPシステムからの出力のシーケンスの2つに分かれています。

SAPシステムへの入力シーケンスの場合、入力ディレクトリからCSVファイルを取得し、UserProcessor SEでCSVデータのある項目をキーに業務DBから値を取得しCSVデータの項目を置き換えます。また、別の項目はSAPへの入力データとしては不要なためキー項目と一緒に一時DBに退避しCSVデータからは削除します。編集した CSVデータを出力ディレクトリに保存します。SAPシステム側で出力されたCSVファイルを読み取り処理を行います。

出力シーケンスの場合、SAPシステムから出力されたCSVファイルをFile BCで受け、UserProcessor SEで入力シーケンス で退避したデータをCSVファイルの項目から引き当ててCSVファイルへ追加し、出力先のディレクトリへ格納します。



図4.27.1-1



上図の各番号に対応したデータフローが以下になります。



図4.27.1-2




4.27.2. 構成

ファイル名 説明
27_CsvFile_SapCooperation.zip 入力ディレクトリからファイルを受け取り処理するサービスアセンブリです。
27_input_data.csv 入力シーケンスで利用する連携するシステムが出力するCSVファイルのテストデータです。
27_output_data.csv 出力シーケンスで利用するSAPが出力するCSVファイルのテストデータです。
27_create-table.sql 本サンプルで利用するデータベースのテーブルとテストデータの作成クエリです。
内容はDerby向けになっています。
proj_27_CsvFile_SapCooperation.zip サービスアセンブリのプロジェクトファイルです。
proj_27_CsvFile_SapCooperation_Processor.zip ユーザプロセッサーのプロジェクトファイルです。

4.27.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がstartedになっていることを確認します。
    もしStoppedになっている場合は、start-jbi-componentコマンドで起動します。
    otxadmin> start-jbi-component FileBinding

データベースの設定確認
サンプルで利用するデータベースのテーブルやデータの設定を行います。
  1. 利用するDBに対して 27_create-table.sql を実行し、 テーブルとサンプルデータを作成します。
  2. WebOTXにJDBCデータソースを作成します。サンプルのデフォルトはインストール時に作成される jdbc/Derby となっていますので、変更する場合は設定した内容に合わせ proj_27_CsvFile_SapCooperation_Processor.zip で定義されているJDBCデータソース名を編集します。
配備
27_CsvFile_SapCooperation.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_27_CsvFile_SapCooperationをそれぞれクリックすることで、プロジェクトをインポートします。
  4. UNIX環境で実行する場合は、File BCの設定を変更する必要があります。
    パッケージ・エクスプローラから各File BCのFileSUをダブルクリックしてSUエディタを開き、エンドポイントを選択します。
    入力ファイル格納ディレクトリ、出力ファイル格納ディレクトリ、処理ディレクトリを適切に修正してください。


    図4.27.3-1



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

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


    図4.27.3-2



次へ

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

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

実行(入力シーケンス)
入力シーケンスのディレクトリにファイルを投入し、応答の出力ファイルを確認します。
  1. 27_input_data.csvD:\esb\input\inにコピーします。
    D:\esb\input\inディレクトリにコピーしたファイルは削除されます。
    27_input_data.csvのCSVデータが編集されたファイルが D:\esb\input\outに生成されます。以下の点を確認してください。

実行(出力シーケンス)
出力シーケンスの入力ディレクトリにファイルを投入し、応答の出力ファイルを確認します。
  1. 27_output_data.csvD:\esb\output\inにコピーします。
    D:\esb\output\inディレクトリにコピーしたファイルは削除されます。
    27_output_data.csvのCSVデータが編集されたファイルが D:\esb\output\outに生成されます。以下の点を確認してください。

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

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

4.27.4. 注意事項

ユーザプロセッサーを編集した場合は、2.12.5. カスタマイズ用Javaクラスの追加を参照して Userprocessor SEに変更を反映してください。