Cosminexus ビジネスプロセス管理/エンタープライズサービスバス V8 サービスプラットフォーム 開発ガイド
DBアダプタ定義支援機能を使って,DBアダプタ上で実行するSQL文の内容を設計します。SQL実行文の表や列の名称およびデータなどの可変部分については,引数要素として設計します。
ただし,DBアダプタ定義支援機能で指定できるSQL命令は次の二つです。
また,指定できるデータ型は,Cosminexus DB Connectorで使用するJDBCドライバがサポートしているデータ型だけです。
(2) アダプタ設計
DBアダプタの内容を設計します。次の内容について設計してください。
(a) DBアダプタの作成単位
DBアダプタはDB Connector単位で必要なため,DB Connectorの構成に合わせてDBアダプタを用意します。
例えば,複数のデータベースと連携するシステムでは,データベースごとにDB Connectorが存在します。このため,データベースのDB ConnectorごとにDBアダプタを作成します。
図L-2 データベースごとにDB Connectorが存在する場合
また,コネクションプールの設定値をDBアダプタごとに設定する場合などは,同じデータベースに複数のDB Connectorを用意します。この場合は,データベースの数に関係なく,DB Connector単位でDBアダプタを作成します。
図L-3 一つのデータベースに複数のDB Connectorが存在する場合
(b) SQL文の定義単位
DBアダプタには,一つ以上のSQL文を定義できます。各DBアダプタで定義するSQL文の内容を設計します。SQL文の設計例を次に示します。
(3) デバッグ用のDBアダプタの定義ファイルの生成
デバッグに使用するDBアダプタの定義ファイルのひな形を作成します。DBアダプタの定義ファイルは,Eclipse上で作成します。DBアダプタの定義ファイルを新規作成する方法を次に示します。
- Eclipse上にプロジェクトを作成します。
プロジェクトの種類は,HCSCTEプロジェクトを推奨します。HCSCTEプロジェクトの作成方法については,「3.1.1 プロジェクトを作成する」を参照してください。
- Eclipseのメニューから,[ウィンドウ]−[パースペクティブを開く]−[その他]を選択します。
[パースペクティブを開く]ダイアログが表示されます。
- [HCSC-DBEditor]を選択し,[OK]ボタンをクリックします。
[DBアダプタ開発支援]パースペクティブが表示されます。
- Eclipseのメニューから,[ファイル]−[新規]−[その他]を選択します。
ウィザードを選択するダイアログが表示されます。
- [HCSCTE-DBEDITOR]の[DBEditor ファイル]を選択して,[次へ]ボタンをクリックします。
[新規DBアダプタ定義ファイル]ウィザードが表示されます。
- [親フォルダを入力または選択]で,DBアダプタの定義ファイルを保存するフォルダを入力または選択します。
- 保存する定義ファイルのファイル名を[ファイル名]に指定します。
- [終了]ボタンをクリックします。
新しい定義ファイルが作成され,DBアダプタ開発支援画面が表示されます。
(4) デバッグ用のデータベースの設定
DBアダプタの定義ファイルに,使用するデータベースの内容を設定します。本番環境用のデータベースとは別にデバッグ用のデータベースを使用するかどうかによって,設定方法が異なります。デバッグ用のデータベースを使用しない場合は,SQLのデバッグができません。
- 参考
- uCosminexus Service Architectには,デバッグで使用できる組み込みデータベースが含まれています。
(a) 本番環境用とは別にデバッグ用のデータベースを用意する場合
本番環境用のデータベースとは別に,デバッグ用のデータベースを用意する場合の設定方法を次に示します。
- Eclipse上でDBアダプタの定義ファイルを開きます。
DBアダプタ開発支援画面が表示されます。
- [コネクション]タブにある[DataSources]を右クリックし,[新規データソース]を選択します。
[新規データソース]ダイアログが表示されます。
- [データベースコネクション]の入力フィールドに値を入力します。
SQLをデバッグするための設定をします。
ここでは,JDBCドライバを利用して接続するための設定をします。
表L-1 [データベースコネクション]の入力フィールドに定義する内容([新規データソース]ダイアログ)
表示項目 |
説明 |
デフォルト値※ |
名称 |
DBアダプタ開発支援画面の[コネクション]タブに表示する名称です。DBエディタ定義ファイル内で一意になるような任意の名称を指定します。 |
HiRDB |
データベースなし |
デバッグ用のデータベースがない場合にチェックします。 |
チェックなし |
ドライバ JAR |
JDBCドライバのJARファイルを指定します。
対応するJDBCドライバは事前に入手しておいてください。 |
<Cosminexusインストールディレクトリ>\DB\CLIENT\UTL\pdjdbc2.jar |
ドライバ |
使用するJDBCドライバのパッケージ名(完全修飾Javaクラス名)を指定します。 |
JP.co.Hitachi.soft.HiRDB.JDBC.HiRDBDriver |
URL |
接続するデータベースのポート番号とホスト名を指定した,データベース接続URLを指定します。 |
jdbc:hitachi:hirdb://DBID=22200,DBHOST=localhost |
ユーザ名 |
データベースへ接続するときに使用するログインユーザ名を指定します。 |
admin |
パスワード |
データベースへ接続するときに使用するパスワードを指定します。 |
admin(画面上の表示は「****」) |
- 注
- [データベースコネクション]の入力フィールドの値は,SQL文をデバッグするときにだけに使用されます。DBアダプタ定義支援機能で生成するSQLオペレーション定義ファイルおよびアプリケーション統合属性ファイルには,使用されません。
- 注※
- デフォルト値は,[新規データソース]ダイアログ上の[デフォルト]ボタンをクリックした場合の値です。
- 初期値は,HCSC簡易セットアップ機能を初期値で実行した場合に構築された環境の値です。
- [DBアダプタ設定]の入力フィールドに値を入力します。
ここでは,DBアダプタ用のSQLオペレーション定義ファイル,およびアプリケーション統合属性ファイルを定義するための設定をします。使用するDB Connectorの設定に沿って指定してください。
表L-2 [DBアダプタ設定]の入力フィールドに定義する内容([新規データソース]ダイアログ)
表示項目 |
説明 |
デフォルト値※ |
データベース参照名 |
データベース参照名を指定します。 |
DB_SERVER1 |
データベース種別 |
データベース種別を指定します。 |
HIRDB |
リソースアダプタ名 |
DB Connectorのプロパティ定義(display-name)に指定したリソースアダプタの名称を指定します。
リソースアダプタ名がドロップダウンリストから選択できない場合は,直接値を入力してください。 |
DBConnector_HiRDB_Type4_CP |
インスタンスの最大値 |
DBアダプタのインスタンスの最大数を指定します。
無制限の場合は,0を指定します。 |
0 |
インスタンスの最小値 |
DBアダプタのインスタンスの最小数を指定します。 |
1 |
DB Connector の共有 |
DBアダプタが参照するDB Connectorを共有するかどうかを指定します。 |
Shareable |
検索結果出力最大件数 |
SELECTで検索した結果の最大出力件数を指定します。
検索結果が指定値より大きい場合は,指定値までの件数が表示されます。
- (例)
- 「1000」を指定した場合は,最大1,000レコードまでの結果を表示します。
|
1000 |
実行する SQL 文の最大個数 |
1回のサービス部品実行要求で複数のSQL文を実行する場合,実行するSQL文の最大個数を指定します。 |
1024 |
- 注※
- デフォルト値は,[新規データソース]ダイアログ上の[デフォルト]ボタンをクリックした場合の値です。
- 初期値は,HCSC簡易セットアップ機能を初期値で実行した場合に構築された環境の値です。
- [OK]ボタンをクリックします。
設定した内容が登録されます。
(b) 本番環境用のデータベースをデバッグに使用する場合
デバッグ用のデータベースを使用しない場合の設定方法を次に示します。
- Eclipse上でDBアダプタの定義ファイルを開きます。
DBアダプタ開発支援画面が表示されます。
- [コネクション]タブにある[DataSources]を右クリックし,[新規データソース]を選択します。
[新規データソース]ダイアログが表示されます。
- [データベースコネクション]の[データベースなし]チェックボックスをチェックします。
- [DBアダプタ設定]に本番環境用のデータベースの設定内容を入力します。
- [OK]ボタンをクリックします。
設定した内容が登録されます。
(5) SQL文の作成
DBアダプタ上で実行するSQL文を定義します。
- Eclipse上でDBアダプタの定義ファイルを開きます。
DBアダプタ開発支援画面が表示されます。
- [データソース]プルダウンリストから,使用するデータソースを選択します。
- [オペレーション]プルダウンリストの横の[追加]ボタンをクリックします。
追加するオペレーションの名称を定義するダイアログが表示されます。
- 追加するオペレーション名を入力し,[OK]ボタンをクリックします。
一つのDBアダプタに複数のSQLを定義したい場合は,オペレーションを呼び出すSQLごとに定義します。
- SQL文の入力フィールドに実行するSQL文を定義します。
引数要素の定義方法については,「4.3.5(1)(c) SQLオペレーション定義ファイルの形式」を参照してください。
- 注意
-
- 各オペレーションに記述できるSQLは一つだけです。
- ワイルドカード(*)は使用できません。SELECTで検索するカラム名は,すべて記述してください。
- SQL文の最後にセミコロンは不要です。
(6) SQLのデバッグ
定義したSQLのデバッグを実施します。SQL文中の引数要素については,値を代入して実行します。なお,SQLのデバッグは,本番環境用のデータベースとは別に,デバッグ用のデータベースを用意している場合にだけ実施できます。
次の手順でSQLのデバッグを実施してください。
- デバッグ用のテーブルを作成します。
事前にデバッグ用のデータベース上にデバッグで使用するテーブルを作成します。定義したSQLに沿ってテーブルを作成してください。
- 作成例
- テーブル名:PURCHASEMASTERTABLE
- テーブル構成:
ORDERID
(VARCHAR) |
ORDERNAME
(VARCHAR) |
PRODUCTCODE
(VARCHAR) |
PRODUCTNAME
(VARCHAR) |
NUMBER
(INTEGER) |
01 |
AA001 |
0A1 |
NPW |
4 |
02 |
AA002 |
0A1 |
NPW |
3 |
03 |
AA003 |
0E1 |
NPW |
3 |
04 |
BB001 |
0E1 |
NPW |
4 |
05 |
BB002 |
0B1 |
NPW |
5 |
- Eclipse上でDBアダプタの定義ファイルを開きます。
DBアダプタ開発支援画面が表示されます。
- 引数要素を抽出したいSQL文を[オペレーション]プルダウンリストから選択した状態で,ツールバーの[変数の生成]アイコン()をクリックします。
引数要素が抽出され,抽出結果が[変数]タブに反映されます。
- [変数]タブの[値]列に,デバッグで使用したい値を入力します。
設定例
引数要素名 |
DBa_inf |
data_type |
値 |
KEYCOLUMN |
column |
− |
ORDERID |
ENZANSHI |
preset |
− |
= |
DATA |
data |
VARCHAR |
'01' |
なお,デバッグ用のデータベースを用意していない場合は,以降の手順を実施できません。[実行するSQL文の表示]アイコン()をクリックすると,Messagesビューに引数要素に値を代入した状態のSQLが表示されるので,この画面でSQL文が正しいかどうかを確認してください。
- [コネクション]タブに表示されている,デバッグに使用するデータソースを右クリックし,[接続]を選択します。
設定した内容でデータベースに接続します。接続が成功すると,Messagesビューに,「INFO: データソース <データソース名> の接続に成功しました。」のメッセージが表示されます。
なお,SQL文が複数定義されている場合は,SQL文ごとに手順3〜手順5を繰り返してください。
- ツールバーにある[SQLの実行]アイコン()をクリックします。
SQLの実行に失敗した場合は,Messagesビューにエラーメッセージが表示されます。メッセージに従ってSQLおよび引数要素名を修正してください。
なお,SQLの実行結果は,[実行結果]タブに表示されます。
(7) 本番環境用のデータベースの設定
DBアダプタの定義ファイルのデータソースの設定を,本番環境用のデータベースの情報に変更します。
- 注意
- 本番環境用のデータベースの情報に変更する前に,デバッグで使用したデータリソースを切断しておいてください。データソースの切断方法は,次のとおりです。
- デバッグで使用したDBアダプタの定義ファイルをEclipse上で開きます。
- [コネクション]タブで,デバッグに使用したデータソースを右クリックし,[切断]を選択します。
次の手順でデータベースの情報を変更します。
- デバッグで使用したDBアダプタの定義ファイルをEclipse上で開きます。
DBアダプタ開発支援画面が表示されます。
- [コネクション]タブに表示されているデータソースを右クリックして,[データソース編集]を選択します。
[データソース編集]ダイアログが表示されます。
- [DBアダプタ設定]の入力フィールドに本番環境用のデータベースの情報を入力します。
- [OK]ボタンをクリックします。
設定した内容が登録されます。
(8) 本番環境用のDBアダプタの定義ファイルの生成
本番環境で使用するDBアダプタの定義ファイルの生成方法を次に示します。
- Eclipse上で,デバッグ用のDBアダプタの定義ファイルを開きます。
DBアダプタ開発支援画面が表示されます。
- [データソース]プルダウンリストから,本番環境用のDBアダプタの定義ファイルに反映させたいデータソースを選択します。
- ツールバーの[DBアダプタ定義生成]アイコン()をクリックします。
[DBアダプタ定義生成]ダイアログが表示されます。
- [出力先ディレクトリ]に,本番環境用のDBアダプタの定義ファイルを出力するディレクトリを指定します。
[...]ボタンをクリックすると,[出力先ディレクトリ]に次のパスが選択されます。
<Eclipseのプロジェクトのパス>\<DBアダプタの定義ファイル名>_Output
- 注意
-
- 出力先ディレクトリにEclipseのプロジェクトのパスを指定した場合は,Eclipseの機能を使って,DBアダプタの定義ファイルおよび生成結果を一括でインポートおよびエクスポートできます。
- 出力先ディレクトリ名は,絶対パスをUTF-8で変換したときに155バイト以内になるように指定してください。
- 生成したいオペレーションのチェックボックスにチェックします。
一つのDBアダプタに複数のSQL文を定義した場合は,SQLの定義に必要なオペレーションをすべて選択してください。
- [終了]ボタンをクリックします。
指定した出力先ディレクトリに,本番環境で使用するDBアダプタの定義ファイルが出力されます。
なお,出力先ディレクトリにEclipseのプロジェクトのパスを指定している場合は,DBアダプタの定義ファイルを生成したあとに,出力先となるEclipseのプロジェクトを更新してください。Eclipseのパッケージ・エクスプローラー上に,生成されたDBアダプタの定義ファイルが表示されます。
生成されるファイルの一覧を次の表に示します。
表L-3 生成されるファイルの一覧
ファイルの種別 |
ファイル名 |
数量 |
備考 |
SQLオペレーション定義ファイル |
csa_sql_dbadapter.xml |
1 |
− |
アプリケーション統合属性ファイル |
cscadapter_property.xml |
1 |
− |
要求電文の標準電文※1 |
<オペレーション名>_Input.xsd |
0〜N※2 |
<オペレーション名>は,指定したオペレーション名になります。 |
応答電文の標準電文※3 |
<オペレーション名>_Output.xsd |
0〜N※2 |
<オペレーション名>は,指定したオペレーション名になります。 |
要求電文および応答電文のサービス部品電文 |
ServiceMessageFile.xsd |
1 |
要求電文および応答電文のサービス部品電文には,同じファイルを使用してください。 |
- (凡例)
- −:該当する説明はありません。
- 注※1
- SQL文中に引数要素がない場合,要求電文の標準電文は生成されません。サービス部品電文だけを使用してください。引数要素がない状態でDBアダプタを呼び出す場合は,Javaアクティビティなどで要求電文を生成して,DBアダプタを呼び出します。
- 設定例
- オペレーション名:select_op
- 実行するSQL文:SELECT ORDERID FROM PURCHASEMASTERTABLE
- Javaアクティビティなどで生成する電文:
- <?xml version="1.0" encoding="UTF-8"?>
- <BDAdapter>
- <DBA_MULTI_SQL>
- <select_op/>
- </DBA_MULTI_SQL>
- </BDAdapter>
- 注※2
- 本番環境用のDBアダプタの定義ファイルを生成したときに指定したオペレーションの数になります。
- 注※3
- 応答電文の標準電文は,SQL命令がSELECTの場合にだけ出力されます。INSERTの場合は,応答電文のサービス部品電文フォーマットを使用してください。
(9) 本番環境用のDBアダプタの設定
生成した本番環境用のDBアダプタの定義ファイルを使用して,DBアダプタを作成します。
(a) DBアダプタの作成
Eclipseに組み込まれているHCSCTEを利用して,DBアダプタを新規作成します。DBアダプタを新規に作成する方法については,「5.2.2 DBアダプタを新規に追加する」を参照してください。
また,「(8) 本番環境用のDBアダプタの定義ファイルの生成」で指定したオペレーションを,作成したDBアダプタに追加してください。複数のオペレーションを指定した場合は,指定したオペレーションの数だけ追加してください。
(b) SQLオペレーション定義ファイルとアプリケーション統合属性ファイルの設定
作成したDBアダプタのサービスアダプタ定義(詳細)画面を表示します。[独自定義ファイル]に次のファイルを追加してください。
- csa_sql_dbadapter.xml(生成したSQLオペレーション定義ファイル)
- cscadapter_property.xml(生成したアプリケーション統合属性ファイル)
図L-6 DBアダプタに追加する独自定義ファイル
(c) 要求電文と応答電文の設定
作成したDBアダプタのサービスアダプタ定義(基本)画面を表示します。次の内容を設定してください。
- オペレーション名の設定
- [サービス部品制御情報]の[オペレーション]
オペレーション名をドロップダウンリストから選択します。
- オペレーションに対応する要求電文の設定
- [要求電文]の[標準]の[電文フォーマット]
「<オペレーション名>_Input.xsd」を指定します。
- [要求電文]の[サービス部品]の[電文フォーマット]
「ServiceMessageFile.xsd」を指定します。
- オペレーションに対応する応答電文の設定
- [応答電文]の[標準]の[電文フォーマット]
「<オペレーション名>_Output.xsd」を指定します。ただし,指定したオペレーションに含まれるSQL命令がSELECTの場合にだけ指定します。INSERTの場合は不要です。
- [応答電文]の[サービス部品]の[電文フォーマット]
「ServiceMessageFile.xsd」を指定します。
設定例を次の図に示します。
図L-7 要求電文と応答電文の設定例
(d) データ変換(マッピング)の定義
データ変換するときの変換元と変換先のマッピングを定義します。
- 要求電文のデータ変換(マッピング)の定義
要求電文の標準電文およびサービス部品電文のデータ変換には,自動マッピング機能を使用できます。自動マッピング機能の詳細については,「7.4 マッピングする」を参照してください。
- 応答電文のデータ変換(マッピング)の定義
応答電文の標準電文およびサービス部品電文のデータ変換は,手動でマッピングする必要があります。
SELECTの検索結果を標準電文に変換する方法については,「5.3.5(2) データ変換」を参照してください。
INSERTの場合は,応答電文の標準電文フォーマットファイルが出力されないため,マッピングの必要はありません。INSERTの実行結果は,サービス部品側と同じ電文フォーマットのXML電文に格納されます。
All Rights Reserved. Copyright (C) 2008, 2011, Hitachi, Ltd.