ビジネスプロセスの実装と実行
せっかく新たなビジネスプロセスを定義しても、それを実行に移さなければ意味がありません。定義したビジネスプロセスを実行可能な状態にするのがビジネスプロセスの実装です。
ビジネスプロセス マネジメント自体は、ビジネスプロセスを情報システムとして実装することだけを想定しているわけではありませんので、実装とはいっても情報システムとして実装するとは限りません。もし、ビジネスプロセスを人手だけで実行しているのであれば、関係者に新しいビジネスプロセスを周知徹底することがビジネスプロセスの実装と言えるでしょう。しかし、現代のビジネスプロセスは情報システムと切っても切れない関係にあり、ビジネスプロセスの多くの部分を情報システムで実現しています。
この場合、ビジネスプロセスを実装するためには、情報システムの開発や変更を行う必要があります。
モデルと実装
もし、ビジネスプロセス モデルから情報システムを自動的に生成できるのであれば、ビジネスプロセスをモデル化するだけで新たなビジネスプロセスが実装できます。しかし、現実にはそのようなことは困難であり、ビジネスプロセスの定義に基づいて新たな情報システムを開発したり、既存の情報システムを変更することになります。
それでも、ビジネスプロセス モデルを厳密に定義することによって、モデル化したビジネスプロセスに関する情報に基づいて、ビジネスプロセス モデルを情報システムによる実装に結びつけることができます。つまり、ビジネスプロセス モデルからシームレスに情報システムの実装につなげることで、ビジネスプロセスの変更に柔軟に対応できる情報システムを実現することが可能になります。
ビジネスプロセス モデリングでは、この大小さまざまな業務活動をアクティビティと呼びます。ビジネスプロセスは、これらのアクティビティとその流れから構成されます。アクティビティの流れとは、どのアクティビティをどのような順序で呼び出すか、それらのアクティビティの間でどのようなデータを受け渡すか、ということです。
プロセスエンジンによる実行
このため、ビジネスプロセスを情報システム上で実装する場合、アクティビティそのものとアクティビティの流れを実装する必要があります。ビジネスプロセス マネジメントのためのITインフラストラクチャでは、このアクティビティの流れを直接実行することができます。このようなインフラストラクチャでは実装用のビジネスプロセス記述用の言語としてはBPEL(BusinessProcess Execution Language)が主流になりつつありますので、ビジネスプロセス モデリング用のツールでもBPELの生成機能を備えたものが多くなっています。ビジネスプロセス モデルからBPELを生成するツールを使うことによって、実行可能なビジネスプロセスの定義を生成することができます。
ビジネスプロセスの中で実行されるアクティビティは、BPELを実行するプロセスエンジンから呼び出されるサービスとして実装されます。サービスの実態としては、アプリケーションプログラム、社外のプロバイダが提供するサービス、人間が実行するヒューマンタスク、ルールエンジンが実行するビジネスルールなどによる実装が考えられます(図1)。
例えば、受注から出荷までのビジネスプロセスでは、受注アクティビティはヒューマンタスクとして受付担当者が人手で行い、在庫の引き当ては在庫管理システムで行い、ビジネスルールで定義した割引率をルールエンジンで計算し、クレジットカードのチャージはクレジット会社のWebサービスを呼び出すというような実装が考えられます。