BPMシステムの構築を始めよう
これまでの連載はBPMの全体像からプロセスモデラーの解説、PAMでのプロセスの管理といった内容でした。今回から実際に、BPMシステムを構築 する時には何をしなければならないのか、何を作らないといけないのか、既存システムはどうなるのかなどをエンジニア側の視点で解説していきます。
技術者にとってのBPM
まず具体的な説明に入る前に、エンジニアがBPMを考える際につまずきやすいポイントについて、簡単な業務モデルを例にしながら説明しましょう。
今日ではWeb系ITシステムを構築する場合、一般的には以下のようなMVCモデル的設計が必要といわれています。
- 入力、参照画面などの画面設計
- ビジネスロジックの設計
- ビジネスロジックに紐付くDBシステム設計
これは図1のように、ある担当者が画面(GUI)を通じて業務(データ)を処理するといったものには有効なモデルとなります。

図1:ある単一の業務の例
一方、図2のように経営者もしくは業務を管理している業務管理者の間では、ある一連の業務プロセスとしてそれぞれの業務を把握し、様々な視点でその業務プ ロセスを見たいというニーズが近年高まっています。このような場合、業務システムを各担当者で閉じた点として考えるのではなく、それらの点を繋げた線とし て考える必要があります。

図2:現状の業務プロセスの例
これを一貫したITシステムとして構築しなければならない場合、次のポイント(以下、BPM的ポイント)を考慮しなければなりません。
- 誰がどの業務を実行しなければならないか、といった業務の状態を保持するデータ
- 次に誰(システムを含む)が業務を実行しなければならないかを制御するロジック
- 誰がいつどの業務を実行したか、といった履歴データ
例えば表2における1と3の部分を保持するスキーマを作成し、2の部分をスクラッチでコーディングをしても実装可能かもしれません。しかしこれでは、プロセスの変更や業務プロセス自体の増加に対して非常に脆弱になってしまうという傾向があります。
これらの問題を解決するためSavvionは存在していると言っても過言ではありません。エンジニアにとってSavvionはBPM的ポイント機能があらかじめ実装されている(エンジニアはコーディングしなくて良い!)フレームワークだからです。
それではBPMアプリケーションを開発する手順を解説していきましょう。