Hitachi

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


付録E.1 BPEL1.1のビジネスプロセス定義をインポートする場合

BPEL1.1の場合の,BPELファイルのサポート範囲およびビジネスプロセス定義への変換ルールについて説明します。

サービスプラットフォームでは,BPEL1.1の場合のBPELファイルに定義されている要素および属性で,一部サポートしていないものがあります。BPEL1.1の場合のBPELファイルに定義されている要素および属性について,サービスプラットフォームでのサポート有無を次の表に示します。

表E‒2 BPELファイルに定義されている要素および属性のサポート有無(BPEL1.1の場合)

分類

要素

下位要素または属性

サポート有無

ビジネスプロセス全体の定義に関する要素

process要素

name属性

×

targetNamespace属性

×

queryLanguage属性

×

expressionLanguage属性

×

suppressJoinFailure属性

×

enableInstanceCompensation属性

×

abstractProcess属性

×

partnerLinks要素

×

partners要素

×

correlationSets要素

×

variables要素

variable要素

name属性

messageType属性

type属性

element属性

×

faultHandlers要素

catch要素

faultName属性

×

faultVariable属性

activity※1

catchAll要素

activity※1

compensationHandler要素

×

eventHandlers要素

×

activity※1

基本アクティビティに関連する要素

receive要素

name属性

joinCondition属性

×

suppressJoinFailure属性

×

partnerLink属性

×

portType属性

×

operation属性

variable属性

createInstance属性

target要素

×

source要素

×

correlations要素

×

reply要素

name属性

joinCondition属性

×

suppressJoinFailure属性

×

partnerLink属性

×

portType属性

×

operation属性

variable属性

faultName属性

target要素

×

source要素

×

correlations要素

×

invoke要素

name属性

joinCondition属性

×

suppressJoinFailure属性

×

partnerLink属性

×

portType属性

operation属性

inputVariable属性

outputVariable属性

target要素

×

source要素

×

correlations要素

×

catch要素

faultName属性

×

faultVariable属性

activity※1

catchAll要素

activity※1

compensationHandler要素

×

assign要素

name属性

joinCondition属性

×

suppressJoinFailure属性

×

target要素

×

source要素

×

copy要素

from要素

variable属性

expression属性

part属性

×

partnerLink属性

×

endpointReference属性

×

property属性

×

opaque属性

×

query属性

×

タグ値※2

to要素

variable属性

part属性

×

partnerLink属性

×

property属性

×

query属性

×

empty要素

name属性

joinCondition属性

×

suppressJoinFailure属性

×

target要素

×

source要素

×

throw要素

faultName属性

×

faultVariable属性

name属性

joinCondition属性

×

suppressJoinFailure属性

×

target要素

×

source要素

×

wait要素

name属性

joinCondition属性

×

suppressJoinFailure属性

×

target要素

×

source要素

×

for属性

until属性

terminate要素※3

name属性

joinCondition属性

×

suppressJoinFailure属性

×

target要素

×

source要素

×

compensate要素※3

name属性

joinCondition属性

×

suppressJoinFailure属性

×

scope属性

×

target要素

×

source要素

×

構造アクティビティに関連する要素

scope要素

name属性

joinCondition属性

×

suppressJoinFailure属性

×

variableAccessSerializable属性

×

target要素

×

source要素

×

correlationSets要素

×

variables要素

variable要素

name属性

messageType属性

type属性

element属性

×

faultHandlers要素

catch要素

faultName属性

×

faultVariable属性

activity※1

catchAll要素

activity※1

compensationHandler要素

×

eventHandlers要素

×

activity※1

while要素

name属性

joinCondition属性

×

condition属性

suppressJoinFailure属性

×

target要素

×

source要素

×

activity※1

switch要素

name属性

joinCondition属性

×

suppressJoinFailure属性

×

target要素

×

source要素

×

case要素

condition属性

activity※1

otherwise要素

activity※1

flow要素

name属性

joinCondition属性

×

suppressJoinFailure属性

×

target要素

×

source要素

×

links要素

×

activity※1

sequence要素

name属性

×

joinCondition属性

×

suppressJoinFailure属性

×

target要素

×

source要素

×

activity※1

pick要素※3

name属性

joinCondition属性

×

suppressJoinFailure属性

×

createInstance属性

×

target要素

×

source要素

×

onAlarm要素

×

onMessage要素

×

(凡例)

○:サポートしています。

△:制限付きでサポートしています。

×:サポートしていません。

注※1

activityの部分には,実際にはreceive要素,reply要素,invoke要素などが入ります。

注※2

from要素のタグ値が変換元になります。

注※3

未サポートアクティビティのため,name属性だけを反映した無操作アクティビティとして取り込まれます。

〈この項の構成〉

(1) ビジネスプロセス全体の定義に関連する要素の変換

BPELファイルに定義されている要素のうち,ビジネスプロセス全体に関連する内容(ビジネスプロセスそのものの設定,利用する変数など)の変換について次に説明します。

(a) process要素の変換

process要素およびその下位要素・属性は,ビジネスプロセス全体の定義に関連する内容に変換されます。

変換の詳細を次の表に示します。

表E‒3 process要素の変換

BPELファイルの要素

ビジネスプロセスの定義内容

定義内容

説明

process要素

variables要素

変数

詳細は「(1)(b) variables要素の変換」を参照してください。

correlationSets要素

相関セット

詳細は「(1)(c) correlationSets要素の変換」を参照してください。

faultHandlers要素

フォルト処理

詳細は「(1)(d) faultHandlers要素の変換」を参照してください。

activity

アクティビティ

ビジネスプロセスを構成するアクティビティに変換されます。

ビジネスプロセス名

ビジネスプロセス定義を追加するためのダイアログで指定したビジネスプロセス名が設定されます。

ビジネスプロセスのバージョン

「1」が設定されます。

永続化

ビジネスプロセス定義を追加するためのダイアログで指定した永続化の有無が設定されます。

(凡例)

−:該当する要素はありません。定義内容は,自動設定されるか,またはビジネスプロセス定義を追加するためのダイアログで指定した内容が設定されます。

注※

activity の部分には,実際にはreceive要素,reply要素,invoke要素などが入ります。

ビジネスプロセスの各アクティビティに変換される要素については,「(2) 基本アクティビティに関連する要素の変換」および「(3) 構造アクティビティに関連する要素の変換」を参照してください。

(b) variables要素の変換

variables要素およびその下位要素・属性は,ビジネスプロセス(またはスコープ内)に設定されている変数の定義に変換されます。インポートしたあとは,定義内容を変数・相関セット一覧ダイアログで変更できます。

注意事項

サービスプラットフォームでは,スコープ内のフォルト処理を構成するアクティビティの割当変数として定義できる変数は,フォルト処理のあるスコープの上位スコープで定義されている変数です。

そのため,BPELファイルのscope/faultHandlers要素以下の要素で,変数として同じscope要素内の変数を利用している場合,インポートしたあとにビジネスプロセスで割当変数を再定義してください。

変換の詳細を次の表に示します。表内の「項目」に示す名称は,変数・相関セット一覧ダイアログの項目名です。

表E‒4 variables要素の変換

variables要素の下位要素または属性

ビジネスプロセスの定義内容

項目

説明

variable要素

name属性

変数名

変数の名称が設定されます。

messageType属性

種別

この属性が定義されていた場合,type属性は文字列型(string)に変換されます。

そのため,変換後に変数の種別をメッセージ型(XML)に変更し,電文フォーマットを登録する必要があります。

type属性

種別

次に示す変数の種別が設定されます。

  • booleanの場合

    「boolean」が設定されます。

  • doubleで表現可能な型の場合

    「numeric」が設定されます。

  • 上記以外または未定義の場合

    「string」が設定されます。

部分指定

変数の部分指定には,値は設定されません。部分指定を利用する場合,インポートしたあとに変数・相関セット一覧ダイアログで設定してください。

(凡例)

−:該当する要素はありません。

注※

次の型が該当します。

int,short,byte,unsignedInt,unsignedShort,unsignedByte,float,double

(c) correlationSets要素の変換

correlationSets要素の定義内容は,ビジネスプロセスの定義では「相関セット」に当たる情報です。BPELファイルをインポートしてビジネスプロセスを作成しても値は設定されません。

ビジネスプロセスで相関セットを利用する場合,インポートしたあとに変数・相関セット一覧ダイアログで相関セットを定義し,相関セットを使用するアクティビティの割当相関セット群ダイアログで相関セットを割り当ててください。

(d) faultHandlers要素の変換

faultHandlers要素およびその下位要素・属性は,ビジネスプロセス内のフォルト処理の定義内容に変換されます。変換後の定義内容は,フォルト処理の割当ダイアログで変更できます。

注意事項
  • process要素の直下にfaultHandlers要素が定義されている場合,最上位のビジネスプロセスにスコープが作成され,そのスコープのフォルト処理として定義されます。その場合,process要素の直下のアクティビティは作成されたスコープ内に移動されます。

  • scope要素の配下にfaultHandlers要素が定義されている場合,上位のスコープ内にフォルト処理が設定されます。

変換の詳細を次の表に示します。表内の「項目」に示す名称は,フォルト処理の割当ダイアログの項目名です。

表E‒5 faultHandlers要素の変換

faultHandlers要素の下位要素または属性

ビジネスプロセスの定義内容

項目

説明

catch要素

faultVariable属性

割当変数

変数については「(1)(b) variables要素の変換」の注意事項も参照してください。

activity

アクティビティ

ビジネスプロセスを構成するアクティビティに変換されます。

catchAll要素

activity

アクティビティ

ビジネスプロセスを構成するアクティビティに変換されます。

割当変数

常に「catch-all」が設定されます。

遷移先

catch要素またはcatchAll要素が定義されている場合,フォルト処理の遷移先が自動的に設定されます。

(凡例)

−:該当する要素はありません。定義内容は自動で設定されます。

注※

activityの部分には,実際にはreceive要素,reply要素,invoke要素などが入ります。

(2) 基本アクティビティに関連する要素の変換

BPELファイルに定義されている要素のうち,基本アクティビティに変換される要素の変換について次に説明します。

(a) receive要素の変換

receive要素およびその下位要素・属性は,受付アクティビティの定義内容に変換されます。インポートしたあとは,定義内容を受付アクティビティダイアログで変更できます。

注意事項

次の条件を満たすreceive要素が複数定義されている場合,2つ目以降のreceive要素は無操作アクティビティに変換されます。

  • portType属性が同一である

  • operation属性が同一である

変換の詳細を次の表に示します。表内の「項目」に示す名称は,受付アクティビティダイアログの項目名です。

表E‒6 receive要素の変換

receive要素の下位要素または属性

ビジネスプロセスの定義内容

項目

説明

operation属性

オペレーション名

portType属性が異なり,かつoperation属性が同一のreceive要素がすでに定義されている場合,オペレーション名の末尾に<n>(nは1以上の整数)が付与されます。

variable属性

割当変数

変数については「(1)(b) variables要素の変換」の注意事項も参照してください。

createInstance属性

インスタンス生成

属性値に関係なく「yes」に変換されます。

name属性

アクティビティ名

アクティビティの名称が設定されます。ビジネスプロセス内に同一名称のアクティビティがすでに定義されている場合,アクティビティ名の末尾に<n>(nは1以上の整数)が付与されます。

通信モデル

ビジネスプロセス定義の内容から判断して「同期」または「非同期」が設定されます。

(凡例)

−:該当する要素はありません。定義内容は自動で設定されます。

(b) reply要素の変換

reply要素およびその下位要素・属性は,応答アクティビティの定義内容に変換されます。インポートしたあとは,定義内容を応答アクティビティダイアログで変更できます。

変換の詳細を次の表に示します。表内の「項目」に示す名称は,応答アクティビティダイアログの項目名です。

表E‒7 reply要素の変換

reply要素の下位要素または属性

ビジネスプロセスの定義内容

項目

説明

operation属性

オペレーション名

portType属性とoperation属性が一致するreceive要素のオペレーション名の末尾に<n>(nは1以上の整数)が付与された場合(表E-6のoperation属性を参照),reply要素のオペレーション名の末尾にも同じ<n>が付与されます。

portType属性とoperation属性が一致する,receive要素とreply要素の変換について図E-1に示します。

variable属性

割当変数

変数については「(1)(b) variables要素の変換」の注意事項も参照してください。

faultName属性

フォルト名

プリフィックスが付与されている場合は,ローカル名に変換されます。

name属性

アクティビティ名

アクティビティの名称が設定されます。ビジネスプロセス内に同一名称のアクティビティがすでに定義されている場合,アクティビティ名の末尾に<n>(nは1以上の整数)が付与されます。

図E‒1 portType属性とoperation属性が一致するreceive要素とreply要素の変換

[図データ]

(c) invoke要素の変換

invoke要素およびその下位要素・属性は,サービス呼出アクティビティの定義内容に変換されます。invoke要素の下位要素として,catch要素またはcatchAll要素が定義されている場合,これらはサービス呼出アクティビティのフォルト処理(フォルトコネクションで連結したアクティビティ)に変換されます。インポートしたあとは,サービス呼出アクティビティダイアログまたはフォルト処理の割当ダイアログから定義内容を変更できます。

変換の詳細を次の表に示します。表内の「項目」に示す名称は,サービス呼出アクティビティダイアログまたはフォルト処理の割当ダイアログの項目名です。

表E‒8 invoke要素の変換

invoke要素の下位要素または属性

ビジネスプロセスの定義内容

項目

説明

portType属性

サービス名

該当するサービス部品やオペレーションがリポジトリにある場合にだけ変換されます。ローカル名に変換されます。

operation属性

オペレーション名

該当するサービス部品やオペレーションがリポジトリにある場合にだけ変換されます。

inputVariable属性

要求電文用割当変数

サービス部品とオペレーションがリポジトリに存在する場合に設定されます。

変数については「(1)(b) variables要素の変換」の注意事項も参照してください。

outputVariable属性

応答電文用割当変数

サービス部品とオペレーションがリポジトリに存在し,かつ通信タイプが同期の場合に設定されます。

変数については「(1)(b) variables要素の変換」の注意事項も参照してください。

name属性

アクティビティ名

アクティビティの名称が設定されます。ビジネスプロセス内に同一名称のアクティビティがすでに定義されている場合,アクティビティ名の末尾に<n>(nは1以上の整数)が付与されます。

catch要素

faultVariable属性

割当変数

フォルト処理の割当ダイアログの項目です。

変数については「(1)(b) variables要素の変換」の注意事項も参照してください。

activity

アクティビティ

ビジネスプロセスを構成するアクティビティに変換されます。

catchAll要素

activity

アクティビティ

ビジネスプロセスを構成するアクティビティに変換されます。

割当変数

フォルト処理の割当ダイアログの項目です。

常に「catch-all」が設定されます。

(凡例)

−:該当する要素はありません。定義内容は自動で設定されます。

注※

activityの部分には,実際にはreceive要素,reply要素,invoke要素などが入ります。

(d) assign要素の変換

assign要素およびその下位要素・属性は,代入アクティビティの定義内容に変換されます。インポートしたあとは,定義内容を代入アクティビティダイアログまたは代入アクティビティサブダイアログで変更できます。

変換の詳細を次の表に示します。表内の「項目」に示す名称は,代入アクティビティダイアログまたは代入アクティビティサブダイアログの項目名です。

表E‒9 assign要素の変換

assign要素の下位要素または属性

ビジネスプロセスの定義内容

項目

説明

name属性

アクティビティ名

アクティビティの名称が設定されます。ビジネスプロセス内に同一名称のアクティビティがすでに定義されている場合,アクティビティ名の末尾に<n>(nは1以上の整数)が付与されます。

copy要素

from要素

variable属性

名前(コピー元の変数)

代入アクティビティサブダイアログの項目です。

変数については「(1)(b) variables要素の変換」の注意事項も参照してください。

expression属性

値(コピー元の式)

代入アクティビティサブダイアログの項目です。

variable属性が定義されている場合は変換されません。

タグ値

値(コピー元の式)

代入アクティビティサブダイアログの項目です。

variable属性およびexpression属性が定義されていない場合,タグ値が式の値として設定されます。

to要素

variable属性

変数名(コピー先)

代入アクティビティサブダイアログの項目です。

変数については「(1)(b) variables要素の変換」の注意事項も参照してください。

注※

from要素のタグ値が変換元になります。

(e) empty要素の変換

empty要素は,無操作アクティビティの定義内容に変換されます。インポートしたあとは,定義内容を無操作アクティビティダイアログで変更できます。

変換の詳細を次の表に示します。表内の「項目」に示す名称は,無操作アクティビティダイアログの項目名です。

表E‒10 empty要素の変換

empty要素の下位要素または属性

ビジネスプロセスの定義内容

項目

説明

name属性

アクティビティ名

アクティビティの名称が設定されます。ビジネスプロセス内に同一名称のアクティビティがすでに定義されている場合,アクティビティ名の末尾に<n>(nは1以上の整数)が付与されます。

(f) throw要素の変換

throw要素およびその下位要素・属性は,フォルト送出アクティビティの定義内容に変換されます。インポートしたあとは,定義内容をフォルト送出アクティビティダイアログで変更できます。

変換の詳細を次の表に示します。表内の「項目」に示す名称は,フォルト送出アクティビティダイアログの項目名です。

表E‒11 throw要素の変換

throw要素の下位要素または属性

ビジネスプロセスの定義内容

項目

説明

faultVariable属性

割当変数

変数については「(1)(b) variables要素の変換」の注意事項も参照してください。

name属性

アクティビティ名

アクティビティの名称が設定されます。ビジネスプロセス内に同一名称のアクティビティがすでに定義されている場合,アクティビティ名の末尾に<n>(nは1以上の整数)が付与されます。

(g) wait要素の変換

wait要素は,待機アクティビティの定義内容に変換されます。インポートしたあとは,定義内容を待機アクティビティダイアログで変更できます。

変換の詳細を次の表に示します。表内の「項目」に示す名称は,待機アクティビティダイアログの項目名です。

表E‒12 wait要素の変換

wait要素の下位要素または属性

ビジネスプロセスの定義内容

項目

説明

name属性

アクティビティ名

アクティビティの名称が設定されます。ビジネスプロセス内に同一名称のアクティビティがすでに定義されている場合,アクティビティ名の末尾に<n>(nは1以上の整数)が付与されます。

for属性

待機する間隔の情報です。[間隔]がONになります。

until属性

待機する期限の情報です。[期限]がONになります。

注※

for属性とuntil属性の両方が定義されていた場合,for属性が取り込まれ,until属性が無視されます。また,for属性とuntil属性の両方が定義されていない場合,[間隔]がONになります。

(3) 構造アクティビティに関連する要素の変換

BPELファイルに定義されている要素のうち,構造アクティビティに変換される要素の変換について次に説明します。

(a) scope要素の変換

scope要素およびその下位要素・属性は,スコープアクティビティの定義内容に変換されます。インポートしたあとは,定義内容をスコープアクティビティダイアログで変更できます。

また,scope要素内に定義されている変数,相関セット,フォルト処理,トランザクションの制御の情報は,変数・相関セット一覧ダイアログおよびフォルト処理の割当ダイアログで変更できます。

変換の詳細を次の表に示します。

表E‒13 scope要素の変換

scope要素の下位要素または属性

ビジネスプロセスの定義内容

項目

説明

name属性

アクティビティ名

アクティビティの名称が設定されます。ビジネスプロセス内に同一名称のアクティビティがすでに定義されている場合,アクティビティ名の末尾に<n>(nは1以上の整数)が付与されます。

トランザクションの制御

トランザクション制御を実行するかが設定されます。デフォルトでは,[アクティビティ単位でコミットする]がONになります。

variables要素

変数

スコープ内で利用する変数の情報です。

変数については「(1)(b) variables要素の変換」を参照してください。

correlationSets要素

相関セット

スコープ内で利用する相関セットの情報です。

相関セットの情報については「(1)(c) correlationSets要素の変換」を参照してください。

faultHandlers要素

フォルト処理

スコープ内のフォルト処理の情報です。

フォルト処理の情報については「(1)(d) faultHandlers要素の変換」を参照してください。

activity

アクティビティ

ビジネスプロセスを構成するアクティビティに変換されます。

(凡例)

−:該当する要素はありません。定義内容は自動で設定されます。

注※

activityの部分には,実際にはreceive要素,reply要素,invoke要素などが入ります。

(b) while要素の変換

while要素およびその下位要素・属性は,繰り返しアクティビティの定義内容に変換されます。インポートしたあとは,定義内容を繰り返しアクティビティダイアログおよび条件設定ダイアログで変更できます。

変換の詳細を次の表に示します。表内の「項目」に示す名称は,繰り返しアクティビティダイアログまたは条件設定ダイアログの項目名です。

表E‒14 while要素の変換

while要素の下位要素または属性

ビジネスプロセスの定義内容

項目

説明

name属性

アクティビティ名

アクティビティの名称が設定されます。ビジネスプロセス内に同一名称のアクティビティがすでに定義されている場合,アクティビティ名の末尾に<n>(nは1以上の整数)が付与されます。

condition属性

条件式

条件設定ダイアログの条件式に値が設定されます。

activity

アクティビティ

ビジネスプロセスを構成するアクティビティに変換されます。

最大繰り返し回数

「100」が自動的に設定されます。

(凡例)

−:該当する要素はありません。定義内容は自動で設定されます。

注※

activityの部分には,実際にはreceive要素,reply要素,invoke要素などが入ります。

(c) switch要素の変換

switch要素およびその下位要素・属性は,分岐開始アクティビティの定義内容に変換されます。インポートしたあとは,定義内容を分岐アクティビティダイアログおよび条件設定ダイアログで変更できます。

注意事項

分岐終了アクティビティは,switch要素以下が分岐開始アクティビティに変換されたときに自動的に設定されます。その際,分岐終了アクティビティの名称として,分岐開始アクティビティの名称に「_終了」を付けた名称が設定されます。

変換の詳細を次の表に示します。表内の「項目」に示す名称は,分岐アクティビティダイアログまたは条件設定ダイアログの項目名です。

表E‒15 switch要素の変換

switch要素の下位要素または属性

ビジネスプロセスの定義内容

項目

説明

name属性

アクティビティ名

アクティビティの名称が設定されます。ビジネスプロセス内に同一名称のアクティビティがすでに定義されている場合,アクティビティ名の末尾に<n>(nは1以上の整数)が付与されます。

case要素

activity

アクティビティ

ビジネスプロセスを構成するアクティビティに変換されます。

condition属性

条件式

条件設定ダイアログの条件式に値が設定されます。

条件名

分岐アクティビティダイアログの項目です。

「condition<n>」が自動的に設定されます。<n>は分岐内でユニークになる整数が設定されます。

優先順位

分岐アクティビティダイアログの項目です。

switch要素内の条件の出現順に設定されます。

otherwise要素

activity

アクティビティ

ビジネスプロセスを構成するアクティビティに変換されます。

優先順位

分岐アクティビティダイアログの項目です。

defaultに設定されます。

遷移先

分岐アクティビティダイアログの項目です。

case要素およびotherwise要素の定義から判断して設定されます。

(凡例)

−:該当する要素はありません。定義内容は自動で設定されます。

注※

activityの部分には,実際にはreceive要素,reply要素,invoke要素などが入ります。

(d) flow要素の変換

flow要素およびその下位要素・属性は,並列処理開始アクティビティの定義内容に変換されます。インポートしたあとは,定義内容を並列処理アクティビティダイアログで変更できます。

注意事項
  • リンクの定義(BPELファイル内のlinks要素以下の定義)は変換されません。

  • 並列処理終了アクティビティは,flow要素以下が並列処理開始アクティビティに変換されたときに自動的に設定されます。その際,並列処理終了アクティビティの名称として,並列処理開始アクティビティの名称に「_終了」を付けた名称が設定されます。

変換の詳細を次の表に示します。表内の「項目」に示す名称は,並列処理アクティビティダイアログの項目名です。

表E‒16 flow要素の変換

flow要素の下位要素または属性

ビジネスプロセスの定義内容

項目

説明

name属性

アクティビティ名

アクティビティの名称が設定されます。ビジネスプロセス内に同一名称のアクティビティがすでに定義されている場合,アクティビティ名の末尾に<n>(nは1以上の整数)が付与されます。

activity

アクティビティ

ビジネスプロセスを構成するアクティビティに変換されます。

注※

activityの部分には,実際にはreceive要素,reply要素,invoke要素などが入ります。

(e) sequence要素の変換

sequence要素は,順次処理アクティビティの定義内容に変換されます。定義内容は変更できません。

なお,sequence要素には,変換される下位属性はありません。

サービスプラットフォームでは,「5.6.18 順次処理アクティビティ」に相当する位置に記述されたsequence要素だけが,ビジネスプロセスの定義に変換されます。