ホーム > プロセスモデリング, BPM, BPMN, SOA > BPMN-to-BPELにおける課題:最終回

BPMN-to-BPELにおける課題:最終回

今回はお約束通りBPMN-to-BPELの問題をふまえてどうすべきかという話をします。でもその前に、Bruce Silver氏のブログ “BPMS Watch Rating” の内容についてふれておきたいと思います。そこではいくつかのベンダのBPMスィートを3つの視点でランキングしいますが、その内容が “どうすべきか” に関係すると思うからです。

3つの視点とは、対象とするプロセスのタイプを次のように区別したものです。

① Integration-Centric Processes

② Human-Centric Processes (Production Workflow)

③ Human-Centric Processes (Case Management)

主にITシステムとITシステムをつなぐプロセスがIntegretion-Centricで、主に人と人をつなぐプロセスがHuman-Centricです。そして、Human-Centric のうち、定型プロセスであり業務フローで管理するのがProduction Workflowで、非定型プロセスでありケースフォルダで管理するのがCase Managementになります。

なお、ケースフォルダとは、その中にあるデータやドキュメントをみんなで登録/参照/更新したりするものです。ブレーンストーミングでやるべき仕事を洗い出して担当者を割り当てて進捗を管理するというようなことにもそのフォルダを利用します。

BPMS Watch Ratingを見ると、各ベンダのBPMスィートでは得手/不得手とするプロセスがあることがわかります。①のタイプのプロセスではOracleといったBPELエンジンが評価されています。メッセージルーティングやフォーマット変換などのESB機能やERPなど様々なシステムをつなぐアダプタが充実しているからです。②のタイプのプロセスではLombardiなどのBPMNをBPELに変換せずに実行するエンジンが評価されています。フォームやスクリーンフローなどのユーザインターフェースや動的な作業の再割り当てなどのアサイン管理機能が充実しているからです。

(③はBPMNで可視化したフローを実行するという類いのものではないので、この話題の対象からはずれます。)

ここから “どうすべきか” という本題に…。

まずは②のようなプロセスの場合、Keith Swenson氏がブログでBPMN-to-BPELには問題があるのでBPELに変換せずにBPMNを直接実行するエンジンを選ぶべきといっていますが、その通りだと思います。

(※ただし、問題を解決するためというより、BPMS WatchRatingが示すことから必然的にそうなるというべきでしょう。)

しかしながら、①のようなプロセスの場合、Keith Swenson氏の意見に対してBruce Silver氏がブログでそれが理想だが現実的ではないといっているように、 BPELエンジンを利用すべき状況にもなります。

実際には、ビジネスプロセスをモデル化してきた経験から、人と人が書類や電話でやり取りした結果をいくつかのITシステムが連携しながら処理するというような、①+②パターンが多いと思います。

(※余談ですが、人と人のやり取りについてはITシステムを利用せずにその結果を登録するところからITシステムの利用が始まるという形態が、従来は多かったためか、そのようなプロセスであってもITシステムの連携しか考えないことが多いと思います。でも、BPMでは人的パフォーマンス管理も重要なので人と人のやり取りもITシステムを利用して管理します。)

そのような点を考えると、下の図が典型的な姿になります。 Human-Centric系エンジンで人と人のやり取りを管理しつつ、ITシステムとの連携はIntegration-Centric系エンジンに任せる形態です。

BPMN-to-BPMS

そこで、まずはITへの実装を意識せずにBPMNモデルを描くことから始めるというやり方をお勧めします。ビジネスの視点で可視化するという本来の目的からも当然なのですが、モデルで可視化して初めて最適なBPMSが選択できるという理由からでもあります。

さらに、そのためのBPMNモデリングツールについては、次の2つの機能について実用性を評価して最適なツールを選択することをお勧めします。

1. BPMNモデルを様々なBPMSに渡す機能(モデル連携機能)

BPMSは、BPELやXPDLといった標準XML形式でインポートする機能を持っています(全くインポート機能がないのもありますが…)。BPMNモデリングツールでもそれらの標準をエクスポートする機能があればBPMSに渡すことができます( ITP Process Modeler は、BPEL、XPDL、XLANGに対応しています)。

ただし、特にBPELの場合には、BPMN⇒BPELという難しい変換にどこまで対応しているか、BPELに変換できないBPMNモデルを描かないように誘導する機能があるか(ITP Process Modelerでは、To-Doリストでどこをどう直せばBPELに変換できるモデルになるか確認できるようにしています)などをしっかりと評価しておく必要があります。

2. “the problems of round-tripping” を解決する機能

やはり、BPMの改善サイクルではこの問題は無視できません。BPELをBPMNに逆変換(BPMN属性も含めて完全に)できるツールは無いとは思いますが、少なくともその代替機能が必要です。 ITP Process Modeler では、BPEL、XPDL、 XLANGをそのままXML形式でインポートし、タグのまとまりとしてBPMNの各図形にマッピングする機能で解決を図っています。

将来、Bruce Silver氏のブログ “Bashin the Stackers” に登場する一文 “But if IBM, SAP, and Oracle (with BEA) succeed in their BPMN 2.0 proposal, we’ll see BPMN-direct executable design from
all of the Stackers in a year or two.” の通りになることを期待しています。IBM、SAP、OracleもBPMNを直接実行するエンジンを提供する理想的な姿です。そこでは少なくとも ”the problems of round-tripping” はなくなっているはずです。さらに各ベンダの製品間でBPMNモデルの交換が自由自在になっていれば、なおうれしい…。

そして、そんな理想が現実になったとしても、モデル連携機能を重視しているBPMNモデリングツールで可視化しておけばOKです。

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

コメントを残す

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

WordPress.com ロゴ

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

Twitter 画像

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

Facebook の写真

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

Google+ フォト

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

%s と連携中