Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 開発ガイド 基本開発編

手引・操作書

3020-3-Y43-80


目  次

前書き
変更内容
はじめに

1. SOAに基づいたシステム開発の概要
1.1 開発から実運用までの流れ
1.2 システム全体と開発環境の関係

2. システムを開発する前に
2.1 開発環境を使用するためのセットアップ
2.1.1 前提条件
2.1.2 インストール
2.1.3 環境設定
2.1.4 組み込みデータベースの構築
2.1.5 アンインストール
2.2 構成の形態およびSOAPモードの選択
2.2.1 データベースとReliable Messagingの使用有無
2.2.2 使用するSOAPモード
2.2.3 SOAPモードの設定
2.3 開発手順
2.4 テスト環境の簡易セットアップ
2.4.1 HCSC簡易セットアップ機能で構築できる環境
2.4.2 HCSC簡易セットアップ機能の実行
2.4.3 HCSC簡易セットアップ機能でセットアップしたテスト環境の運用
2.4.4 テスト環境のカスタマイズ
2.4.5 SOAPモードの確認
2.5 HCSC簡易セットアップ機能でセットアップした組み込みデータベースの運用
2.5.1 RDエリアの未使用領域を確認する
2.5.2 プロセスインスタンスの実行履歴を削除する
2.5.3 空きページおよび空きセグメントを解放する
2.6 利用できるサービス部品の種類と適用範囲
2.6.1 Webサービスを利用したサービス部品の適用範囲
2.6.2 SessionBeanを利用したサービス部品の適用範囲
2.6.3 Reliable Messagingのローカルキューを利用したサービス部品の適用範囲
2.6.4 DBキューを利用したサービス部品の適用範囲
2.6.5 XMLスキーマの適用範囲
2.7 コード変換機能の拡張(Code Converter使用時)
2.7.1 Code Converterによる拡張
2.7.2 文字コード変換UOCによる拡張

3. プロジェクトの管理とリポジトリの管理
3.1 プロジェクトの管理
3.1.1 プロジェクトを作成する
3.1.2 プロパティを設定する
3.1.3 プロジェクトをエクスポート/インポートする
3.1.4 プロジェクトを削除する
3.1.5 SOAPモードを変更する
3.1.6 開発時の注意事項
3.2 リポジトリの管理
3.2.1 リポジトリを設定する
3.2.2 リポジトリをエクスポートする
3.2.3 リポジトリをインポートする
3.3 設計情報の出力
3.3.1 設計情報として出力できる情報
3.3.2 出力前の確認事項
3.3.3 設計情報の出力方法
3.3.4 設計情報の出力に関する注意事項
3.4 差分確認用ドキュメントの出力
3.4.1 差分確認用ドキュメント出力機能の概要
3.4.2 差分確認用ドキュメント出力機能の実行手順
3.4.3 差分確認用ドキュメントが出力される出力ディレクトリの構成
3.4.4 差分確認用ドキュメント出力機能の実行例
3.4.5 差分確認用ドキュメント出力機能の注意事項
3.5 Eclipseに関する注意事項

4. 電文フォーマットの作成
4.1 電文フォーマットとデータ変換
4.2 電文フォーマットの種類
4.3 電文フォーマット(XMLフォーマット定義ファイル)の作成方法
4.3.1 標準電文を作成する
4.3.2 サービス部品電文を作成する(Webサービスの場合)
4.3.3 サービス部品電文を作成する(SessionBeanの場合)
4.3.4 サービス部品電文を作成する(MDB(WS-RまたはDBキュー)の場合)
4.4 電文フォーマット(バイナリフォーマット定義ファイル)の作成方法
4.4.1 バイナリフォーマット定義ファイルのデータ型と文字コードの種類
4.4.2 文字コード変換の種類
4.4.3 バイナリフォーマット定義ファイルを新規作成する
4.4.4 要素を定義する(CSV以外の形式の場合)
4.4.5 要素を定義する(CSV形式の場合)
4.4.6 バイナリフォーマット定義ファイルを編集する
4.4.7 バイナリフォーマット定義ファイルを検証する
4.4.8 バイナリフォーマット定義の注意事項
4.5 COBOL登録集原文ファイルからのバイナリフォーマット定義ファイルの生成
4.5.1 COBOL登録集原文ファイルの規則
4.5.2 データ項目の設定(COBOL85言語の形式を使用する場合)
4.5.3 データ項目の設定(サービスプラットフォームで独自に拡張した形式を使用する場合)
4.5.4 バイナリフォーマット定義ファイルの生成方法
4.6 バイナリフォーマット定義ファイルからXMLスキーマファイルの生成
4.7 電文フォーマットの変更

5. ビジネスプロセスの定義
5.1 定義の流れ
5.2 ビジネスプロセスの追加
5.2.1 ビジネスプロセスを新規に追加する
5.2.2 定義済みビジネスプロセスを利用してビジネスプロセスを追加する
5.3 ビジネスプロセスの内容の定義
5.4 アクティビティの配置と連結
5.4.1 アクティビティを配置する
5.4.2 アクティビティを連結する
5.4.3 アクティビティのオートコネクト
5.4.4 フォルト処理を定義する
5.5 変数・相関セットの定義
5.5.1 変数の定義
5.5.2 相関セットの定義
5.6 アクティビティの定義
5.6.1 開始アクティビティ
5.6.2 受付アクティビティ
5.6.3 応答アクティビティ
5.6.4 サービス呼出アクティビティ
5.6.5 Java呼出アクティビティ
5.6.6 データ変換アクティビティ
5.6.7 代入アクティビティ
5.6.8 無操作アクティビティ
5.6.9 フォルト送出アクティビティ
5.6.10 待機アクティビティ
5.6.11 検証アクティビティ
5.6.12 スコープアクティビティ
5.6.13 繰り返しアクティビティ
5.6.14 分岐アクティビティ
5.6.15 並列処理アクティビティ
5.6.16 終了アクティビティ
5.6.17 順次処理アクティビティ
5.6.18 XPathを指定する
5.7 コメントの配置
5.8 ビジネスプロセスの保存
5.9 ビジネスプロセスの編集
5.9.1 ビジネスプロセスおよびアクティビティの定義情報を変更する
5.9.2 アクティビティ名を変更する
5.9.3 運用中のビジネスプロセス定義を変更する
5.9.4 ビジネスプロセスのバージョンアップ
5.10 ビジネスプロセスの検証
5.10.1 検証内容
5.10.2 検証方法
5.10.3 検証内容の表示
5.11 ビジネスプロセスの削除

6. データ変換の定義
6.1 データ変換に必要なファイルおよび定義
6.2 電文フォーマット定義ファイルの作成
6.3 データ変換定義
6.3.1 データ変換の定義手順
6.3.2 電文フォーマットを変更した場合の定義手順
6.3.3 データ変換定義の注意事項
6.4 マッピングする
6.4.1 変換元ノードの値を変換先ノードに直接マッピングする
6.4.2 変換元ノードの値を加工して変換先ノードにマッピングする
6.4.3 変換元ノードの範囲と変換先ノードの範囲を指定して自動でマッピングする
6.4.4 変換先ノードの要素から候補を選択して自動でマッピングする
6.4.5 マッピングを取り消す
6.4.6 マッピング元の表示形式
6.4.7 マッピング線とファンクションを見やすくする
6.4.8 マッピング対象の範囲を限定する
6.4.9 自動マッピング時の類似度の判定
6.4.10 マッピングの注意事項
6.5 ファンクションを使用した値またはノードの加工
6.5.1 複数の文字列を連結する
6.5.2 1つの文字列から一部分の文字列を取り出す
6.5.3 文字列の文字数を代入する
6.5.4 指定文字列の有無,または指定文字列の開始を調査する
6.5.5 文字列の空白を除去する
6.5.6 数値をフォーマット変換する
6.5.7 数値を演算する
6.5.8 小数点以下の端数を処理する
6.5.9 複数のノードセットのノードの数値を合計する
6.5.10 否定演算を使用する
6.5.11 論理演算を使用する
6.5.12 シフト演算を使用する
6.5.13 ノード数を代入する
6.5.14 ノード名を代入する
6.5.15 ノードの有無を調査する
6.5.16 くり返しを対応づける
6.5.17 条件によって異なる値を出力する
6.5.18 指定した値を代入する
6.5.19 変換テーブルを利用して値を変換する
6.5.20 基数変換する
6.5.21 変換元ノードの値にある値を付加する
6.5.22 変換元ノードの値を倍にする
6.5.23 ユーザが作成した任意のJavaプログラムを呼び出す
6.5.24 変換先ノードやファンクションの入力値にXPath式を指定する
6.6 くり返しの設定
6.6.1 [くり返し設定]ダイアログを使用してマッピングする
6.6.2 くり返しを合成する
6.6.3 くり返し依存対象の対応づけ
6.6.4 くり返し依存対象を確認する
6.6.5 くり返し依存対象を変更する
6.6.6 くり返し依存対象が設定された変換元ノードのパスの表示
6.6.7 連携パスを設定して各要素のくり返し処理を連動させる
6.7 ノード条件を設定する
6.8 マッピング定義をコピーする
6.8.1 マッピング定義をコピーする流れ
6.8.2 マッピング定義の保存
6.8.3 マッピング定義の登録
6.8.4 マッピング定義のコピー
6.8.5 類似度の判定方法
6.8.6 マッピング定義をコピーする場合の注意事項
6.9 カスタムファンクションで使用するJavaプログラムの作成
6.9.1 変換ファンクション定義ファイルの作成
6.9.2 Java雛形ファイルの生成
6.9.3 変換ファンクションからの外部jarの参照
6.9.4 Javaプログラムのコーディング,ビルド,およびデバッグ
6.9.5 Javaプログラムのパッケージング
6.10 マッピングの条件
6.10.1 マッピング対象とマッピング対象外
6.10.2 マッピングできるノードおよびファンクションの対応
6.10.3 接続できるマッピング線の数
6.11 ファンクション名の直接編集
6.11.1 ファンクション名の編集方法
6.11.2 編集後のファンクション名の表示
6.12 Excelを利用したマッピング定義のインポート
6.12.1 表形式XMLファイルの作成
6.12.2 マッピング定義の設定
6.12.3 マッピング定義のインポート
6.13 Excelを利用したマッピング定義のエクスポート
6.13.1 マッピング定義のエクスポート
6.13.2 表形式XMLファイルのインポート
6.14 表形式XMLスキーマ定義ファイルの定義詳細
6.14.1 Namespaces(名前空間情報)
6.14.2 CopyObjects(変換先ノードへのマッピング)
6.14.3 ConcatenateObjects(文字列連結ファンクション)
6.14.4 SubstringObjects(部分文字列取得ファンクション)
6.14.5 LengthObjects(文字数取得ファンクション)
6.14.6 ContainObjects(文字列調査ファンクション)
6.14.7 TrimObjects(空白除去ファンクション)
6.14.8 FormatObjects(数値フォーマット変換ファンクション)
6.14.9 CalculateObjects(数値演算ファンクション)
6.14.10 RoundObjects(端数処理ファンクション)
6.14.11 SumObjects(総和ファンクション)
6.14.12 NotObjects(否定演算ファンクション)
6.14.13 BitOpObjects(論理演算ファンクション)
6.14.14 ShiftObjects(シフト演算ファンクション)
6.14.15 NameObjects(ノード名取得ファンクション)
6.14.16 CountObjects(ノード数取得ファンクション)
6.14.17 ExistObjects(ノード調査ファンクション)
6.14.18 LoopObjects(くり返しファンクション)
6.14.19 ChooseObjects(選択ファンクション)
6.14.20 ReplaceObjects(値置換えファンクション)
6.14.21 RadixObjects(基数変換ファンクション)
6.14.22 CustomObjects(カスタムファンクション)
6.14.23 ConstantObjects(定数ファンクション)
6.14.24 XpathObjects(XPathファンクション)
6.14.25 同一のName要素を複数行に定義できるオブジェクト
6.15 Excelを利用したマッピング定義時の注意事項
6.16 名前空間接頭辞オプション
6.16.1 名前空間接頭辞オプションのデフォルト値設定
6.17 提供しているカスタムファンクション
6.17.1 getWorkFolderPath(作業フォルダパス取得関数)
6.17.2 currentDateTime(システム日付取得関数)
6.17.3 lrtrim(前後空白除去関数)
6.17.4 getSystemEnv(環境変数取得関数)
6.17.5 使用手順
6.18 XPathファンクションの使用方法
6.18.1 変換先ノードへの代入
6.18.2 ファンクションへの代入
6.18.3 くり返し出現するノードの選択
6.18.4 くり返しファンクションとの連携

7. HCSCコンポーネントのパッケージングと配備定義
7.1 パッケージングと配備定義
7.2 パッケージング
7.3 HCSCコンポーネントの配備定義
7.3.1 配備できるクラスタ(または単一のHCSCサーバ)
7.3.2 クラスタにHCSCコンポーネントを追加する
7.3.3 クラスタからHCSCコンポーネントを削除する
7.4 HCSCコンポーネントの情報の参照
7.4.1 参照できるHCSCコンポーネントの情報
7.4.2 HCSCコンポーネントの情報を表示する
7.4.3 HCSCコンポーネントの一覧を更新する
7.5 HCSCコンポーネントをHCSCサーバに配備して開始する処理の一括実行
7.5.1 配備から開始までの処理の流れ
7.5.2 HCSCコンポーネントをHCSCサーバに配備して開始する方法
7.6 HCSCコンポーネントを停止してHCSCサーバから削除する処理の一括実行
7.6.1 停止から削除までの処理の流れ
7.6.2 HCSCコンポーネントを停止してHCSCサーバから削除する方法

8. サービスリクエスタの作成
8.1 サービスリクエスタ作成の概要
8.2 標準の同期受付(Webサービス)に要求を出すサービスリクエスタ(SOAP通信基盤)
8.2.1 サービスリクエスタ(標準の同期受付(Webサービス))の作成手順(SOAP通信基盤)
8.2.2 WSDLを取得する
8.2.3 スタブを生成する
8.2.4 オブジェクトを生成する
8.2.5 パラメタを設定する
8.2.6 要求電文を作成する
8.2.7 応答電文を取得する
8.2.8 エラー情報を取得する
8.2.9 ビジネスプロセスの再実行を要求するサービスリクエスタの作成(Webサービス・SOAP通信基盤)
8.2.10 サービスアダプタの稼働状況確認を要求するサービスリクエスタの作成(Webサービス・SOAP通信基盤)
8.3 標準の同期受付(Webサービス)に要求を出すサービスリクエスタ(JAX-WSエンジン)
8.3.1 サービスリクエスタ(標準の同期受付(Webサービス))の作成手順(JAX-WSエンジン)
8.3.2 WSDLを取得する
8.3.3 サービスクラスを生成する
8.3.4 オブジェクトを生成する
8.3.5 パラメタを設定する
8.3.6 要求電文を作成する
8.3.7 応答電文を取得する
8.3.8 エラー情報を取得する
8.3.9 ビジネスプロセスの再実行を要求するサービスリクエスタの作成(Webサービス・JAX-WSエンジン)
8.3.10 サービスアダプタの稼働状況確認を要求するサービスリクエスタの作成(Webサービス・JAX-WSエンジン)
8.4 標準の同期受付(SessionBean)に要求を出すサービスリクエスタ
8.4.1 サービスリクエスタ(標準の同期受付(SessionBean))の作成手順
8.4.2 スタブを取得する
8.4.3 インスタンスを生成する
8.4.4 パラメタを設定する
8.4.5 要求電文を作成する
8.4.6 応答電文を取得する
8.4.7 エラー情報を取得する
8.4.8 ビジネスプロセスの再実行を要求するサービスリクエスタの作成(SessionBean)
8.5 標準の非同期受付(MDB(WS-R))に要求を出すサービスリクエスタ
8.5.1 サービスリクエスタ(標準の非同期受付(MDB(WS-R)))の作成手順
8.5.2 転送キューを作成する
8.5.3 JMSメッセージを生成する
8.5.4 パラメタを設定する
8.5.5 要求電文を作成する
8.5.6 JMSメッセージを送信する
8.5.7 応答用のキューを設定する
8.5.8 応答を取り出す
8.5.9 応答電文を取得する
8.6 標準の非同期受付(MDB(DBキュー))に要求を出すサービスリクエスタ
8.6.1 サービスリクエスタ(標準の非同期受付(MDB(DBキュー)))の作成手順
8.6.2 送信用共用キューを作成する(JMS)
8.6.3 JMSメッセージを生成する(JMS)
8.6.4 バイナリデータを作成する(TP1/EE,JMS)
8.6.5 パラメタを設定する(TP1/EE,JMS)
8.6.6 要求電文を作成する(TP1/EE,JMS)
8.6.7 バイナリデータを受信用共用キューに設定する(TP1/EE)
8.6.8 JMSメッセージを送信する(JMS)
8.6.9 応答用のキューを設定する(TP1/EE,JMS)
8.6.10 応答を取り出す(TP1/EE,JMS)
8.6.11 応答電文を取得する(TP1/EE,JMS)
8.7 SOAP受付に要求を出すサービスリクエスタ
8.7.1 サービスリクエスタ(SOAP受付)の作成手順(SOAP通信基盤)
8.7.2 WSDLを編集する
8.7.3 スタブを生成する
8.7.4 オブジェクトを生成する
8.7.5 応答電文を取得する
8.7.6 エラー情報を取得する
8.7.7 サービスリクエスタ(SOAP受付)の作成手順(JAX-WSエンジン)

9. ビジネスプロセスのデバッグ
9.1 デバッグの流れ
9.2 ビジネスプロセスのデバッグの準備
9.2.1 ブレークポイントの設定
9.2.2 サービスのエミュレーションの設定
9.3 ビジネスプロセスのデバッグの開始
9.4 リクエストの送信
9.5 ビジネスプロセスのデバッグで実施できる操作
9.5.1 ステップ実行および再開
9.5.2 変数・相関セットの確認
9.5.3 変数の更新
9.5.4 XPathの評価
9.5.5 サービスの自動エミュレーション
9.5.6 サービスの手動エミュレーション
9.6 ビジネスプロセスのデバッグの終了

10. JSONデータの変換
10.1 JSON-XML変換で扱うJSONと標準仕様のJSONとの差異
10.2 JSON-XML変換の規則
10.2.1 XML宣言
10.2.2 XML形式データのルート要素
10.2.3 オブジェクト型の変換
10.2.4 配列の変換
10.2.5 null値の変換
10.2.6 文字列型の変換
10.2.7 数値型の変換
10.2.8 boolean型の変換
10.2.9 XML形式データの属性
10.2.10 JSON形式からXML形式に変換する際のオブジェクト名の順序付け
10.3 JSON-XML変換定義ファイルの設定
10.4 JSON-XML変換に関する注意事項
10.4.1 XML形式のデータからJSON形式のデータに変換する場合の注意事項
10.4.2 JSON形式のデータとXML形式のデータを相互変換する場合の注意事項

11. APIを使用したデータ変換
11.1 データ変換APIを使用したデータ変換
11.1.1 データ変換APIを使用したデータ変換の概要
11.1.2 データ変換APIの機能
11.1.3 データ変換APIの詳細
11.1.4 データ変換APIの使用方法
11.1.5 データ変換APIの使用例
11.1.6 データ変換時のボトルネックの特定
11.1.7 データ変換APIの注意事項
11.2 JSON-XML変換APIを使用したデータの形式変換
11.2.1 JSON-XML変換API変換定義の設定
11.2.2 JSON-XML変換APIの障害対策
11.2.3 JSON-XML変換APIの詳細
11.2.4 JSON-XML変換APIの使用方法
11.2.5 JSON-XML変換APIの使用例

12. JSON変換ツールを使用したデータ変換
12.1 JSON変換ツールの概要
12.1.1 JSON形式データに対応するXMLスキーマの生成
12.1.2 JSON-XML変換結果の確認
12.2 変換動作の変更オプション
12.2.1 設定できるプロパティ
12.2.2 プロパティファイルの指定方法
12.2.3 プロパティの指定に関する注意事項
12.3 効率良くXMLスキーマを生成する方法
12.3.1 出現回数の制御
12.3.2 データ型の制御
12.4 JSON変換ツールの実行例
12.4.1 実行例1
12.4.2 実行例2
12.5 JSON変換ツールの注意事項

付録
付録A 旧バージョンからの移行
付録A.1 移行の対象となるバージョン
付録A.2 旧バージョンからの移行手順
付録A.3 旧バージョンで開発環境と運用環境のリポジトリを共有していた場合の移行手順
付録B 評価版からの移行
付録C 上流設計ツールを利用したシステムの開発
付録C.1 上流設計ツールを利用したシステム開発の概要
付録C.2 上流設計ツールを利用したシステム開発の流れ
付録C.3 上流設計ツール利用時の前提事項
付録C.4 上流設計ツール利用時のトラブルシューティング
付録D 上流設計ツールを利用したシステムの開発例
付録D.1 ビジネスプロセスの概要を設計する
付録D.2 サービスの概要インターフェースを検討する
付録D.3 ビジネスプロセスを詳細化する
付録D.4 ビジネスプロセスを出力する
付録D.5 サービスの詳細インターフェースを検討する
付録D.6 サービスアダプタを作成する
付録D.7 ビジネスプロセスをインポートする
付録D.8 ユーザ定義受付を追加する
付録D.9 メッセージのスキーマを登録する
付録D.10 メッセージ変換とシステム例外処理を追加する
付録E 上流設計ツールとの連携で使用するBPELのサポート範囲
付録E.1 BPEL1.1のビジネスプロセス定義をインポートする場合
付録E.2 BPEL2.0のビジネスプロセス定義をインポートする場合
付録F サービスアダプタを利用したHTTPヘッダおよびCookie情報の引き継ぎ
付録G コンポーネント共通UOC
付録G.1 コンポーネント共通UOCクラスのプロパティファイル
付録G.2 コンポーネント共通UOCクラスの指定方法
付録G.3 UOCクラス用API
付録G.4 電文取得用API
付録G.5 UOCクラスのjarファイル指定方法
付録G.6 注意事項
付録H 文字コード変換UOCを利用した文字コード変換
付録H.1 文字コード変換UOCのjarファイルの開発
付録H.2 文字コード変換UOCを使用するための設定
付録H.3 CSCOwnCodeConverterインターフェース
付録H.4 CSCOwnCodeReaderインターフェース
付録H.5 CSCOwnCodeReaderContextインターフェース
付録H.6 注意事項
付録I DBアダプタで取得したデータのフォーマットの変換例
付録I.1 例題
付録I.2 フォーマットの変換方法
付録J DBアダプタで取得したデータの自動マッピング
付録K 外部バインディングファイルを利用したWSDLのカスタマイズ
付録L IBM漢字コードの文字セットの変更
付録L.1 IBM漢字コードの文字セットを変更する手順
付録M サイズノードの機能拡張
付録M.1 サイズノードにサイズノード自身のサイズを含めた値を指定する
付録M.2 サイズノードが表すデータサイズの単位をバイト数から桁数へ変更する
付録M.3 サイズノードにビット列型のノードを指定する
付録N 選択要素なし(入出力データが0バイトとなるケース)の選択構成の定義
付録N.1 前提条件
付録N.2 設定方法
付録N.3 注意事項
付録O バイナリデータの未定義コードを置換する文字の定義
付録O.1 前提条件
付録O.2 検知した未定義コードを指定した文字に置換する処理の流れ
付録O.3 置換文字コードを指定するJ2EEサーバ用ユーザプロパティ
付録O.4 未定義コードの任意文字置換時の注意事項
付録O.5 置換文字コードの設定例
付録P バイナリデータ内に文字コードが混在する場合の対応
付録P.1 個別文字コードが指定できるデータ種別および指定可能な文字コード
付録P.2 個別文字コードの指定方法
付録P.3 個別文字コード指定とセパレータを併用する場合の注意事項
付録Q CSV形式の単純内容要素のデータなしの区別
付録Q.1 空データとNullデータを区別するための処理の概要
付録Q.2 空データとNullデータを区別するための設定
付録Q.3 CSV形式のデータおよびDOMの扱われ方
付録Q.4 CSV形式のデータとDOMの相互変換
付録R LOW-VALUE(0x00で埋められたデータ)と空要素を相互に変換する場合の対応
付録R.1 前提条件
付録R.2 設定方法
付録S 用語解説

索引