見えてきたBPMN 2.0の全貌

OMGが開発を進めているBPMN 2.0標準仕様の採択が本年6月に行われる予定である。その詳細は明らかにされていなかったが、あるWebサイト(ここのページからダウンロード可)に2009年5月11日付けの最新「BPMN 2.0 提案原稿」が公開されていたので改訂ポイントを紹介したい。この仕様書はA4にして487ページと膨大なため精読は不可能に近い。以下に私の興味あるポイントだけを示す。

BPMNの命名変更

これまではBPMNというと
Business Process Modeling Notationの略称であったが、 2.0からは
Business Process Model and Notationに名称が変更されている。

4っの適合基準

新仕様ではConformance(適合or適合性)という語彙が盛んに使われており、本仕様を活用する場面/目的を次の4っの領域に分けBPMNの仕様準拠基準を規定している。(詳細はPage 27 2.Conformanceを参照)

  1. Process Modeling Conformance (ビジネスアナリストがプロセスデザインする領域)
  2. Process Execution Conformance (ITスペシャリストが実行可能なモデルをデザインする領域)
  3. BPEL Process Execution Conformance (BPMN vs. WS-BPELマッピング仕様)
  4. Choreography Modeling Conformance (2.0で新たに加わったコラボレーションプロセスのコレオグラフィーの可視化)

たとえば、BPMNのプロセス図には、プロセスタイプ(ProcessType)というプロパティが設けられ、1の適合モデルか、 2の適合モデルか、その値が”non-executable”か、”executable”かで識別できるようにしている。

この適合基準を設けた背景には、

  • プロセス実行に必要な可視化表現の追加、実行可能設計属性(実行セマンティックス)の追加、不完全であったBPMN- BPEL変換仕様の強化など、仕様改訂が「ITスペシャリストがBPMNを使って実行プロセスモデルを設計可能する(実行可能設計)」 に力点が置かれたため、表記図形要素と定義属性がBPMN1.xに比して増加し複雑かつ難解になった(この作業はIBM、Oracle、 SAPが中心になって進められたようだ)。
  • そのため、BPMN仕様の利用範囲がビジネスプロセス分析からIT実装まで幅広くなり、用途別に適用範囲を定める必要が生じた。 特にビジネスアナリストグループからは、1と2の境界を仕様で示してほしい声が上がった。
  • ベンダーがBPMN準拠製品を開発する際の準拠基準とツール間の相互運用性保証ガイドラインが必要となった。

などがある。いずれにせよ、仕様適合基準が設けられたことは大きな前進である。

大幅に増えたイベント表記図形

仕様書Page 256の「Table 10-91 Types of Events and their Markers」にすべてのイベント表記図形が列挙されている。この表の行方向に示されるイベントタイプでは、EscalationとParallel Multipleが新たに加わった。さらに列方向に示される配置場所では、開始イベント、中間イベントにそれぞれ”Interrupting”、” Non-Interrupting”が加わり、図形のバリエーションが大幅に増えている。この図形の多さには、「こんなに必要なのか?」と面食らう。IBM、Oracle、SAP連合が参画しているのだから、これらのバリエーションとセマンティックスはちゃんとWS-BPELにマッピングできるのだろうと勝手に想像している。

Table 10-91 Types of Events and their Markers


event

アクティビティ・タスクタイプの追加とアイコン統一

ビジネスルールに基づいて判定するデシジョンサービスのタスクタイプが新たに追加され、ベンダ製品ごとに異なったタスクタイプのアイコンも仕様に明記され統一化された。


TaskType

ビジネスルールエンジンを使ってWebサービス経由で意思決定を自動化するBRMSの考え方がビジネスプロセスモデルに取り入れられている。

新たに加わったコレオグラフィーの表記

2.0でのハイライトのひとつは、企業間コラボレーションプロセスでメッセージのやり取りの実行手順を可視化したコレオグラフィーのサポートである。コレオグラフィーは複数のサービスを連携させた、複雑なWebサービス間のプロセスフローを可視化し複数のオペレーションの依存関係や実行順序などを記述するためのものである。 BPMN1.xではプールとメッセージフローを使用してコラボレーションプロセスを表記できたが、より詳細なメッセージングの実行順序は表記できなかった。仕様書Page 256の「Figure 9-7 An example of a Choreography within a Collaboration」にコラボレーションプロセスにコレオグラフィーを追記した例図があり参考にされたい。

仕様書Page 64の「Figure 7-7 An example of a stand-alone Choreography diagram」は、コレオグラフィー部だけを独立して表記したコレオグラフィー図の例である。状況依存で実行順序が制御されることがこの図から分かる。

Figure 9-7 An example of a Choreography within a Collaboration


coreo

Figure 7-7 An example of a stand-alone Choreography diagram


coreo2

カンバセーション図

プールとメッセージフローを使用して表記したコラボレーションプロセスを抽象化し、ステークフォルダー間の関係を図示するカンバセーション図の表記が新たに加わった。仕様書Page 316の「Figure 11-3 Conversation diagram depicting several conversations between Participants in a related domain」にカンバセーション図の代表例が示されている。この図は、ビジネスアナリストがビジネスプロセスモデルの外観図としてステークフォルダー間の関係を図示するために使用するものと思われる。

Figure 11-3 Conversation diagram depicting several conversations between Participants in a related domain


conversation

BPMNとWS-BPELのマッピング

仕様書Page 432にこのマッピング仕様が記述されている。 BPMNで表記した図形要素やプロセスパターンがどのようにWS-BPELに変換されるか確認できる。

仕様書Page 455の「15.2. Extended BPMN-BPEL Mapping」では、 WS-BPELがブロック構造記述であるがゆえに簡単にはマッピングできない問題箇所(特にループバック)に焦点をあて、解決策を提示している。 BPMNとWS-BPELのマッピングをサポートするツールベンダはこの箇所の問題解決を図らなければならないのである。

所感:

BPMN 2.0では、BPMNを使って「実行可能設計(Executable Design)」を実現する狙いがあると考える。これまでのBPMN 1.xはビジネスアナリストグループやBPMベンダで構成するBPMI.orgで策定された。BPMN 2.0は、IBM、Oracle、 SAPなど、ITベンダが主導するOMGに受け継がれ、IT寄りの仕様強化が中心になっている。その結果、ビジネスからITへ実行の道筋(the pathway to execution)が具体的になってきた半面、IT寄りの仕様が膨らんだため、BPMN 1.xに慣れ親しんだ利用者は、難解なイメージを持つことだろう。このイメージを払拭するにはビジネスとITの両面からそれぞれのBPMN利用範囲を限定的し利用しやすくする工夫が必要である。

仕様書には実行セマンティックス(execution semantics)という語彙が度々登場する。これまでBPEL(実行言語)しか持たないSOAベンダが実行のための設計情報をBPMNで記述する挑戦が2.0に表出している。では、BPELは不要になるのでは?との素朴な疑問が生じる。

2008年12月25日のInfoQでのBPMN 2.0 バーチャル座談会では、BPMN 2.0の策定に参加したIBM, Oracle, SAPの意見が次のように述べられている。

Q:BPMN 2.0とBPEL 2.0との関係について教えてください。BPMN 2.0によってBPELは不要になるのでしょうか?

(IBM, Dave Ings氏) これまでの説明にもありましたが、 BPMNはモデリング向けであり、BPELはデプロイ向けです。 これらはどちらもBPM開発ライフサイクルをサポートする基本的な標準です。

(Oracle, Manoj Das氏) まず、BPMNはモデリング標準であり、BPELは実行時の標準です。 その点においてどちらも補完的であり、BPMNのモデルはBPELプロセスとして実行されます。とはいえBPMN 2.0は十分な実行セマンティクスを定義していることから、実装の中にはBPMN 2.0を直接実行し、BPEL 2.0と重なるようなものも出てくるでしょう。2つのアプローチ、 すなわちBPMNモデルをBPELとして実行する方法とBPMNを直接実行する方法がより合う異なったユースケースがあるのでしょう。

(SAP, Ivana Trickovic氏) BPELはWebサービスベースのプロセスのためのモデルと実行セマンティクスを定義していますが、 これはBPMNの機能のサブセットです。たとえば、BPMNでは任意のグラフや複雑なデータフローを描くことができます。BPMN 2.0の提案にはBPMNサブセットとBPELとのオプションのマッピングを含んでいます。 これは環状にならないようなブロック構造のフローに制限しています。 これらのBPMNプロセスはBPELベースの実行環境で実行することもできます。

それぞれ、ベンダの製品戦略によって、この疑問への答えは異なっている。IBMは(WebSphereが主力製品なので)BPELは無くならないと言い、Oracleは(BPMNとBPELのハイブリッドエンジンを開発中なので)BPMNから直接実行する場合もあれば、 BPELに変換してから実行する2通りが混在すると言い、SAPは(ヒューマンセントリックプロセスに特化したNetWeaverが主力製品なので)BPMNからの直接実行が基本で、ループバックのない直線的なプロセスの一部はBPELに変換してから実行する場合がある、と言っている。

岩田

広告
  1. まだコメントはありません。
  1. No trackbacks yet.

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中