柔軟性の高いシステムを目指すSOA/ESB 6

ESBとBPELサーバの連携

前回は   前回「第5回:BPELサーバとの関連付け」では、SOAらしいシステムを構築していく上で重要になるBPELサーバが何であり、どのように構成されているかを解説してきた。続く今回は、実際にESBとBPELを連携させるための処理フローについて解説していく。実際の処理のアクティビティ   このア

高安 厚思

2006年9月13日 20:00

前回は

   前回「第5回:BPELサーバとの関連付け」では、SOAらしいシステムを構築していく上で重要になるBPELサーバが何であり、どのように構成されているかを解説してきた。続く今回は、実際にESBとBPELを連携させるための処理フローについて解説していく。

実際の処理のアクティビティ

   このアクティビティがBPELにおける根幹的な要素である。このアクティビティを実行することでプロセスが実行される。

処理アクティビティ Essential Business Process Modeling(ISBN:059600830)から引用し、筆者が追記
図1:処理アクティビティ
Essential Business Process Modeling
(ISBN:059600830)から引用し、筆者が追記
(画像をクリックすると別ウィンドウに拡大図を表示します)

   図1は処理のアクティビティを抽象的なActivityを親クラスとしてクラス図として記述したものだ。処理アクティビティは、全部で8つありそれぞれの概要を表1に示す。

receive、invoke、replyアクティビティ
外部とのやりとりをあらわす。
assignアクティビティ
変数・メッセージに代入・複製をおこなう。
waitアクティビティ
指定された時間まで処理を停止する。
emptyアクティビティ
何も処理をしない。
throwアクティビティ
例外(Faultメッセージ)をスローする。
compensateアクティビティ
キャンセル処理を起動させる。
表1:処理アクティビティ

実際の処理フローを構造化するためのアクティビティ

   単純な処理だけでは、処理フローを記述することができない。そのためBPELでは処理を構造化するためのアクティビティを定義している。

構造をあらわすアクティビティ Essential Business Process Modeling(ISBN:059600830)から引用し、筆者が追記
図2:構造をあらわすアクティビティ
Essential Business Process Modeling
(ISBN:059600830)から引用し、筆者が追記
(画像をクリックすると別ウィンドウに拡大図を表示します)

   図2は構造をあらわすアクティビティを抽象的なActivityを親クラスとしてクラス図として記述したものだ。構造をあらわす印としてStructuredステレオタイプを利用している。これらのアクティビティは全部で6つありそれぞれの概要を表2に示す。

switchアクティビティ
複数の条件から1つを選択して実行する。
flowアクティビティ
複数のアクティビティを並行に実行する。
sequenceアクティビティ
複数のアクティビティを順番に実行する。
pickアクティビティ
複数のメッセージに対応する処理を実行する。
scopeアクティビティ
例外の処理範囲やキャンセル処理範囲をあらわす。
whileアクティビティ
条件を満たす間、子要素のアクティビティをループする。
表2:各アクティビティの概要

   これらのアクティビティを組み合わせて、処理フローを作成する。

各アクティビティの詳細は以下のURLを参照してください。

実践!ビジネス・プロセス・インテグレーション
http://www.thinkit.co.jp/free/project/16/2/1.html

   粒度によってはビジネスプロセスをあらわすこともあれば単純なサービスの処理フローをあらわすこともある。この粒度が、BPELの役割を混乱させる元になっている。

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る