Hitachi

Cosminexus V11 BPM/ESB基盤 サービスプラットフォーム 開発ガイド 受付・アダプタ定義編


付録D.3 XMLデータ読み込みサンプル

XMLデータ読み込みサンプルでは,XML形式のファイルからファイルアダプタによってデータを読み込み,DBアダプタを通してデータベースに格納します。

入出力項目を次の表に示します。

表D‒4 入出力項目一覧(XMLデータ読み込みサンプル)

入出力項目

内容

ファイルアダプタの入力ファイル

<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\sample\read_xml\read_xml_data.xml

DBアダプタの出力テーブル

ADMIN.CSAFF_SAMPLE_RX

注※

スキーマ名は変更しないでください。

〈この項の構成〉

(1) ファイルアダプタの定義

(a) ファイルアダプタの追加と検証

ファイルアダプタを追加設定し,検証する手順を次に示します。

  1. Eclipseのメニューから,[ウィンドウ]−[ビューの表示]−[その他]を選択します。

    [ビューの表示]ダイアログが表示されます。

  2. [HCSC-Definer]−[HCSCTE ビュー]を選択し,[開く]ボタンをクリックします。

    ツリービューにサービス定義一覧が表示されます。

  3. ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。

    サービスアダプタ定義追加ウィザードが表示されます。

  4. サービス部品の種別のドロップダウンリストから「ファイルアダプタ」を選択します。

  5. [次へ]ボタンをクリックします。

    サービスアダプタ定義追加(ファイルアダプタ)ウィザードが表示されます。

  6. サービス名を入力します。

    サービス名には,「CSAFF_SAMPLE_READ_XML」と入力します。

  7. [終了]ボタンをクリックします。

    必要なファイルが作成され,リポジトリに保存されます。サービスアダプタ定義画面(基本)が表示されます。

  8. サービスアダプタ定義画面(基本)およびサービスアダプタ定義画面(詳細)を設定します。

    設定内容については,「ファイルアダプタの設定内容(XMLデータ読み込みサンプル)」を参照してください。

  9. 定義内容を確認して,Eclipseのメニューから[ファイル]−[保存]を選択し,定義内容を保存します。

  10. ファイルアダプタの設定を検証します。

    ツリービューのサービス定義一覧で右クリックして表示されるサービス一覧のポップアップメニューから,「検証」を選択すると,検証結果がコンソールビューに表示されます。

ファイルアダプタの設定内容(XMLデータ読み込みサンプル)

XMLデータ読み込みサンプルのファイルアダプタを定義する場合の,サービスアダプタ定義画面(基本)での設定項目を次の表に示します。なお,表に記載されていない項目については,設定不要です。

表D‒5 サービスアダプタ定義画面(基本)の設定内容(XMLデータ読み込みサンプル)

分類

項目

設定値

設定

サービス部品制御情報

サービス名

CSAFF_SAMPLE_READ_XML

サービスID

CSAFF_RX

サービス種別

ファイルアダプタ

×

最大インスタンス数

0

オペレーション

定義パターン:XML読み込み

オペレーション名:CSAFF_SAMPLE_READ_XML

オペレーション情報

オペレーション名

CSAFF_SAMPLE_READ_XML

×

通信モデル

同期

要求電文

標準

使う(チェックボックス)

使わない(チェックしない)

サービス部品

電文フォーマット

adpff_read.xsd

×

応答電文

標準

使う(チェックボックス)

使わない(チェックしない)

サービス部品

電文フォーマット

csaff_sample_read_xml.xsd

(凡例)

◎:必ず設定します。

×:表示されている内容を確認します。

XMLデータ読み込みサンプルのファイルアダプタを定義する場合の,サービスアダプタ定義画面(詳細)での設定項目を次の表に示します。なお,表に記載されていない項目については,設定不要です。

表D‒6 サービスアダプタ定義画面(詳細)の設定内容(XMLデータ読み込みサンプル)

分類

項目

設定値

設定

サービスアダプタ制御情報

サービスアダプタ(EJB-JARファイル)

cscmsg_adpejb.jar

×

ユーティリティクラス(JARファイル)

adpffpc.jar

×

(凡例)

×:表示されている内容を確認します。

(b) ファイルアダプタ実行環境プロパティファイルの作成

ファイルアダプタ実行環境プロパティファイルを作成する手順を次に示します。

  1. サンプルで提供するファイルアダプタ実行環境プロパティファイルを,テキストエディタで開きます。

    サンプルで提供するファイルアダプタ実行環境プロパティファイルは,「<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\sample\read_xml\CSAFF_RX.properties」です。

  2. 次の内容を記述します。

    fileaccess.path1 = <サービスプラットフォームのインストールディレクトリ>\\CSC\\custom-adapter\\File\\sample\\read_xml
    注意事項

    ディレクトリの区切り文字は,「\\」で記述します。

  3. ファイルを保存し,「<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\config」に格納します。

(2) ビジネスプロセスの定義

ビジネスプロセスの定義は,ビジネスプロセスの追加,ビジネスプロセスの内容の定義,ビジネスプロセスの検証の順で行います。

(a) ビジネスプロセスの追加

ビジネスプロセスを追加する手順を次に示します。

  1. Eclipseのメニューから,[ウィンドウ]−[ビューの表示]−[その他]を選択します。

    [ビューの表示]ダイアログが表示されます。

  2. [HCSC-Definer]−[HCSCTE ビュー]を選択し,[開く]ボタンをクリックします。

    ツリービューにサービス定義一覧が表示されます。

  3. ツリービューのサービス定義一覧で右クリックして「ビジネスプロセス追加」を選択します。

    ビジネスプロセス定義を追加するためのダイアログが表示されます。

  4. ビジネスプロセス名を入力し,ステータスを永続化するかどうか(ビジネスプロセスの実行状態をデータベースに保存するかどうか)を選択します。

    ビジネスプロセス名には,「CSAFF_SAMPLE_BP_READ_XML」と入力します。

    ステータスの永続化には,「yes」を選択します。

    参考

    BPELファイルは使用しません。

  5. [終了]ボタンをクリックします。

    必要なファイルが作成され,リポジトリに保存されます。ビジネスプロセス定義画面が表示されます。

(b) 変数の設定

次に示す変数を設定します。

  • CSAFF_DB_RequestMessage

  • CSAFF_DB_ResponseMessage

  • CSAFF_RequestMessage

  • CSAFF_ResponseMessage

参考

サンプルでは相関セットを使用しません。

変数を設定する手順を次に示します。

  1. ビジネスプロセス定義画面のキャンバス上の[変数・相関セット]アイコンをダブルクリックします。

    [変数・相関セット一覧]ダイアログが表示されます。

  2. 一覧から「変数一覧」を選択します。

  3. 変数名を入力します。

  4. [種別]のドロップダウンリストから「XML」を選択します。

  5. 次のどちらかの操作をします。

    CSAFF_DB_ResponseMessage,CSAFF_RequestMessageまたはCSAFF_ResponseMessageの場合

    [取込]ボタンをクリックして表示される[電文フォーマットの取込]ダイアログで,使用する電文フォーマットを指定します。設定内容については,「変数の設定内容(XMLデータ読み込みサンプル)」を参照してください。

    CSAFF_DB_RequestMessageの場合

    [...]ボタンをクリックして,「csaff_sample_read_xml_dt.xsd」を設定します。

  6. [追加]ボタンをクリックします。

    変数一覧に,追加した変数が表示されます。

  7. 変数ごとに手順2から6を繰り返します。

  8. [OK]ボタンをクリックします。

    変数の設定値が保存されて,[変数・相関セット一覧]ダイアログが閉じます。

変数の設定内容(XMLデータ読み込みサンプル)

CSAFF_DB_ResponseMessage,CSAFF_RequestMessageおよびCSAFF_ResponseMessageの設定内容を次に示します。なお,表に記載されていない項目については,設定不要です。

表D‒7 CSAFF_DB_ResponseMessageの設定内容(XMLデータ読み込みサンプル)

分類

項目

設定値

サービス/受付

サービス名

CSAFF_SAMPLE_DB

受付名

取込対象

オペレーション名

CSAFF_SAMPLE_DB

電文種別

応答電文(ボディ)

電文フォーマット

csaff_sample_sqlformat

(凡例)

−:該当しません。

表D‒8 CSAFF_RequestMessageの設定内容(XMLデータ読み込みサンプル)

分類

項目

設定値

サービス/受付

サービス名

CSAFF_SAMPLE_READ_XML

受付名

取込対象

オペレーション名

CSAFF_SAMPLE_READ_XML

電文種別

要求電文(ボディ)

電文フォーマット

adpff_read

(凡例)

−:該当しません。

表D‒9 CSAFF_ResponseMessageの設定内容(XMLデータ読み込みサンプル)

分類

項目

設定値

サービス/受付

サービス名

CSAFF_SAMPLE_READ_XML

受付名

取込対象

オペレーション名

CSAFF_SAMPLE_READ_XML

電文種別

応答電文(ボディ)

電文フォーマット

csaff_sample_read_xml

(凡例)

−:該当しません。

(c) アクティビティの設定

ここでは,次の図に示すアクティビティの配置・定義,データ変換定義,およびアクティビティの連結について説明します。

図D‒3 ビジネスプロセス定義全体図(XMLデータ読み込みサンプル)

[図データ]

●アクティビティの配置・定義

XMLデータ読み込みサンプルでは,次の表に示すアクティビティを設定します。

表D‒10 アクティビティ一覧(XMLデータ読み込みサンプル)

アクティビティ

アクティビティ名

説明

受付

CSAFF_SAMPLE_BP_READ_XML

ビジネスプロセスの受付。

応答

CSAFF_SAMPLE_BP_READ_XML_RSP

ビジネスプロセスの応答。

サービス呼出

ファイルアダプタ呼出

ファイルアダプタの呼び出し。

サービス呼出

DBアダプタ呼出

DBアダプタの呼び出し。

データ変換

DBアダプタ要求電文作成

ファイルアダプタの応答電文をDBアダプタの要求電文に変換。

アクティビティを配置して設定する手順を次に示します。

  1. パレットの基本アクティビティまたは構造アクティビティの中から,キャンバスに配置するアクティビティをクリックします。

    クリックしたアクティビティが選択された状態になります。

  2. キャンバス上の適当な場所をクリックします。

    選択したアクティビティがキャンバス上に配置されます。配置されたアクティビティは,ドラッグ&ドロップで場所を移動できます。

  3. 配置されたアクティビティをダブルクリックします。

    ダブルクリックしたアクティビティのダイアログが表示されます。

  4. ダイアログに必要な情報を入力します。

    設定内容の詳細は,「アクティビティの設定内容(XMLデータ読み込みサンプル)」を参照してください。

  5. [OK]ボタンをクリックします。

    アクティビティのダイアログが閉じます。

  6. アクティビティごとに手順1から5を繰り返します。

アクティビティの設定内容(XMLデータ読み込みサンプル)

XMLデータ読み込みサンプルで使用するビジネスプロセスのアクティビティの設定内容を次に示します。なお,表に記載されていない項目については,設定不要です。

表D‒11 CSAFF_SAMPLE_BP_READ_XMLの設定内容

項目

設定値

アクティビティ名

CSAFF_SAMPLE_BP_READ_XML

オペレーション名

CSAFF_SAMPLE_BP_READ_XML

ボディ割当変数

CSAFF_RequestMessage

通信モデル

同期

インスタンス生成

Yes

表D‒12 CSAFF_SAMPLE_BP_READ_XML_RSPの設定内容

項目

設定値

アクティビティ名

CSAFF_SAMPLE_BP_READ_XML_RSP

オペレーション名

CSAFF_SAMPLE_BP_READ_XML

ボディ割当変数

CSAFF_DB_ResponseMessage

表D‒13 ファイルアダプタ呼出の設定内容(XMLデータ読み込みサンプル)

項目

設定値

アクティビティ名

ファイルアダプタ呼出

サービス名

CSAFF_SAMPLE_READ_XML

オペレーション名

CSAFF_SAMPLE_READ_XML

通信モデル

同期

要求電文

ボディ割当変数

CSAFF_RequestMessage

応答電文

ボディ割当変数

CSAFF_ResponseMessage

表D‒14 DBアダプタ呼出の設定内容(XMLデータ読み込みサンプル)

項目

設定値

アクティビティ名

DBアダプタ呼出

サービス名

CSAFF_SAMPLE_DB

オペレーション名

CSAFF_SAMPLE_DB

通信モデル

同期

要求電文

ボディ割当変数

CSAFF_DB_RequestMessage

応答電文

ボディ割当変数

CSAFF_DB_ResponseMessage

表D‒15 DBアダプタ要求電文作成の設定内容(XMLデータ読み込みサンプル)

項目

設定値

アクティビティ名

DBアダプタ要求電文作成

変換元変数

CSAFF_ResponseMessage

変換先変数

CSAFF_DB_RequestMessage

データ変換定義

SAMPLE_READ_XML_DT

●DBアダプタ要求電文作成アクティビティのデータ変換定義の設定

DBアダプタ要求電文作成アクティビティのデータ変換定義を設定します。設定するデータ変換定義を次の図に示します。

図D‒4 DBアダプタ要求電文作成アクティビティデータ変換定義画面(XMLデータ読み込みサンプル)

[図データ]

DBアダプタ要求電文作成アクティビティのデータ変換定義の手順を次に示します。

  1. DBアダプタ要求電文作成アクティビティからデータ変換(マッピング)定義画面を表示します。

    データ変換(マッピング)定義画面が表示されたあと,[ルート要素選択]ダイアログが表示されます。

  2. すべてのスキーマ論理名のルート要素を選択します。

    [OK]ボタンがクリックできる状態になります。

  3. [OK]ボタンをクリックします。

    変換元スキーマツリービューアおよび変換先スキーマツリービューアに,選択したルート要素のスキーマがツリー表示されます。

  4. マッピングします。

    マッピングでは次の作業を行います。

    ・ファンクションの配置とファンクションの設定

     ファンクションの設定内容を次の表に示します。

    表D‒16 ファンクションの設定内容(XMLデータ読み込みサンプル)

    ファンクション

    ファンクション名

    設定値

    loop

    loop1

    ノード選択

    DATA

    ノード条件設定

    設定しない

    ・ノード間のマッピングの設定

     ノード間のマッピングの設定内容を次の表に示します。

    表D‒17 マッピングの設定内容(XMLデータ読み込みサンプル)

    変換元ノード

    ファンクション

    変換先ノード

    loop1

    DBA_MULTI_SQL

    ORDER_NO

    val1

    CUSTOMER_CODE

    val2

    PRODUCT_CODE

    val3

    ORDER_COUNT

    val4

    (凡例)

    −:該当しません。

  5. データ変換(マッピング)定義画面の変換元スキーマツリービューア,マッピングビューア,または変換先スキーマツリービューアの適当な場所で右クリックして,[検証]を選択します。

    検証が実行されます。なお,警告は無視してください。

●アクティビティの連結

XMLデータ読み込みサンプルで使用するビジネスプロセスでは,次の表に示すようにアクティビティを連結します。

表D‒18 アクティビティの連結内容(XMLデータ読み込みサンプル)

連結元アクティビティ

連結先アクティビティ

開始

CSAFF_SAMPLE_BP_READ_XML

CSAFF_SAMPLE_BP_READ_XML

ファイルアダプタ呼出

ファイルアダプタ呼出

DBアダプタ要求電文作成

DBアダプタ要求電文作成

DBアダプタ呼出

DBアダプタ呼出

CSAFF_SAMPLE_BP_READ_XML_RSP

CSAFF_SAMPLE_BP_READ_XML_RSP

終了

アクティビティの連結の手順を次に示します。

  1. パレットの[コネクション]をクリックします。

    コネクションが選択された状態になります。

    この状態で,アクティビティにマウスポインタを合わせると,そのアクティビティを連結元に設定できる場合,アクティビティの背景色が変わります。

  2. キャンバスに配置したアクティビティのうち,連結元となるアクティビティをクリックします。

    連結元となるアクティビティが設定されます。

    この状態で,ほかのアクティビティにマウスポインタを合わせると,そのアクティビティを連結先に設定できる場合,アクティビティの背景色が変わります。

  3. キャンバスに配置したアクティビティのうち,連結先となるアクティビティをクリックします。

    連結元となるアクティビティと連結先となるアクティビティが連結されます。

(d) ビジネスプロセスの保存・検証

ビジネスプロセスを保存して検証する手順を次に示します。

  1. 定義内容を確認して,Eclipseのメニューから[ファイル]−[保存]を選択し,定義内容を保存します。

    ビジネスプロセスのサービスIDは,プロパティビューで「CSAFF_B1」を設定してください。

  2. ビジネスプロセスの設定を検証します。

    ツリービューのサービス定義一覧で右クリックして表示されるサービス一覧のポップアップメニューから,「検証」を選択すると,検証結果がコンソールビューに表示されます。

(3) ファイルアダプタとビジネスプロセスの配備定義

定義したファイルアダプタとビジネスプロセスをサーバに配備して開始します。

ファイルアダプタとビジネスプロセスの配備定義の手順を次に示します。

  1. ツリービューの[サービス定義一覧]を右クリックして,[複数サービスをサーバに配備して開始]を選択します。

  2. サービス選択ページで配備および開始するサービスを選択します。

  3. [Finish]ボタンをクリックします。

    処理中であることを知らせるメッセージが表示されたあと,結果を知らせるメッセージが表示されます。

  4. [OK]ボタンをクリックします。

    ファイルアダプタとビジネスプロセスの配備と開始が完了します。

(4) テーブルの作成

サンプルを実行するデータベースのテーブルを作成します。

HiRDB SQL Executerを起動して,次のSQL文を実行してください。

CREATE TABLE CSAFF_SAMPLE_RX
(ORDER_NO INT,
 CUSTOMER_CODE CHAR(5),
 PRODUCT_CODE CHAR(4),
 ORDER_COUNT INT);
注意事項

ユーザIDは「ADMIN」とします。

(5) 要求電文の作成

サンプルで提供するビジネスプロセス実行時の要求電文を編集して,要求電文を作成する手順を次に示します。

  1. サンプルで提供する要求電文ファイルを,テキストエディタで開きます。

    サンプルで提供する要求電文ファイルは,「<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\sample\read_xml\read_xml_message.xml」です。

  2. 次に示す斜体部分を記述します。

    <?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_xml\read_xml_data.xml</filename>
        <filemode>all</filemode>
      </fileheader>
    </adpff:ReadRequest>
  3. ファイルを上書き保存します。

(6) ビジネスプロセスの実行

サンプルを実行するには,サービスリクエスタからビジネスプロセスを起動します。

サービスリクエスタの処理の流れと概要を次に示します。

  1. サービスリクエスタ実行

    ビジネスプロセスの要求電文が,そのままファイルアダプタの要求電文として使用されます。

  2. ファイルアダプタ実行

    要求電文で指定されたファイルが読み込まれます。

  3. DBアダプタ電文作成

    ファイルアダプタの応答電文がDBアダプタの要求電文の形式に変換されます。

  4. DBアダプタ実行

    要求電文で指定されたファイルがデータベースに登録されます。

  5. サービスリクエスタ終了

    DBアダプタの応答電文が,そのままビジネスプロセスの応答電文として使用されます。

サービスリクエスタの実行手順を次に示します。

  1. カレントディレクトリを「<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\sample\bin」に移動します。

  2. request.batを実行します。

    次の形式で実行してください。

    request read_xml <サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\sample\read_xml\read_xml_message.xml
参考

HiRDB SQL Executerを起動して次のSQL文を実行することで,テーブルの内容が確認できます(ユーザIDは「ADMIN」とします)。

SELECT * FROM CSAFF_SAMPLE_RX;