さて今回は、マクロワークフローの実現の場を中心に議論していきます。マクロワークフローというのは、意思決定の場で決められたことを受け取って、次の単位意思決定に流す役割を担っています。
前回あまり言っていなかったのですが、単位意思決定の場は、ミクロワークフローと言っていますが、むしろワークフローというより、ステータス(状態遷移)制御の方が理解しやすいと思います。
すなわち、最初は決定してほしいという素案が提出されます、その素案のステータスがだんだん遷移して最終的に確定・承認というステータスで終わるわけです。
一方、マクロワークフローの方は、上述したようにフローを制御します。分かりやすく言うと何かを決めてくれと依頼して、その結果を受け取ったら、つぎに決めなければいけなことをまた依頼していきます。
その順番や、場合によっては分岐したりということ、あるいはBPMらしくということであれば、滞留を検知して早く処理するように催促したりするわけです。
このフロー制御の場はBPMSになります。BPMS(Business Process Management Suite)は、BPMを実行するための機能群のことで、そのなかには、必要最低限の機能とあった方がいいものや徐々に高度化していくための機能があります。
モデリングやモニタリングなどは後者にあたり、これらの機能を初めから全部使ってBPMを実践する必要はありません。ですから、ここで言うフロー制御の場は、必須機能であるBPM実行エンジンとワークフローとなります。
最近では、BPMSは市販のものからオープンソースのものまで数多くの製品があり、搭載機能もいろいろです。ではどれを使えばいいのでしょうか。
ここでよく考えてほしいのは、2段ワークフローという考え方を採用した場合のBPMSは一般的な評価でいいのかという問題です。いま出回っている製品はこうした考え方に基づいて作られていませんので、既存のBPMSのもつ機能がどうのというより、2段ワークフロー方式が要求するものから見てみます。
必要な機能は、前述したように依頼と受付というイベントを回すことですから、とりあえずは必須機能であるエンジンとワークフローがあればいいと言っているのです。言ってみれば、多くの機能があるよりも非常にシンプルで頑丈なエンジンでいいのです。そのあたりが選択のポイントになります。
しかしながら、それだけでもないケースももちろん出てきます。たとえば他システムやデータベースとの連携があります。また、業務ルール管理やBAM(Business Activity Monitoring)などです。ただ、こうした機能はビジネスプロセスパターン研究とは少しずれてきますのでここでは議論しないことにします。
ということで、業務フロー(マクロワークフロー)はBPMSの必須機能であるプロセスエンジンとワークフローを使って制御することになります。
