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. 構成
4.27.3. 実行手順
実行環境の構築を行い、サンプルを実行します。実行後には環境のクリアを行います。
環境構築
実行環境の構築を行います。
起動状況確認
otxadminでドメインとコンポーネントの起動状況を確認します。
- コマンドプロンプトからotxadminを起動します。
C:\>otxadmin
- list-domainsコマンドを実行しドメインの起動状況を確認します。
otxadmin> list-domains
domain1 running
WebOTXAdmin running
domain1がrunningとなっていればドメインは起動しています。
もしdomain1がnot
runningの場合は、start-domainコマンドでdomain1を起動します。
otxadmin> start-domain domain1
- ドメインの起動を確認できたら、loginコマンドでログインを行います。
otxadmin> login --user <ユーザ名> --password <パスワード>
domain1を6212ポート以外で運用している場合は、portオプションでポート番号を指定してください。
-
ログイン後、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
データベースの設定確認
サンプルで利用するデータベースのテーブルやデータの設定を行います。
-
利用するDBに対して 27_create-table.sql を実行し、
テーブルとサンプルデータを作成します。
-
WebOTXにJDBCデータソースを作成します。サンプルのデフォルトはインストール時に作成される
jdbc/Derby となっていますので、変更する場合は設定した内容に合わせ
proj_27_CsvFile_SapCooperation_Processor.zip
で定義されているJDBCデータソース名を編集します。
配備
27_CsvFile_SapCooperation.zipの配備を行います。
配備には環境に応じて以下の3種類の方法があります。
- WebOTX Developer's Studioが利用できる場合
- WebOTX Developer's
Studioがなく、統合運用管理ツールが利用できる場合
- WebOTX Developer's
Studio、統合運用管理ツールいずれも利用できない場合
(1)Developer's
Studioによる配備
- Developer's Studioを起動します。
- ヘルプメニューからヘルプ目次をクリックします。
- 目次から、WebOTX Guide(Enterprise Service Bus) > サンプル集を開きます。
表からproj_27_CsvFile_SapCooperationをそれぞれクリックすることで、プロジェクトをインポートします。
- UNIX環境で実行する場合は、File BCの設定を変更する必要があります。
パッケージ・エクスプローラから各File BCのFileSUをダブルクリックしてSUエディタを開き、エンドポイントを選択します。
入力ファイル格納ディレクトリ、出力ファイル格納ディレクトリ、処理ディレクトリを適切に修正してください。

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

図4.27.3-2
次へ
(3)otxadminによる配備
- 27_CsvFile_SapCooperation.zipを適当なディレクトリに保存します。
- otxadminを起動し、ログインします。
-
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)統合運用管理ツールによる起動
- アプリケーションサーバ > ESB > サービスアセンブリ >
27_CsvFile_SapCooperationを右クリックし起動を選択します。
(2)otxadminによる起動
- start-jbi-service-assemblyコマンドを実行します。
otxadmin> start-jbi-service-assembly 27_CsvFile_SapCooperation
入力シーケンスのディレクトリにファイルを投入し、応答の出力ファイルを確認します。
- 27_input_data.csvをD:\esb\input\inにコピーします。
D:\esb\input\inディレクトリにコピーしたファイルは削除されます。
27_input_data.csvのCSVデータが編集されたファイルが D:\esb\input\outに生成されます。以下の点を確認してください。
- CSVファイルの内容が第3カラム目のデータがLOCAL DBに設定したサンプルデータで置き換わっている。
- CSVファイルの内容が27_input_data.csvにあった第5カラム目のデータが削除されている。
- LOCAL DBに27_input_data.csvにあった第2カラム目と第5カラム目のデータが格納されている。
出力シーケンスの入力ディレクトリにファイルを投入し、応答の出力ファイルを確認します。
- 27_output_data.csvをD:\esb\output\inにコピーします。
D:\esb\output\inディレクトリにコピーしたファイルは削除されます。
27_output_data.csvのCSVデータが編集されたファイルが D:\esb\output\outに生成されます。以下の点を確認してください。
- CSVファイルの内容で末尾に入力シーケンスで退避した27_input_data.csvの第5カラム目のデータが
付与されている。
環境クリア
配備したサービスアセンブリを配備解除し、
入出力に使用したディレクトリの削除を行います。
配備解除には環境に応じて以下の3種類の方法があります。
(1)Developer's Studioによる配備解除
- ウィンドウ > ビューの表示 > サーバー を選択します。
- 表示されたサーバーのビューから配備したサービスアセンブリを右クリックし、除去を選択します。
(2)統合運用管理ツールによる配備解除
- アプリケーションサーバ > ESB > サービスアセンブリ >
27_CsvFile_SapCooperationを右クリックし、
シャットダウンを選択します。
-
シャットダウン完了後、再び27_CsvFile_SapCooperationを右クリックし配備解除を選択します。
(3)otxadminによる配備解除
-
shut-down-jbi-service-assemblyコマンドで27_CsvFile_SapCooperationをシャットダウンします。
otxadmin> shut-down-jbi-service-assembly 27_CsvFile_SapCooperation
-
undeploy-jbi-service-assemblyコマンドで27_CsvFile_SapCooperationを配備解除します。
otxadmin> undeploy-jbi-service-assembly 27_CsvFile_SapCooperation
入出力ディレクトリの削除
-
D:\esb\outputディレクトリとD:\esb\inputディレクトリを削除します。
4.27.4. 注意事項
ユーザプロセッサーを編集した場合は、2.12.5. カスタマイズ用Javaクラスの追加を参照して
Userprocessor SEに変更を反映してください。