アーカイブ

Archive for 2009年5月

BPMN 2.0のプロセスモデル相互運用性のゆくえ

2009年5月29日 コメントをどうぞ

BPMN 2.0の開発では、異種ツール間でプロセスモデル交換できる交換フォーマットの標準化が成果目標のひとつであった。

しかし、この標準化が先送りされる状況らしい。その経緯と方向性について展望する。

瓦解したOMG BPDMによるモデル交換

OMGは、BPMN 2.0の開発表明にあたり下図に示すプロセスモデル交換法の実現を計画した。BPDM(Business Process Definition Metamodel)は、OMGがそれ以前から温めていたプロセスモデルのメタモデル標準化構想である。プロセス可視化標準であるBPMNとこのメタモデルの綿密な連携により、市場にあるさまざまなプロセス言語に変換できるというMDA構想の一環である。


BPDM

しかし、BPMN 2.0 策定チームの間では、BPDMは、あまりにもアカデミック過ぎ、複雑で、実用的でないとの評価が下り、この構想は実現していない。

BPMN 2.0での標準化は先送り

BPMN 2.0 策定チームは、プロセスモデル交換フォーマットの標準化については、当初のOMG BPDM提案を排除し、仕様書に記述されているBPMNメタモデルをXSDとXMIを基に交換する方法を考えた。この方法は、BPMN 2.0サポートツール間では簡易にモデル交換できるので支持された。

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

Q.BPMN 2.0とXPDLの関係について教えてください。

(IBM, Dave Ings氏) XPDLはモデリング言語(一部BPMNと重なるところがあります)とプロセスモデルの交換フォーマットを定義しています。OMGが定義した交換フォーマットにはなかった、BPMN 1.1のサポートの強化がXPDL 2.0にはあります。上で述べたBPMN 2.0は特別な交換フォーマットを定義していますが、やがて業界はこれに向かって移行すると考えています。

(Oracle, Manoj Das氏) BPMN 1.1は永続化フォーマットを決めていなかったため、私たちのものを含め多くの製品はXPDLを永続化と交換フォーマットに使っていました。BPMN 2.0はネイティブの永続化および交換フォーマットを持つことになるため、私たちはXPDLを使うのをやめ、BPMN 2.0仕様のフォーマットを利用し、既存のBPMN1.1/XPDLの資産をBPMN 2.0に移行させるつもりです。他の皆さんも同様のアプローチを取ると予想しています。

(SAP, Ivana Trickovic氏) XPDLはワークフロープロセスのためのモデルと交換フォーマットを定義しています。これはまたBPMN 1.1プロセスのための交換フォーマットとして提案されています。BPMN 2.0はBPMNモデルのためのXMIベースとXSDベースの交換フォーマットを導入しており、将来的にはBPMN 1.1とBPMN 2.0のプロセス定義のどちらでも交換するのに使われるだろうと予想しています。

ところが、BPMN 2.0の開発に参画しているBruce Silverの2009年4月14日付けブログ、Five Things They Left Out of BPMN 2.0(BPMN 2.0から外された5項目)では、外された項目の3に「
Model portability」があり、「So don’t expect much portability when BPMN 2.0 tools first come out」と言っている。確かに最新のBPMN 2.0仕様ドラフトには、XSDとXMIを基にした交換フォーマットに関する詳細仕様が抜けており、フォーマットの規格化は将来バージョンに先送りされるようだ。

XPDLによる新たな取り組み

Sandy Kemsley の5月19日付けブログにRobert Shapiro on BPMN 2.0 と題し、WfMCのXPDL 2.2開発計画が紹介されていた。本年後半から来年にかけてBPMN 2.0に対応するXPDLの新仕様をリリースするらしい。これが実現すれば、XPDLは今後1~2年もプロセスモデル交換フォーマットの最右翼となるだろう。


XPDL Timeline
 

標準化の意義

映像関係の標準であるビデオテープ、DVD、ブルーレイの規格標準化は、映像コンテンツを様々な異なるメーカーのプラットフォームで再生、記録を可能し、映像コンテンツの制作、流通が盛んになった。これは、標準化効果の良い例である。ビジネスプロセスモデルの世界でも標準化に対する期待は同様である。BPMNでプロセスを可視化しておけば、異なるメーカーのITプラットフォームで再設計と実行が容易になり、ビジネスプロセスモデルの流通も盛んになるものと予想される。ITベンダー主導での標準化活動では、「Model portability」、「Business Process Interoperability」の標準化に関しては、それぞれの思惑もあり、かなり難航するように思われる。当面はビジネスアナリスト集団が牽引するWfMCの標準化活動に頼るしかないのが実情のようである。

岩田

見えてきたBPMN 2.0の全貌

2009年5月14日 コメントをどうぞ

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に変換してから実行する場合がある、と言っている。

岩田