4.20. FileバインディングとUserProcessorエンジンの利用3(HULFT-DataMagic)

WebOTX ESB から HULFT-DataMagic(※) を呼び出してCSV形式とXML形式のデータ形式を相互に変換するサンプルです。

※:HULFT-DataMagic はセゾン情報システムズ社の製品です。
※:HULFT-DataMagic の バージョン 01.04.00 (Windows版) および 02.00.00 (Windows版)で動作確認しています。

4.20.1. 概要

入力ディレクトリからファイルを取得し、HULFT-DataMagicでメッセージ変換を行います。
変換した内容を出力ディレクトリに保存します。


図4.20.1-1


  1. File BC が入力ディレクトリからファイルを取得します。
  2. File BC は取得したファイルを UserProcessor SE へ転送します。
  3. UserProcessor SE は DataMagicProcessor を呼び出しファイルデータを HULFT-DataMagic に渡します。
  4. DataMagicProcessor が HULFT-DataMagic からデータを受け取ります。
  5. UserProcessor SE が File BC へ返信します。
  6. File BC は応答を出力ディレクトリにファイル出力します。

4.20.2. 構成

このサンプルでは以下の組み合わせの変換を収録しています。

それぞれの組み合わせで必要となるファイルを説明します。(いくつかのファイルは重複しています。)

HULFT-DataMagic V1.4 による、CSV形式→XML形式の変換
ファイル名 説明
20_FileInbound_DataMagic.zip CSV→XML変換のパターンのサービスアセンブリです。ESBに配備して使用します。
proj_20_FileInbound_DataMagic.zip CSV→XML変換のパターンのサービスアセンブリのプロジェクトファイルです。サービスアセンブリのパラメータを参照・編集する場合に、 Developers' Studioにインポートして使用します。
proj_20_DataMagicProcessor.zip UserProcessorSEプロセッサのプロジェクトファイルです。DataMagicを呼び出すDataMagicProcessorのサンプルプログラムを参照・編集する場合に、 Developers' Studioにインポートして使用します。
csv2xml.param CSV→XML変換のパターンでHULFT-DataMagicが使用するパラメータファイルです。
csv001 HULFT-DataMagic V1.4 が使用するデータ形式情報ファイル(CSV情報)です。
xml001 HULFT-DataMagic V1.4 が使用するデータ形式情報ファイル(XML情報)です。
TestData.csv CSV→XML変換のパターンの入力データです。
HULFT-DataMagic V1.4 による、XML形式→CSV形式の変換
ファイル名 説明
20_FileInbound_DataMagic_XMLInput.zip XML→CSV変換のパターンのサービスアセンブリです。ESBに配備して使用します。
proj_20_FileInbound_DataMagic_XMLInput.zip XML→CSV変換のパターンのサービスアセンブリのプロジェクトファイルです。サービスアセンブリのパラメータを参照・編集する場合に、 Developers' Studioにインポートして使用します。
proj_20_DataMagicProcessor.zip UserProcessorSEプロセッサのプロジェクトファイルです。DataMagicを呼び出すDataMagicProcessorのサンプルプログラムを参照・編集する場合に、 Developers' Studioにインポートして使用します。
xml2csv.param XML→CSV変換のパターンでHULFT-DataMagicが使用するパラメータファイルです。
xml2csv.env XML→CSV変換のパターンでHULFT-DataMagicが使用する環境ファイルです。(入力XMLファイルの繰り返し要素について設定されます。)
csv001 HULFT-DataMagic V1.4 が使用するデータ形式情報ファイル(CSV情報)です。
xml001 HULFT-DataMagic V1.4 が使用するデータ形式情報ファイル(XML情報)です。
TestData.xml XML→CSV変換のパターンの入力データです。
HULFT-DataMagic V2.0 による、CSV形式→XML形式の変換
ファイル名 説明
20_FileInbound_DataMagicV2.zip CSV→XML変換のパターンのサービスアセンブリです。ESBに配備して使用します。
proj_20_FileInbound_DataMagicV2.zip CSV→XML変換のパターンのサービスアセンブリのプロジェクトファイルです。サービスアセンブリのパラメータを参照・編集する場合に、 Developers' Studioにインポートして使用します。
proj_20_DataMagicProcessor.zip UserProcessorSEプロセッサのプロジェクトファイルです。DataMagicを呼び出すDataMagicProcessorのサンプルプログラムを参照・編集する場合に、 Developers' Studioにインポートして使用します。
dm_v2_param HULFT-DataMagic V2.0 が使用する管理情報です。
TestData.csv CSV→XML変換のパターンの入力データです。
HULFT-DataMagic V2.0 による、XML形式→CSV形式の変換
ファイル名 説明
20_FileInbound_DataMagicV2_XMLInput.zip XML→CSV変換のパターンのサービスアセンブリです。ESBに配備して使用します。
proj_20_FileInbound_DataMagicV2_XMLInput.zip XML→CSV変換のパターンのサービスアセンブリのプロジェクトファイルです。サービスアセンブリのパラメータを参照・編集する場合に、 Developers' Studioにインポートして使用します。
proj_20_DataMagicProcessor.zip UserProcessorSEプロセッサのプロジェクトファイルです。DataMagicを呼び出すDataMagicProcessorのサンプルプログラムを参照・編集する場合に、 Developers' Studioにインポートして使用します。
dm_v2_param HULFT-DataMagic V2.0 が使用する管理情報です。
TestData.xml XML→CSV変換のパターンの入力データです。

4.20.3. 実行手順

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

以降では、環境構築以降はCSV→XML変換のパターンで説明します。 XML→CSV変換のパターンも手順は同じなので、「4.20.2.構成」のファイルの説明を参考に、 XML→CSV変換のパターンのファイルに適宜読み替えて実行してください。

環境構築

HULFT-DataMagicに関する設定と、サービスアセンブリの配備を行います。


HULFT-DataMagicのインストールと設定

HULFT-DataMagicのバージョンにより手順が異なります。

[HULFT-DataMagic V1.4の場合]

  1. HULFT-DataMagicを製品マニュアルに従いインストールしてください。
    デフォルトのインストールパス(C:\HULFT Family\huledpro)以外の場所にインストールした場合は、 proj_20_FileInbound_DataMagic.zip, proj_20_FileInbound_DataMagic_XMLInput.zip をDeveloper's Studioに インポートして、utledPath のパラメータ値を変更してください。
  2. cvs2xml.param, xml2csv.param, xml2csv.env をC:ドライブ直下(例 C:\csv2xml.param)に保存してください。
    C:ドライブ直下以外の場所に保存する場合は、 proj_20_FileInbound_DataMagic.zip, proj_20_FileInbound_DataMagic_XMLInput.zip をDeveloper's Studioに インポートして paramFilePath のパラメータ値を変更した後、サービスアセンブリをエクスポートしてください。以降の「配備」ではこのサービスアセンブリを使用します。
    次に、xml2csv.paramをテキストエディタで開き、冒頭の<COMMNDFILE>内に設定されているパスを修正してください。
  3. HULFT-DataMagicを起動して、csv001xml001 をデータ形式情報ファイルとしてインポートしてください。

サンプルの DataMagicProcessor および FileInputDataMagicProcessor には下記のパラメータを指定可能です。

パラメータ名説明
utledPath utled.exeへのファイルパスを指定します。[必須]
例: C:\HULFT Family\huledpro\utled.exe
paramFilePath HULFT-DataMagicで定義した変換パターンのファイルを指定します。[必須]
例: C:\csv2xml.param
inputType DataMagicへの入力メッセージをNormalizedMessageのCONTENT領域かAttachment領域かどちらから取得するかを選択します。[任意]
"CONTENT" か "ATTACHMENT" を指定します。指定しない場合(デフォルト)は "CONTENT" です。
outputType DataMagicからの出力メッセージをNormalizedMessageのCONTENT領域かAttachment領域かどちらに格納するかを選択します。[任意]
"CONTENT" か "ATTACHMENT" を指定します。指定しない場合(デフォルト)は "CONTENT" です。

[HULFT-DataMagic V2.0の場合]

  1. HULFT-DataMagicを製品マニュアルに従いインストールしてください。
    デフォルトのインストールパス(C:\HULFT Family\huledpro)以外の場所にインストールした場合は、 proj_20_FileInbound_DataMagicV2.zip, proj_20_FileInbound_DataMagicV2_XMLInput.zip をDeveloper's Studio にインポートして、utledPath パラメータを変更してください。
  2. HULFT-DataMagicを起動して、dm_v2_param を以下のコマンドにより管理情報ファイルとしてインポートしてください。
    C:\HULFT Family\huledpro>utlediupdt -f dm_v2_param

サンプルの DataMagicV2Processor および FileInputDataMagicV2Processor には下記のパラメータを指定可能です。

パラメータ名パラメータ値の説明
utledPath utled.exeへのファイルパスを指定します。[必須]
例: C:\HULFT Family\huledpro\utled.exe
dataTransID HULFT-DataMagicで定義した変換パターンのIDを指定します。[必須]
例: CSVtoXML
inputType DataMagicへの入力メッセージをNormalizedMessageのCONTENT領域かAttachment領域かどちらから取得するかを選択します。[任意]
"CONTENT" か "ATTACHMENT" を指定します。指定しない場合(デフォルト)は "CONTENT" です。
outputType DataMagicからの出力メッセージをNormalizedMessageのCONTENT領域かAttachment領域かどちらに格納するかを選択します。[任意]
"CONTENT" か "ATTACHMENT" を指定します。指定しない場合(デフォルト)は "CONTENT" です。

下記の図はプロジェクトファイルをDeveloper's Studioにインポートした場合の画面です。
赤枠の「プロセッサーのパラメーター」の項目が変更可能です。



図4.20.3-1




起動状況確認

otxadminでドメインとコンポーネントの起動状況を確認します。

  1. otxadminでを実行しドメインの起動状況を確認します。
    domain1がrunningとなっていればドメインは起動しています。
    もしdomain1がnot runningの場合は、start-domainコマンドでdomain1を起動します。
  2. ドメインの起動を確認できたら、loginコマンドでログインを行います。
  3. ログイン後、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
     --------------------------------
    
    FileBindingstartedになっていることを確認します。
    もしStoppedになっている場合は、start-jbi-componentコマンドで起動します。
    otxadmin> start-jbi-component FileBinding
  4. ログイン後、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
    --------------------------------
    
    UserProcessorEnginestartedになっていることを確認します。
    もしStoppedになっている場合は、start-jbi-componentコマンドで起動します。
    otxadmin> start-jbi-component UserProcessorEngine
サービスアセンブリ配備

20_FileInbound_DataMagic.zip を配備します。
配備には環境に応じて以下の3種類の方法があります。

  1. WebOTX Developers' Studioが利用できる場合
  2. WebOTX Developers' Studioがなく、統合運用管理ツールが利用できる場合
  3. WebOTX Developers' Studio、統合運用管理ツールいずれも利用できない場合

(1) Developers' Studioによる配備

  1. Developers' Studioを起動します。
  2. ヘルプメニューからヘルプ目次をクリックします。
  3. 目次から、WebOTX Guide(Enterprise Service Bus) > サンプル集を開きます。
    表から proj_20_FileInbound_DataMagic をそれぞれクリックすることで、プロジェクトをインポートします。
  4. パッケージエクスプローラからプロジェクトを右クリックし、実行 > サーバーで実行 を選択します。
  5. 配備先のサーバーを選択し、配備を行います。

次へ

(2) 統合運用管理ツールによる配備

  1. 20_FileInbound_DataMagic.zip を適当なディレクトリに保存します。
  2. 統合運用管理ツールを起動します。
  3. domain1を右クリックし接続を選択します。ユーザ名、パスワードを入力し接続ボタンをクリックします。
  4. domain1配下のアプリケーションサーバ > ESB > サービスアセンブリを右クリックしサービスアセンブリの配備を選択します。
  5. 参照ボタンから20_FileInbound_DataMagic.zipを選択します。
    WebOTX AS Standard/Enterpriseのアドバンスドモードの場合は、アプリケーショングループとプロセスグループを指定します。
    配備ボタンを押すと配備が実行されます。

次へ

(3) otxadmin による配備

  1. 20_FileInbound_DataMagic.zip を適当なディレクトリに保存します。
  2. otxadmin を起動し、ログインします。
  3. deploy-jbi-service-assembly コマンドで 20_FileInbound_DataMagic.zip の配備を行います。
    WebOTX AS Express、もしくはWebOTX AS Standard/Enterpriseのスタンダードモードの場合は以下を実行します。
    otxadmin> deploy-jbi-service-assembly <20_FileInbound_DataMagic.zipへのパス>
    WebOTX AS Standard/Enterpriseのアドバンスドモードの場合は以下を実行します。
    otxadmin> deploy-jbi-service-assembly --apgroup <アプリケーショングループ名> --pgroup <プロセスグループ名> <20_FileInbound_DataMagic.zipへのパス>
サービスアセンブリの起動

統合運用管理ツールもしくは otxadmin から、配備したサービスアセンブリを起動します。

(1) 統合運用管理ツールによる起動

  1. アプリケーションサーバ > ESB > サービスアセンブリ > 20_FileInbound_DataMagic を右クリックし 起動 を選択します。

(2) otxadminによる起動

  1. start-jbi-service-assembly コマンドを実行します。
    otxadmin> start-jbi-service-assembly 20_FileInbound_DataMagic

実行

入力ディレクトリに入力ファイル(CSV)を投入し、応答の出力ファイル(XML)を確認します。

  1. TestData.csvC:\esb_samples\20_FileInbound_DataMagic\in にコピーします。
  2. 数秒後、C:\esb_samples\20_FileInbound_DataMagic\in ディレクトリにコピーしたファイルが削除されたことを確認します。
  3. C:\esb_samples\20_FileInbound_DataMagic\outout_TestData_000**.xmlが生成されていることを確認します。内容は下記の通りです。
<?xml version="1.0" encoding="Shift_JIS" standalone="yes" ?><root><records><ID>ID</ID><NAME>NAME</NAME><CITY>CITY</CITY></records><records><ID>1</ID><NAME>NIPPON Taro</NAME><CITY>Minato City</CITY></records><records><ID>2</ID><NAME>NIPPON Hanako</NAME><CITY>Kawasaki City</CITY></records><records><ID>3</ID><NAME>SUZUKI Moeko</NAME><CITY>Yokohama City</CITY></records></root>

メッセージログの確認

メッセージログを確認し、送信されたメッセージを確認します。
メッセージログ機能については2.16. メッセージログ機能の利用を参照してください。

環境クリア

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

(1) Developers' Studioによる配備解除

  1. ウィンドウ > ビューの表示 > サーバー を選択します。
  2. 表示されたサーバーのビューから配備したサービスアセンブリを右クリックし、除去を選択します。

(2) 統合運用管理ツールによる配備解除

  1. アプリケーションサーバ > ESB > サービスアセンブリ > 20_FileInbound_DataMagic を右クリックし、
    シャットダウンを選択します。
  2. シャットダウン完了後、再び20_FileInbound_DataMagic を右クリックし 配備解除 を選択します。

(3) otxadminによる配備解除

  1. shut-down-jbi-service-assembly コマンドで 20_FileInbound_DataMagic をシャットダウンします。
    otxadmin> shut-down-jbi-service-assembly 20_FileInbound_DataMagic
  2. undeploy-jbi-service-assembly コマンドで 20_FileInbound_DataMagic を配備解除します。
    otxadmin> undeploy-jbi-service-assembly 20_FileInbound_DataMagic
入出力ディレクトリの削除
  1. C:\esb_samples\20_FileInbound_DataMagic ディレクトリを削除します。

4.20.4. 注意事項

特になし。