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

[目次][用語][索引][前へ][次へ]

付録D.4 CSVデータ読み込みサンプル

CSVデータ読み込みサンプルでは,CSV形式のファイルからファイルアダプタによってデータを読み込み,DBアダプタを通してデータベースに格納します。このとき,入力ファイルの製品コードが「1001」である製品だけを取得してデータベースに格納します。製品コードの検索はデータ変換機能で実現します。

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

表D-19 入出力項目一覧(CSVデータ読み込みサンプル)

入出力項目 内容
ファイルアダプタの入力ファイル <サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\sample\read_csv\read_csv_data.csv
DBアダプタの出力テーブル ADMIN.CSAFF_SAMPLE_RC

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

<この項の構成>
(1) ファイルアダプタの定義
(2) ビジネスプロセスの定義
(3) ファイルアダプタとビジネスプロセスの配備定義
(4) テーブルの作成
(5) 要求電文の作成
(6) ビジネスプロセスの実行

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

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

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

  1. Eclipseのメニューから,[ウィンドウ]−[ビューの表示]−[その他]を選択します。
    [ビューの表示]ダイアログが表示されます。
  2. [HCSC-Definer]−[HCSCTEビュー]を選択し,[開く]ボタンをクリックします。
    ツリービューにサービス定義一覧が表示されます。
  3. ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。
    [サービスアダプタ定義追加]ウィザードが表示されます。
  4. サービス部品の種別のドロップダウンリストから「ファイルアダプタ」を選択します。
  5. [次へ]ボタンをクリックします。
    [サービスアダプタ定義追加(ファイルアダプタ)]ウィザードが表示されます。
  6. サービス名を入力します。
    サービス名には,「CSAFF_SAMPLE_READ_CSV」と入力します。
  7. [終了]ボタンをクリックします。
    必要なファイルが作成され,リポジトリに保存されます。サービスアダプタ定義画面(基本)が表示されます。
  8. サービスアダプタ定義画面(基本)およびサービスアダプタ定義画面(詳細)を設定します。
    設定内容については,「ファイルアダプタの設定内容(CSVデータ読み込みサンプル)」を参照してください。
  9. 定義内容を確認して,Eclipseのメニューから[ファイル]−[保管]を選択し,定義内容を保存します。
  10. ファイルアダプタの設定を検証します。
    ツリービューのサービス定義一覧で右クリックして表示されるサービス一覧のポップアップメニューから,「検証」を選択すると,検証結果がコンソールビューに表示されます。

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

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

分類 項目 設定値 設定
サービス部品制御情報 サービス名 CSAFF_SAMPLE_READ_CSV
サービスID CSAFF_RC
サービス種別 ファイルアダプタ ×
最大インスタンス数 0
オペレーション 定義パターン:バイナリ読み込み
オペレーション名:CSAFF_SAMPLE_READ_CSV
オペレーション情報 オペレーション名 CSAFF_SAMPLE_READ_CSV ×
通信モデル 同期
要求電文 標準 使う(チェックボックス) 使わない(チェックしない)
サービス部品 フォーマットID SAMPLE_READ_CSV_Request
電文フォーマット adpff_read.xsd ×
応答電文 標準 使う(チェックボックス) 使う(チェックする)
フォーマットID SAMPLE_READ_CSV_Standard
電文フォーマット csaff_sample_read_csv_standard.xsd
サービス部品 フォーマットID SAMPLE_READ_CSV_Response
電文フォーマット csaff_sample_read_csv.fdx
データ変換定義 SAMPLE_READ_CSV_DT

(凡例)
◎:必ず設定します。
×:表示されている内容を確認します。

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

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

分類 項目 設定値 設定
サービスアダプタ制御情報 サービスアダプタ(EJB-JARファイル) cscmsg_adpejb.jar ×
ユーティリティクラス(JARファイル) adpffpc.jar ×

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

(b) データ変換定義

データ変換定義を設定します。設定するデータ変換定義を次の図に示します。

図D-5 ファイルアダプタのデータ変換定義画面(CSVデータ読み込みサンプル)

[図データ]

データ変換定義の手順を次に示します。

  1. アダプタ定義画面のデータ変換(マッピング)定義画面を表示します。
    データ変換(マッピング)定義画面が表示されたあと,[ルート要素選択]ダイアログが表示されます。
  2. すべてのスキーマ論理名のルート要素を選択します。
    [OK]ボタンがクリックできる状態になります。
  3. [OK]ボタンをクリックします。
    変換元スキーマツリービューアおよび変換先スキーマツリービューアに,選択したルート要素のスキーマがツリー表示されます。
  4. マッピングします。
    マッピングでは次の作業を行います。
    • ファンクションの配置とファンクションの設定
      ファンクションの設定内容を次に示します。

      表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

      (凡例)
      −:該当しません。

  5. データ変換(マッピング)定義画面の変換元スキーマツリービューア,マッピングビューア,または変換先スキーマツリービューアの適当な場所で右クリックして,[検証]を選択します。
    検証が実行されます。
(c) ファイルアダプタ実行環境プロパティファイルの作成

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

  1. サンプルで提供するファイルアダプタ実行環境プロパティファイルを,テキストエディタで開きます。
    サンプルで提供するファイルアダプタ実行環境プロパティファイルは,「<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\sample\read_csv\CSAFF_RC.properties」です。
  2. 次の内容を記述します。
    fileaccess.path1 = <サービスプラットフォームのインストールディレクトリ>\\CSC\\custom-adapter\\File\\sample\\read_csv
    注意
    ディレクトリの区切り文字は,「\\」で記述します。
  3. ファイルを保存し,「<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\config」に格納します。

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

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

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

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

  1. Eclipseのメニューから,[ウィンドウ]−[ビューの表示]−[その他]を選択します。
    [ビューの表示]ダイアログが表示されます。
  2. [HCSC-Definer]−[HCSCTEビュー]を選択し,[開く]ボタンをクリックします。
    ツリービューにサービス定義一覧が表示されます。
  3. ツリービューのサービス定義一覧で右クリックして「ビジネスプロセス追加」を選択します。
    ビジネスプロセス定義を追加するためのダイアログが表示されます。
  4. ビジネスプロセス名を入力し,ステータスを永続化するかどうか(ビジネスプロセスの実行状態をデータベースに保存するかどうか)を選択します。
    ビジネスプロセス名には,「CSAFF_SAMPLE_BP_READ_CSV」と入力します。
    ステータスの永続化には,「yes」を選択します。
    参考
    BPELファイルは使用しません。
  5. [終了]ボタンをクリックします。
    必要なファイルが作成され,リポジトリに保存されます。ビジネスプロセス定義画面が表示されます。
(b) 変数の設定

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

 

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

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

  1. ビジネスプロセス定義画面のキャンバス上の[変数・相関セット]アイコンをダブルクリックします。
    [変数・相関セット一覧]ダイアログが表示されます。
  2. 一覧から「変数一覧」を選択します。
  3. 変数名を入力します。
  4. [種別]のドロップダウンリストから「XML」を選択します。
  5. 次のどちらかの操作をします。
    CSAFF_DB_ResponseMessage,CSAFF_RequestMessageまたはCSAFF_ResponseMessageの場合
    [取込]ボタンをクリックして表示される[電文フォーマットの取込]ダイアログで,使用する電文フォーマットを指定します。設定内容については,「変数の設定内容(CSVデータ読み込みサンプル)」を参照してください。
    CSAFF_DB_RequestMessageの場合
    [...]ボタンをクリックして,「csaff_sample_read_csv_dt.xsd」を設定します。
  6. [追加]ボタンをクリックします。
    変数一覧に,追加した変数が表示されます。
  7. 変数ごとに手順2から6を繰り返します。
  8. [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) アクティビティの設定

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

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

[図データ]

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

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

表D-28 アクティビティ一覧(CSVデータ読み込みサンプル)

アクティビティ アクティビティ名 説明
受付 CSAFF_SAMPLE_BP_READ_CSV ビジネスプロセスの受付。
応答 CSAFF_SAMPLE_BP_READ_CSV_RSP ビジネスプロセスの応答。
サービス呼出 ファイルアダプタ呼出 ファイルアダプタの呼び出し。
サービス呼出 DBアダプタ呼出 DBアダプタの呼び出し。
データ変換 DBアダプタ要求電文作成 ファイルアダプタの応答電文をDBアダプタの要求電文に変換。

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

  1. パレットの基本アクティビティまたは構造アクティビティの中から,キャンバスに配置するアクティビティをクリックします。
    クリックしたアクティビティが選択された状態になります。
  2. キャンバス上の適当な場所をクリックします。
    選択したアクティビティがキャンバス上に配置されます。配置されたアクティビティは,ドラッグ&ドロップで場所を移動できます。
  3. 配置されたアクティビティをダブルクリックします。
    ダブルクリックしたアクティビティのダイアログが表示されます。
  4. ダイアログに必要な情報を入力します。
    設定内容の詳細は,「アクティビティの設定内容(CSVデータ読み込みサンプル)」を参照してください。
  5. [OK]ボタンをクリックします。
    アクティビティのダイアログが閉じます。
  6. アクティビティごとに手順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アダプタ要求電文作成アクティビティのデータ変換定義の手順を次に示します。

  1. DBアダプタ要求電文作成アクティビティからデータ変換(マッピング)定義画面を表示します。
    データ変換(マッピング)定義画面が表示されたあと,[ルート要素選択]ダイアログが表示されます。
  2. すべてのスキーマ論理名のルート要素を選択します。
    [OK]ボタンがクリックできる状態になります。
  3. [OK]ボタンをクリックします。
    変換元スキーマツリービューアおよび変換先スキーマツリービューアに,選択したルート要素のスキーマがツリー表示されます。
  4. マッピングします。
    マッピングでは次の作業を行います。
    • ファンクションの配置とファンクションの設定
      ファンクションの設定内容を次の表に示します。

      表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

      (凡例)
      −:該当しません。

  5. データ変換(マッピング)定義画面の変換元スキーマツリービューア,マッピングビューア,または変換先スキーマツリービューアの適当な場所で右クリックして,[検証]を選択します。
    検証が実行されます。なお,警告は無視してください。
●アクティビティの連結

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 終了

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

  1. パレットの[コネクション]をクリックします。
    コネクションが選択された状態になります。
    この状態で,アクティビティにマウスポインタを合わせると,そのアクティビティを連結元に設定できる場合,アクティビティの背景色が変わります。
  2. キャンバスに配置したアクティビティのうち,連結元となるアクティビティをクリックします。
    連結元となるアクティビティが設定されます。
    この状態で,ほかのアクティビティにマウスポインタを合わせると,そのアクティビティを連結先に設定できる場合,アクティビティの背景色が変わります。
  3. キャンバスに配置したアクティビティのうち,連結先となるアクティビティをクリックします。
    連結元となるアクティビティと連結先となるアクティビティが連結されます。
(d) ビジネスプロセスの保存・検証

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

  1. 定義内容を確認して,Eclipseのメニューから[ファイル]−[保管]を選択し,定義内容を保存します。
    ビジネスプロセスのサービスIDは,プロパティビューで「CSAFF_B2」を設定してください。
  2. ビジネスプロセスの設定を検証します。
    ツリービューのサービス定義一覧で右クリックして表示されるサービス一覧のポップアップメニューから,「検証」を選択すると,検証結果がコンソールビューに表示されます。

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

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

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

  1. ツリービューの[サービス定義一覧]を右クリックして,[全サービスをサーバに配備して開始]を選択します。
    開始処理が失敗した場合,ダイアログにエラーの内容が表示されます。詳細情報に表示されるメッセージIDを参照して対処してください。
     
    ログインしていない場合は,アカウント認証画面が表示されます。手順2.を実施してください。
  2. [ユーザID]に「admin」を,[パスワード]に「admin」を入力し,[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) 要求電文の作成

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

  1. サンプルで提供する要求電文ファイルを,テキストエディタで開きます。
    サンプルで提供する要求電文ファイルは,「<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\sample\read_csv\read_csv_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_csv\read_csv_data.csv</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_csv <サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\sample\read_csv\read_csv_message.xml

 

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