付録D.4 CSVデータ読み込みサンプル
CSVデータ読み込みサンプルでは,CSV形式のファイルからファイルアダプタによってデータを読み込み,DBアダプタを通してデータベースに格納します。このとき,入力ファイルの製品コードが「1001」である製品だけを取得してデータベースに格納します。製品コードの検索はデータ変換機能で実現します。
入出力項目を次の表に示します。
入出力項目 |
内容 |
---|---|
ファイルアダプタの入力ファイル |
<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\sample\read_csv\read_csv_data.csv |
DBアダプタの出力テーブル |
ADMIN.CSAFF_SAMPLE_RC※ |
- 〈この項の構成〉
(1) ファイルアダプタの定義
(a) ファイルアダプタの追加と検証
ファイルアダプタを追加設定し,検証する手順を次に示します。
-
Eclipseのメニューから,[ウィンドウ]−[ビューの表示]−[その他]を選択します。
[ビューの表示]ダイアログが表示されます。
-
[HCSC-Definer]−[HCSCTE ビュー]を選択し,[開く]ボタンをクリックします。
ツリービューにサービス定義一覧が表示されます。
-
ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。
サービスアダプタ定義追加ウィザードが表示されます。
-
サービス部品の種別のドロップダウンリストから「ファイルアダプタ」を選択します。
-
[次へ]ボタンをクリックします。
サービスアダプタ定義追加(ファイルアダプタ)ウィザードが表示されます。
-
サービス名を入力します。
サービス名には,「CSAFF_SAMPLE_READ_CSV」と入力します。
-
[終了]ボタンをクリックします。
必要なファイルが作成され,リポジトリに保存されます。サービスアダプタ定義画面(基本)が表示されます。
-
サービスアダプタ定義画面(基本)およびサービスアダプタ定義画面(詳細)を設定します。
設定内容については,「ファイルアダプタの設定内容(CSVデータ読み込みサンプル)」を参照してください。
-
定義内容を確認して,Eclipseのメニューから[ファイル]−[保管]を選択し,定義内容を保存します。
-
ファイルアダプタの設定を検証します。
ツリービューのサービス定義一覧で右クリックして表示されるサービス一覧のポップアップメニューから,「検証」を選択すると,検証結果がコンソールビューに表示されます。
- ファイルアダプタの設定内容(CSVデータ読み込みサンプル)
-
CSVデータ読み込みサンプルのファイルアダプタを定義する場合の,サービスアダプタ定義画面(基本)での設定項目を次の表に示します。なお,表に記載されていない項目については,設定不要です。
表D‒20 サービスアダプタ定義画面(基本)の設定内容(CSVデータ読み込みサンプル) 分類
項目
設定値
設定
サービス部品制御情報
サービス名
CSAFF_SAMPLE_READ_CSV
◎
サービスID
CSAFF_RC
◎
サービス種別
ファイルアダプタ
×
最大インスタンス数
0
◎
オペレーション
定義パターン:バイナリ読み込み
オペレーション名:CSAFF_SAMPLE_READ_CSV
◎
オペレーション情報
オペレーション名
CSAFF_SAMPLE_READ_CSV
×
通信モデル
同期
◎
要求電文
標準
使う(チェックボックス)
使わない(チェックしない)
◎
サービス部品
電文フォーマット
adpff_read.xsd
×
応答電文
標準
使う(チェックボックス)
使う(チェックする)
◎
電文フォーマット
csaff_sample_read_csv_standard.xsd
◎
サービス部品
電文フォーマット
csaff_sample_read_csv.fdx
◎
データ変換定義
SAMPLE_READ_CSV_DT
◎
CSVデータ読み込みサンプルのファイルアダプタを定義する場合の,サービスアダプタ定義画面(詳細)での設定項目を次の表に示します。なお,表に記載されていない項目については,設定不要です。
分類 |
項目 |
設定値 |
設定 |
---|---|---|---|
サービスアダプタ制御情報 |
サービスアダプタ(EJB-JARファイル) |
cscmsg_adpejb.jar |
× |
ユーティリティクラス(JARファイル) |
adpffpc.jar |
× |
(b) データ変換定義
データ変換定義を設定します。設定するデータ変換定義を次の図に示します。
データ変換定義の手順を次に示します。
-
アダプタ定義画面のデータ変換(マッピング)定義画面を表示します。
データ変換(マッピング)定義画面が表示されたあと,[ルート要素選択]ダイアログが表示されます。
-
すべてのスキーマ論理名のルート要素を選択します。
[OK]ボタンがクリックできる状態になります。
-
[OK]ボタンをクリックします。
変換元スキーマツリービューアおよび変換先スキーマツリービューアに,選択したルート要素のスキーマがツリー表示されます。
-
マッピングします。
マッピングでは次の作業を行います。
-
ファンクションの配置とファンクションの設定
ファンクションの設定内容を次に示します。
表D‒22 ファンクションの設定内容(CSVデータ読み込みサンプル-ファイルアダプタ) ファンクション
ファンクション名
設定値
loop
loop1
ノード選択
csaff_sample_read_csv_data
ノード条件設定
下表参照
表D‒23 loop1の設定内容 分類
設定値
ノード
csaff_sample_read_csv_data
条件
条件
条件式
左辺
ノード・ファンクション(PRODUCT_CODE)
等符号
=
右辺
値(1001)
-
ノード間のマッピングの設定
ノード間のマッピングの設定内容を次の表に示します。
表D‒24 マッピングの設定内容(CSVデータ読み込みサンプル-ファイルアダプタ) 変換元ノード
ファンクション
変換先ノード
−
loop1
DATA
ORDER_NO
−
ORDER_NO
CUSTOMER_CODE
−
CUSTOMER_CODE
PRODUCT_CODE
−
PRODUCT_CODE
ORDER_COUNT
−
ORDER_COUNT
-
-
データ変換(マッピング)定義画面の変換元スキーマツリービューア,マッピングビューア,または変換先スキーマツリービューアの適当な場所で右クリックして,[検証]を選択します。
検証が実行されます。
(c) ファイルアダプタ実行環境プロパティファイルの作成
ファイルアダプタ実行環境プロパティファイルを作成する手順を次に示します。
-
サンプルで提供するファイルアダプタ実行環境プロパティファイルを,テキストエディタで開きます。
サンプルで提供するファイルアダプタ実行環境プロパティファイルは,「<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\sample\read_csv\CSAFF_RC.properties」です。
-
次の内容を記述します。
fileaccess.path1 = <サービスプラットフォームのインストールディレクトリ>\\CSC\\custom-adapter\\File\\sample\\read_csv
- 注意事項
-
ディレクトリの区切り文字は,「\\」で記述します。
-
ファイルを保存し,「<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\config」に格納します。
(2) ビジネスプロセスの定義
ビジネスプロセスの定義は,ビジネスプロセスの追加,ビジネスプロセスの内容の定義,ビジネスプロセスの検証の順で行います。
(a) ビジネスプロセスの追加
ビジネスプロセスを追加する手順を次に示します。
-
Eclipseのメニューから,[ウィンドウ]−[ビューの表示]−[その他]を選択します。
[ビューの表示]ダイアログが表示されます。
-
[HCSC-Definer]−[HCSCTE ビュー]を選択し,[開く]ボタンをクリックします。
ツリービューにサービス定義一覧が表示されます。
-
ツリービューのサービス定義一覧で右クリックして「ビジネスプロセス追加」を選択します。
ビジネスプロセス定義を追加するためのダイアログが表示されます。
-
ビジネスプロセス名を入力し,ステータスを永続化するかどうか(ビジネスプロセスの実行状態をデータベースに保存するかどうか)を選択します。
ビジネスプロセス名には,「CSAFF_SAMPLE_BP_READ_CSV」と入力します。
ステータスの永続化には,「yes」を選択します。
- 参考
-
BPELファイルは使用しません。
-
[終了]ボタンをクリックします。
必要なファイルが作成され,リポジトリに保存されます。ビジネスプロセス定義画面が表示されます。
(b) 変数の設定
次に示す変数を設定します。
-
CSAFF_DB_RequestMessage
-
CSAFF_DB_ResponseMessage
-
CSAFF_RequestMessage
-
CSAFF_ResponseMessage
- 参考
-
サンプルでは相関セットを使用しません。
変数を設定する手順を次に示します。
-
ビジネスプロセス定義画面のキャンバス上の[変数・相関セット]アイコンをダブルクリックします。
[変数・相関セット一覧]ダイアログが表示されます。
-
一覧から「変数一覧」を選択します。
-
変数名を入力します。
-
[種別]のドロップダウンリストから「XML」を選択します。
-
次のどちらかの操作をします。
- CSAFF_DB_ResponseMessage,CSAFF_RequestMessageまたはCSAFF_ResponseMessageの場合
-
[取込]ボタンをクリックして表示される[電文フォーマットの取込]ダイアログで,使用する電文フォーマットを指定します。設定内容については,「変数の設定内容(CSVデータ読み込みサンプル)」を参照してください。
- CSAFF_DB_RequestMessageの場合
-
[...]ボタンをクリックして,「csaff_sample_read_csv_dt.xsd」を設定します。
-
[追加]ボタンをクリックします。
変数一覧に,追加した変数が表示されます。
-
変数ごとに手順2から6を繰り返します。
-
[OK]ボタンをクリックします。
変数の設定値が保存されて,[変数・相関セット一覧]ダイアログが閉じます。
- 変数の設定内容(CSVデータ読み込みサンプル)
-
CSAFF_DB_ResponseMessage,CSAFF_RequestMessageおよびCSAFF_ResponseMessageの設定内容を次に示します。なお,表に記載されていない項目については,設定不要です。
表D‒25 CSAFF_DB_ResponseMessageの設定内容(CSVデータ読み込みサンプル) 分類
項目
設定値
サービス/受付
サービス名
CSAFF_SAMPLE_DB
受付名
−
取込対象
オペレーション名
CSAFF_SAMPLE_DB
電文種別
応答電文(ボディ)
−
電文フォーマット
csaff_sample_sqlformat
表D‒26 CSAFF_RequestMessageの設定内容(CSVデータ読み込みサンプル) 分類
項目
設定値
サービス/受付
サービス名
CSAFF_SAMPLE_READ_CSV
受付名
−
取込対象
オペレーション名
CSAFF_SAMPLE_READ_CSV
電文種別
要求電文(ボディ)
−
電文フォーマット
adpff_read
表D‒27 CSAFF_ResponseMessageの設定内容(CSVデータ読み込みサンプル) 分類
項目
設定値
サービス/受付
サービス名
CSAFF_SAMPLE_READ_CSV
受付名
−
取込対象
オペレーション名
CSAFF_SAMPLE_READ_CSV
電文種別
応答電文(ボディ)
−
電文フォーマット
csaff_sample_standard
(c) アクティビティの設定
ここでは,次の図に示すアクティビティの配置・定義,データ変換定義,およびアクティビティの連結について説明します。
- ●アクティビティの配置・定義
-
CSVデータ読み込みサンプルでは,次の表に示すアクティビティを設定します。
表D‒28 アクティビティ一覧(CSVデータ読み込みサンプル) アクティビティ
アクティビティ名
説明
受付
CSAFF_SAMPLE_BP_READ_CSV
ビジネスプロセスの受付。
応答
CSAFF_SAMPLE_BP_READ_CSV_RSP
ビジネスプロセスの応答。
サービス呼出
ファイルアダプタ呼出
ファイルアダプタの呼び出し。
サービス呼出
DBアダプタ呼出
DBアダプタの呼び出し。
データ変換
DBアダプタ要求電文作成
ファイルアダプタの応答電文をDBアダプタの要求電文に変換。
アクティビティを配置して設定する手順を次に示します。
-
パレットの基本アクティビティまたは構造アクティビティの中から,キャンバスに配置するアクティビティをクリックします。
クリックしたアクティビティが選択された状態になります。
-
キャンバス上の適当な場所をクリックします。
選択したアクティビティがキャンバス上に配置されます。配置されたアクティビティは,ドラッグ&ドロップで場所を移動できます。
-
配置されたアクティビティをダブルクリックします。
ダブルクリックしたアクティビティのダイアログが表示されます。
-
ダイアログに必要な情報を入力します。
設定内容の詳細は,「アクティビティの設定内容(CSVデータ読み込みサンプル)」を参照してください。
-
[OK]ボタンをクリックします。
アクティビティのダイアログが閉じます。
-
アクティビティごとに手順1から5を繰り返します。
- アクティビティの設定内容(CSVデータ読み込みサンプル)
-
CSVデータ読み込みサンプルで使用するビジネスプロセスのアクティビティの設定内容を次に示します。なお,表に記載されていない項目については,設定不要です。
表D‒29 CSAFF_SAMPLE_BP_READ_CSVの設定内容 項目
設定値
アクティビティ名
CSAFF_SAMPLE_BP_READ_CSV
オペレーション名
CSAFF_SAMPLE_BP_READ_CSV
ボディ割当変数
CSAFF_RequestMessage
通信モデル
同期
インスタンス生成
Yes
表D‒30 CSAFF_SAMPLE_BP_READ_CSV_RSPの設定内容 項目
設定値
アクティビティ名
CSAFF_SAMPLE_BP_READ_CSV_RSP
オペレーション名
CSAFF_SAMPLE_BP_READ_CSV
ボディ割当変数
CSAFF_DB_ResponseMessage
表D‒31 ファイルアダプタ呼出の設定内容(CSVデータ読み込みサンプル) 項目
設定値
アクティビティ名
ファイルアダプタ呼出
サービス名
CSAFF_SAMPLE_READ_CSV
オペレーション名
CSAFF_SAMPLE_READ_CSV
通信モデル
同期
要求電文
ボディ割当変数
CSAFF_RequestMessage
応答電文
ボディ割当変数
CSAFF_ResponseMessage
表D‒32 DBアダプタ呼出の設定内容(CSVデータ読み込みサンプル) 項目
設定値
アクティビティ名
DBアダプタ呼出
サービス名
CSAFF_SAMPLE_DB
オペレーション名
CSAFF_SAMPLE_DB
通信モデル
同期
要求電文
ボディ割当変数
CSAFF_DB_RequestMessage
応答電文
ボディ割当変数
CSAFF_DB_ResponseMessage
表D‒33 DBアダプタ要求電文作成の設定内容(CSVデータ読み込みサンプル) 項目
設定値
アクティビティ名
DBアダプタ要求電文作成
変換元変数
CSAFF_ResponseMessage
変換先変数
CSAFF_DB_RequestMessage
データ変換定義
SAMPLE_READ_CSV_DT
-
- ●DBアダプタ要求電文作成アクティビティのデータ変換定義の設定
-
DBアダプタ要求電文作成アクティビティのデータ変換定義を設定します。設定するデータ変換定義を次の図に示します。
図D‒7 DBアダプタ要求電文作成アクティビティデータ変換定義画面(CSVデータ読み込みサンプル) DBアダプタ要求電文作成アクティビティのデータ変換定義の手順を次に示します。
-
DBアダプタ要求電文作成アクティビティからデータ変換(マッピング)定義画面を表示します。
データ変換(マッピング)定義画面が表示されたあと,[ルート要素選択]ダイアログが表示されます。
-
すべてのスキーマ論理名のルート要素を選択します。
[OK]ボタンがクリックできる状態になります。
-
[OK]ボタンをクリックします。
変換元スキーマツリービューアおよび変換先スキーマツリービューアに,選択したルート要素のスキーマがツリー表示されます。
-
マッピングします。
マッピングでは次の作業を行います。
・ファンクションの配置とファンクションの設定
ファンクションの設定内容を次の表に示します。
表D‒34 ファンクションの設定内容(CSVデータ読み込みサンプル-ビジネスプロセス) ファンクション
ファンクション名
設定値
loop
loop1
ノード選択
DATA
ノード条件設定
設定しない
・ノード間のマッピングの設定
ノード間のマッピングの設定内容を次の表に示します。
表D‒35 マッピングの設定内容(CSVデータ読み込みサンプル-ビジネスプロセス) 変換元ノード
ファンクション
変換先ノード
−
loop1
DBA_MULTI_SQL
ORDER_NO
−
val1
CUSTOMER_CODE
−
val2
PRODUCT_CODE
−
val3
ORDER_COUNT
−
val4
-
データ変換(マッピング)定義画面の変換元スキーマツリービューア,マッピングビューア,または変換先スキーマツリービューアの適当な場所で右クリックして,[検証]を選択します。
検証が実行されます。なお,警告は無視してください。
-
- ●アクティビティの連結
-
CSVデータ読み込みサンプルで使用するビジネスプロセスでは,次の表に示すようにアクティビティを連結します。
表D‒36 アクティビティの連結内容(CSVデータ読み込みサンプル) 連結元アクティビティ
連結先アクティビティ
開始
CSAFF_SAMPLE_BP_READ_CSV
CSAFF_SAMPLE_BP_READ_CSV
ファイルアダプタ呼出
ファイルアダプタ呼出
DBアダプタ要求電文作成
DBアダプタ要求電文作成
DBアダプタ呼出
DBアダプタ呼出
CSAFF_SAMPLE_BP_READ_CSV_RSP
CSAFF_SAMPLE_BP_READ_CSV_RSP
終了
アクティビティの連結の手順を次に示します。
-
パレットの[コネクション]をクリックします。
コネクションが選択された状態になります。
この状態で,アクティビティにマウスポインタを合わせると,そのアクティビティを連結元に設定できる場合,アクティビティの背景色が変わります。
-
キャンバスに配置したアクティビティのうち,連結元となるアクティビティをクリックします。
連結元となるアクティビティが設定されます。
この状態で,ほかのアクティビティにマウスポインタを合わせると,そのアクティビティを連結先に設定できる場合,アクティビティの背景色が変わります。
-
キャンバスに配置したアクティビティのうち,連結先となるアクティビティをクリックします。
連結元となるアクティビティと連結先となるアクティビティが連結されます。
-
(d) ビジネスプロセスの保存・検証
ビジネスプロセスを保存して検証する手順を次に示します。
-
定義内容を確認して,Eclipseのメニューから[ファイル]−[保管]を選択し,定義内容を保存します。
ビジネスプロセスのサービスIDは,プロパティビューで「CSAFF_B2」を設定してください。
-
ビジネスプロセスの設定を検証します。
ツリービューのサービス定義一覧で右クリックして表示されるサービス一覧のポップアップメニューから,「検証」を選択すると,検証結果がコンソールビューに表示されます。
(3) ファイルアダプタとビジネスプロセスの配備定義
定義したファイルアダプタとビジネスプロセスをサーバに配備して開始します。
ファイルアダプタとビジネスプロセスの配備定義の手順を次に示します。
-
ツリービューの[サービス定義一覧]を右クリックして,[複数サービスをサーバに配備して開始]を選択します。
-
サービス選択ページで配備および開始するサービスを選択します。
-
[Finish]ボタンをクリックします。
処理中であることを知らせるメッセージが表示されたあと,結果を知らせるメッセージが表示されます。
-
[OK]ボタンをクリックします。
ファイルアダプタとビジネスプロセスの配備と開始が完了します。
(4) テーブルの作成
サンプルを実行するデータベースのテーブルを作成します。
HiRDB SQL Executerを起動して,次のSQL文を実行してください。
CREATE TABLE CSAFF_SAMPLE_RC (ORDER_NO INT, CUSTOMER_CODE CHAR(5), PRODUCT_CODE CHAR(4), ORDER_COUNT INT);
- 注意事項
-
ユーザIDは「ADMIN」とします。
(5) 要求電文の作成
サンプルで提供するビジネスプロセス実行時の要求電文を編集して,要求電文を作成する手順を次に示します。
-
サンプルで提供する要求電文ファイルを,テキストエディタで開きます。
サンプルで提供する要求電文ファイルは,「<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\sample\read_csv\read_csv_message.xml」です。
-
次に示す斜体部分を記述します。
<?xml version="1.0" encoding="UTF-8"?> <adpff:ReadRequest xmlns:adpff="http://FlatFiles.cstmadp.csc.soft.Hitachi.co.jp/ReadRequest"> <fileheader> <filename><サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\sample\read_csv\read_csv_data.csv</filename> <filemode>all</filemode> </fileheader> </adpff:ReadRequest>
-
ファイルを上書き保存します。
(6) ビジネスプロセスの実行
サンプルを実行するには,サービスリクエスタからビジネスプロセスを起動します。
サービスリクエスタの処理の流れと概要を次に示します。
-
サービスリクエスタ実行
ビジネスプロセスの要求電文が,そのままファイルアダプタの要求電文として使用されます。
-
ファイルアダプタ実行
要求電文で指定されたファイルが読み込まれます。
-
DBアダプタ電文作成
ファイルアダプタの応答電文がDBアダプタの要求電文の形式に変換されます。
-
DBアダプタ実行
要求電文で指定されたファイルがデータベースに登録されます。
-
サービスリクエスタ終了
DBアダプタの応答電文が,そのままビジネスプロセスの応答電文として使用されます。
サービスリクエスタの実行手順を次に示します。
-
カレントディレクトリを「<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\sample\bin」に移動します。
-
request.batを実行します。
次の形式で実行してください。
request read_csv <サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\sample\read_csv\read_csv_message.xml
- 参考
-
HiRDB SQL Executerを起動して次のSQL文を実行することで,テーブルの内容が確認できます(ユーザIDは「ADMIN」とします)。
SELECT * FROM CSAFF_SAMPLE_RC;