付録D.5 XMLデータ書き込みサンプル
XMLデータ書き込みサンプルでは,DBアダプタが取得したデータを,ファイルアダプタを通してXML形式のファイルに書き込みます。
入出力項目を次の表に示します。
入出力項目 |
内容 |
---|---|
ファイルアダプタの出力ファイル |
<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\sample\write_xml\write_xml_data.xml |
DBアダプタの入力テーブル |
ADMIN.CSAFF_SAMPLE_WX※ |
- 〈この項の構成〉
(1) ファイルアダプタの定義
(a) ファイルアダプタの追加と検証
ファイルアダプタを追加設定し,検証する手順を次に示します。
-
Eclipseのメニューから,[ウィンドウ]−[ビューの表示]−[その他]を選択します。
[ビューの表示]ダイアログが表示されます。
-
[HCSC-Definer]−[HCSCTE ビュー]を選択し,[開く]ボタンをクリックします。
ツリービューにサービス定義一覧が表示されます。
-
ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。
サービスアダプタ定義追加ウィザードが表示されます。
-
サービス部品の種別のドロップダウンリストから「ファイルアダプタ」を選択します。
-
[次へ]ボタンをクリックします。
サービスアダプタ定義追加(ファイルアダプタ)ウィザードが表示されます。
-
サービス名を入力します。
サービス名には,「CSAFF_SAMPLE_WRITE_XML」と入力します。
-
[終了]ボタンをクリックします。
必要なファイルが作成され,リポジトリに保存されます。サービスアダプタ定義画面(基本)が表示されます。
-
サービスアダプタ定義画面(基本)およびサービスアダプタ定義画面(詳細)を設定します。
設定内容については,「ファイルアダプタの設定内容(XMLデータ書き込みサンプル)」を参照してください。
-
定義内容を確認して,Eclipseのメニューから[ファイル]−[保管]を選択し,定義内容を保存します。
-
ファイルアダプタの設定を検証します。
ツリービューのサービス定義一覧で右クリックして表示されるサービス一覧のポップアップメニューから,「検証」を選択すると,検証結果がコンソールビューに表示されます。
- ファイルアダプタの設定内容(XMLデータ書き込みサンプル)
-
XMLデータ書き込みサンプルのファイルアダプタを定義する場合の,サービスアダプタ定義画面(基本)での設定項目を次の表に示します。なお,表に記載されていない項目については,設定不要です。
表D‒38 サービスアダプタ定義画面(基本)の設定内容(XMLデータ書き込みサンプル) 分類
項目
設定値
設定
サービス部品制御情報
サービス名
CSAFF_SAMPLE_WRITE_XML
◎
サービスID
CSAFF_WX
◎
サービス種別
ファイルアダプタ
×
最大インスタンス数
0
◎
オペレーション
定義パターン:XML書き込み
オペレーション名:CSAFF_SAMPLE_WRITE_XML
◎
オペレーション情報
オペレーション名
CSAFF_SAMPLE_WRITE_XML
×
通信モデル
同期
◎
要求電文
標準
使う(チェックボックス)
使わない(チェックしない)
◎
サービス部品
電文フォーマット
csaff_sample_write_xml_dt.xsd
◎
応答電文
標準
使う(チェックボックス)
使わない(チェックしない)
◎
サービス部品
電文フォーマット
adpff_result.xsd
×
XMLデータ書き込みサンプルのファイルアダプタを定義する場合の,サービスアダプタ定義画面(詳細)での設定項目を次の表に示します。なお,表に記載されていない項目については,設定不要です。
分類 |
項目 |
設定値 |
設定 |
---|---|---|---|
サービスアダプタ制御情報 |
サービスアダプタ(EJB-JARファイル) |
cscmsg_adpejb.jar |
× |
ユーティリティクラス(JARファイル) |
adpffpc.jar |
× |
(b) ファイルアダプタ実行環境プロパティファイルの作成
ファイルアダプタ実行環境プロパティファイルを作成する手順を次に示します。
-
サンプルで提供するファイルアダプタ実行環境プロパティファイルを,テキストエディタで開きます。
サンプルで提供するファイルアダプタ実行環境プロパティファイルは,「<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\sample\write_xml\CSAFF_WX.properties」です。
-
次の内容を記述します。
fileaccess.path1 = <サービスプラットフォームのインストールディレクトリ>\\CSC\\custom-adapter\\File\\sample\\write_xml
- 注意事項
-
ディレクトリの区切り文字は,「\\」で記述します。
-
ファイルを保存し,「<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\config」に格納します。
(2) ビジネスプロセスの定義
ビジネスプロセスの定義は,ビジネスプロセスの追加,ビジネスプロセスの内容の定義,ビジネスプロセスの検証の順で行います。
(a) ビジネスプロセスの追加
ビジネスプロセスを追加する手順を次に示します。
-
Eclipseのメニューから,[ウィンドウ]−[ビューの表示]−[その他]を選択します。
[ビューの表示]ダイアログが表示されます。
-
[HCSC-Definer]−[HCSCTE ビュー]を選択し,[開く]ボタンをクリックします。
ツリービューにサービス定義一覧が表示されます。
-
ツリービューのサービス定義一覧で右クリックして「ビジネスプロセス追加」を選択します。
ビジネスプロセス定義を追加するためのダイアログが表示されます。
-
ビジネスプロセス名を入力し,ステータスを永続化するかどうか(ビジネスプロセスの実行状態をデータベースに保存するかどうか)を選択します。
ビジネスプロセス名には,「CSAFF_SAMPLE_BP_WRITE_XML」と入力します。
ステータスの永続化には,「yes」を選択します。
- 参考
-
BPELファイルは使用しません。
-
[終了]ボタンをクリックします。
必要なファイルが作成され,リポジトリに保存されます。ビジネスプロセス定義画面が表示されます。
(b) 変数の設定
次に示す変数を設定します。
-
CSAFF_BP_RequestMessage
-
CSAFF_DB_RequestMessage
-
CSAFF_DB_ResponseMessage
-
CSAFF_RequestMessage
-
CSAFF_ResponseMessage
- 参考
-
サンプルでは相関セットを使用しません。
変数を設定する手順を次に示します。
-
ビジネスプロセス定義画面のキャンバス上の[変数・相関セット]アイコンをダブルクリックします。
[変数・相関セット一覧]ダイアログが表示されます。
-
一覧から「変数一覧」を選択します。
-
変数名を入力します。
-
[種別]のドロップダウンリストから「XML」を選択します。
-
次のどれかの操作をします。
- CSAFF_DB_ResponseMessage,CSAFF_RequestMessageまたはCSAFF_ResponseMessageの場合
-
[取込]ボタンをクリックして表示される[電文フォーマットの取込]ダイアログで,使用する電文フォーマットを指定します。設定内容については,「変数の設定内容(XMLデータ書き込みサンプル)」を参照してください。
- CSAFF_BP_RequestMessageの場合
-
[...]ボタンをクリックして,「csaff_sample_write_xml.xsd」を設定します。
- CSAFF_DB_RequestMessageの場合
-
[...]ボタンをクリックして,「csaff_sample_write_xml_db.xsd」を設定します。
-
[追加]ボタンをクリックします。
変数一覧に,追加した変数が表示されます。
-
変数ごとに手順2から6を繰り返します。
-
[OK]ボタンをクリックします。
変数の設定値が保存されて,[変数・相関セット一覧]ダイアログが閉じます。
- 変数の設定内容(XMLデータ書き込みサンプル)
-
CSAFF_DB_ResponseMessage,CSAFF_RequestMessageおよびCSAFF_ResponseMessageの設定内容を次に示します。なお,表に記載されていない項目については,設定不要です。
表D‒40 CSAFF_DB_ResponseMessageの設定内容(XMLデータ書き込みサンプル) 分類
項目
設定値
サービス/受付
サービス名
CSAFF_SAMPLE_DB
受付名
−
取込対象
オペレーション名
CSAFF_SAMPLE_DB
電文種別
応答電文(ボディ)
−
電文フォーマット
csaff_sample_sqlformat
表D‒41 CSAFF_RequestMessageの設定内容(XMLデータ書き込みサンプル) 分類
項目
設定値
サービス/受付
サービス名
CSAFF_SAMPLE_WRITE_XML
受付名
−
取込対象
オペレーション名
CSAFF_SAMPLE_WRITE_XML
電文種別
要求電文(ボディ)
−
電文フォーマット
csaff_sample_write_xml_dt
表D‒42 CSAFF_ResponseMessageの設定内容(XMLデータ書き込みサンプル) 分類
項目
設定値
サービス/受付
サービス名
CSAFF_SAMPLE_WRITE_XML
受付名
−
取込対象
オペレーション名
CSAFF_SAMPLE_WRITE_XML
電文種別
応答電文(ボディ)
−
電文フォーマット
adpff_result
(c) アクティビティの設定
ここでは,次の図に示すアクティビティの配置・定義,データ変換定義,およびアクティビティの連結について説明します。
- ●アクティビティの配置・定義
-
XMLデータ書き込みサンプルでは,次の表に示すアクティビティを設定します。
表D‒43 アクティビティ一覧(XMLデータ書き込みサンプル) アクティビティ
アクティビティ名
説明
受付
CSAFF_SAMPLE_BP_WRITE_XML
ビジネスプロセスの受付。
応答
CSAFF_SAMPLE_BP_WRITE_XML_RSP
ビジネスプロセスの応答。
サービス呼出
ファイルアダプタ呼出
ファイルアダプタの呼び出し。
サービス呼出
DBアダプタ呼出
DBアダプタの呼び出し。
データ変換
ファイルアダプタ要求電文作成
DBアダプタの応答電文をファイルアダプタの要求電文に変換。
データ変換
DBアダプタ要求電文作成
ビジネスプロセスの要求電文をDBアダプタの要求電文に変換。
アクティビティを配置して設定する手順を次に示します。
-
パレットの基本アクティビティまたは構造アクティビティの中から,キャンバスに配置するアクティビティをクリックします。
クリックしたアクティビティが選択された状態になります。
-
キャンバス上の適当な場所をクリックします。
選択したアクティビティがキャンバス上に配置されます。配置されたアクティビティは,ドラッグ&ドロップで場所を移動できます。
-
配置されたアクティビティをダブルクリックします。
ダブルクリックしたアクティビティのダイアログが表示されます。
-
ダイアログに必要な情報を入力します。
設定内容の詳細は,「アクティビティの設定内容(XMLデータ書き込みサンプル)」を参照してください。
-
[OK]ボタンをクリックします。
アクティビティのダイアログが閉じます。
-
アクティビティごとに手順1から5を繰り返します。
- アクティビティの設定内容(XMLデータ書き込みサンプル)
-
XMLデータ書き込みサンプルで使用するビジネスプロセスのアクティビティの設定内容を次に示します。なお,表に記載されていない項目については,設定不要です。
表D‒44 CSAFF_SAMPLE_BP_WRITE_XMLの設定内容 項目
設定値
アクティビティ名
CSAFF_SAMPLE_BP_WRITE_XML
オペレーション名
CSAFF_SAMPLE_BP_WRITE_XML
ボディ割当変数
CSAFF_BP_RequestMessage
通信モデル
同期
インスタンス生成
Yes
表D‒45 CSAFF_SAMPLE_BP_WRITE_XML_RSPの設定内容 項目
設定値
アクティビティ名
CSAFF_SAMPLE_BP_WRITE_XML_RSP
オペレーション名
CSAFF_SAMPLE_BP_WRITE_XML
ボディ割当変数
CSAFF_ResponseMessage
表D‒46 ファイルアダプタ呼出の設定内容(XMLデータ書き込みサンプル) 項目
設定値
アクティビティ名
ファイルアダプタ呼出
サービス名
CSAFF_SAMPLE_WRITE_XML
オペレーション名
CSAFF_SAMPLE_WRITE_XML
通信モデル
同期
要求電文
ボディ割当変数
CSAFF_RequestMessage
応答電文
ボディ割当変数
CSAFF_ResponseMessage
表D‒47 DBアダプタ呼出の設定内容(XMLデータ書き込みサンプル) 項目
設定値
アクティビティ名
DBアダプタ呼出
サービス名
CSAFF_SAMPLE_DB
オペレーション名
CSAFF_SAMPLE_DB
通信モデル
同期
要求電文
ボディ割当変数
CSAFF_DB_RequestMessage
応答電文
ボディ割当変数
CSAFF_DB_ResponseMessage
表D‒48 ファイルアダプタ要求電文作成の設定内容(XMLデータ書き込みサンプル) 項目
設定値
アクティビティ名
ファイルアダプタ要求電文作成
変換元変数
CSAFF_BP_RequestMessage
CSAFF_DB_ResponseMessage
変換先変数
CSAFF_RequestMessage
データ変換定義
SAMPLE_WRITE_XML_DT2
表D‒49 DBアダプタ要求電文作成の設定内容(XMLデータ書き込みサンプル) 項目
設定値
アクティビティ名
DBアダプタ要求電文作成
変換元変数
CSAFF_BP_RequestMessage
変換先変数
CSAFF_DB_RequestMessage
データ変換定義
SAMPLE_WRITE_XML_DT1
-
- ●DBアダプタ要求電文作成アクティビティのデータ変換定義の設定
-
DBアダプタ要求電文作成アクティビティのデータ変換定義を設定します。設定するデータ変換定義を次の図に示します。
図D‒9 DBアダプタ要求電文作成アクティビティデータ変換定義画面(XMLデータ書き込みサンプル) DBアダプタ要求電文作成アクティビティのデータ変換定義の手順を次に示します。
-
DBアダプタ要求電文作成アクティビティからデータ変換(マッピング)定義画面を表示します。
データ変換(マッピング)定義画面が表示されたあと,[ルート要素選択]ダイアログが表示されます。
-
すべてのスキーマ論理名のルート要素を選択します。
[OK]ボタンがクリックできる状態になります。
-
[OK]ボタンをクリックします。
変換元スキーマツリービューアおよび変換先スキーマツリービューアに,選択したルート要素のスキーマがツリー表示されます。
-
マッピングします。
マッピングでは次の作業を行います。
・ファンクションの配置とファンクションの設定
ファンクションの設定内容を次の表に示します。
表D‒50 ファンクションの設定内容(XMLデータ書き込みサンプル-DBアダプタ要求電文作成アクティビティ) ファンクション
ファンクション名
設定値
const
const1
定数種別
文字列
値
PRODUCT_CODE
const
const2
定数種別
文字列
値
=
・ノード間のマッピングの設定
ノード間のマッピングの設定内容を次の表に示します。
表D‒51 マッピングの設定内容(XMLデータ書き込みサンプル-DBアダプタ要求電文作成アクティビティ) 変換元ノード
ファンクション
変換先ノード
−
const1
val1
−
const2
val2
PRODUCT_CODE
−
val3
-
データ変換(マッピング)定義画面の変換元スキーマツリービューア,マッピングビューア,または変換先スキーマツリービューアの適当な場所で右クリックして,[検証]を選択します。
検証が実行されます。
-
- ●ファイルアダプタ要求電文作成アクティビティのデータ変換定義の設定内容
-
ファイルアダプタ要求電文作成アクティビティのデータ変換定義を設定します。設定するデータ変換定義を次の図に示します。
図D‒10 ファイルアダプタ要求電文作成アクティビティデータ変換定義画面(XMLデータ書き込みサンプル) ファイルアダプタ要求電文作成アクティビティのデータ変換定義の手順を次に示します。
-
ファイルアダプタ要求電文作成アクティビティからデータ変換(マッピング)定義画面を表示します。
データ変換(マッピング)定義画面が表示されたあと,[ルート要素選択]ダイアログが表示されます。
-
すべてのスキーマ論理名のルート要素を選択します。
[OK]ボタンがクリックできる状態になります。
-
[OK]ボタンをクリックします。
変換元スキーマツリービューアおよび変換先スキーマツリービューアに,選択したルート要素のスキーマがツリー表示されます。
-
マッピングします。
マッピングでは次の作業を行います。
・ファンクションの配置とファンクションの設定
ファンクションの設定内容を次の表に示します。
表D‒52 ファンクションの設定内容(XMLデータ書き込みサンプル-ファイルアダプタ要求電文作成アクティビティ) ファンクション
ファンクション名
設定値
loop
loop1
ノード選択
DBA_ResultSet※
ノード条件設定
設定しない
loop
loop2
ノード選択
DBA_ResultColumn※
ノード条件設定
設定しない
・ノード間のマッピングの設定
ノード間のマッピングの設定内容を次の表に示します。
表D‒53 マッピングの設定内容(XMLデータ書き込みサンプル-ファイルアダプタ要求電文作成アクティビティ) 変換元ノード
ファンクション
変換先ノード
−
loop1
record
−
loop2
column
filename
−
filename
filemode
−
filemode
DBA_ResultColumn※
−
data
-
データ変換(マッピング)定義画面の変換元スキーマツリービューア,マッピングビューア,または変換先スキーマツリービューアの適当な場所で右クリックして,[検証]を選択します。
検証が実行されます。なお,警告は無視してください。
-
- ●アクティビティの連結
-
XMLデータ書き込みサンプルで使用するビジネスプロセスでは,次の表に示すようにアクティビティを連結します。
表D‒54 アクティビティの連結内容(XMLデータ書き込みサンプル) 連結元アクティビティ
連結先アクティビティ
開始
CSAFF_SAMPLE_BP_WRITE_XML
CSAFF_SAMPLE_BP_WRITE_XML
DBアダプタ要求電文作成
DBアダプタ要求電文作成
DBアダプタ呼出
DBアダプタ呼出
ファイルアダプタ要求電文作成
ファイルアダプタ要求電文作成
ファイルアダプタ呼出
ファイルアダプタ呼出
CSAFF_SAMPLE_BP_WRITE_XML_RSP
CSAFF_SAMPLE_BP_WRITE_XML_RSP
終了
アクティビティの連結の手順を次に示します。
-
パレットの[コネクション]をクリックします。
コネクションが選択された状態になります。
この状態で,アクティビティにマウスポインタを合わせると,そのアクティビティを連結元に設定できる場合,アクティビティの背景色が変わります。
-
キャンバスに配置したアクティビティのうち,連結元となるアクティビティをクリックします。
連結元となるアクティビティが設定されます。
この状態で,ほかのアクティビティにマウスポインタを合わせると,そのアクティビティを連結先に設定できる場合,アクティビティの背景色が変わります。
-
キャンバスに配置したアクティビティのうち,連結先となるアクティビティをクリックします。
連結元となるアクティビティと連結先となるアクティビティが連結されます。
-
(d) ビジネスプロセスの保存・検証
ビジネスプロセスを保存して検証する手順を次に示します。
-
定義内容を確認して,Eclipseのメニューから[ファイル]−[保管]を選択し,定義内容を保存します。
ビジネスプロセスのサービスIDは,プロパティビューで「CSAFF_B4」を設定してください。
-
ビジネスプロセスの設定を検証します。
ツリービューのサービス定義一覧で右クリックして表示されるサービス一覧のポップアップメニューから,「検証」を選択すると,検証結果がコンソールビューに表示されます。
(3) ファイルアダプタとビジネスプロセスの配備定義
定義したファイルアダプタとビジネスプロセスをサーバに配備して開始します。
ファイルアダプタとビジネスプロセスの配備定義の手順を次に示します。
-
ツリービューの[サービス定義一覧]を右クリックして,[複数サービスをサーバに配備して開始]を選択します。
-
サービス選択ページで配備および開始するサービスを選択します。
-
[Finish]ボタンをクリックします。
処理中であることを知らせるメッセージが表示されたあと,結果を知らせるメッセージが表示されます。
-
[OK]ボタンをクリックします。
ファイルアダプタとビジネスプロセスの配備と開始が完了します。
(4) テーブルの作成
サンプルを実行するデータベースのテーブルを作成します。
HiRDB SQL Executerを起動して,次のSQL文を実行してください。
CREATE TABLE CSAFF_SAMPLE_WX (ORDER_NO INT, CUSTOMER_CODE CHAR(5), PRODUCT_CODE CHAR(4), ORDER_COUNT INT); INSERT INTO CSAFF_SAMPLE_WX VALUES(1001,'AA001','1001',5); INSERT INTO CSAFF_SAMPLE_WX VALUES(1002,'AB002','1001',1); INSERT INTO CSAFF_SAMPLE_WX VALUES(1003,'AA001','1102',3); INSERT INTO CSAFF_SAMPLE_WX VALUES(1004,'XA005','1103',1); INSERT INTO CSAFF_SAMPLE_WX VALUES(1005,'AA001','1105',1);
- 注意事項
-
ユーザIDは「ADMIN」とします。
(5) 要求電文の作成
サンプルで提供するビジネスプロセス実行時の要求電文を編集して,要求電文を作成する手順を次に示します。
-
サンプルで提供する要求電文ファイルを,テキストエディタで開きます。
サンプルで提供する要求電文ファイルは,「<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\sample\write_xml\write_xml_message.xml」です。
-
次に示す斜体部分を記述します。
<?xml version="1.0" encoding="UTF-8"?> <WriteData> <filename><サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\sample\write_xml\write_xml_data.xml</filename> <filemode>new</filemode> <PRODUCT_CODE>1001</PRODUCT_CODE> </WriteData>
-
ファイルを上書き保存します。
(6) ビジネスプロセスの実行
サンプルを実行するには,サービスリクエスタからビジネスプロセスを起動します。
サービスリクエスタの処理の流れと概要を次に示します。
-
サービスリクエスタ実行
ビジネスプロセスの要求電文が,そのままファイルアダプタの要求電文として使用されます。
-
DBアダプタ実行
要求電文で指定された条件に合致するデータがデータベースから取得されます。
-
ファイルアダプタ電文作成
DBアダプタの応答電文がファイルアダプタの要求電文の形式に変換されます。
-
ファイルアダプタ実行
要求電文で指定されたファイルが出力されます。
-
サービスリクエスタ終了
ファイルアダプタの応答電文が,そのままビジネスプロセスの応答電文として使用されます。
サービスリクエスタの実行手順を次に示します。
-
カレントディレクトリを「<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\sample\bin」に移動します。
-
request.batを実行します。
次の形式で実行してください。
request write_xml <サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\sample\write_xml\write_xml_message.xml
- 参考
-
出力先は,次のファイルです。
<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\sample\write_xml\write_xml_data.xml