企業戦略におけるビジネス・プロセス・インテグレーション 2

処理のコントロール

処理のコントロール

複数システム連携を実現するためには、お互いのシステムで理解できるようにデータを変換するだけでは不十分である。業務にあった順序・タイミング・ 条件で処理をコントロールする必要がある。個々のシステムは一般的に独立したものであって、他のシステムと連携することを意図したものではない。個々のシステムを使ってビジネスプロセスを通じてプロセスを実行するためには、外から制御する仕組みが必要になる。

前回で例としてあげた商品の販売業務でいうと、「注文の受注 → 在庫の照会 → 決済処理 → 発送処理」という処理の流れに従って順番に実行されるように外から制御する必要があると解説した。また処理によっては、同時並列的に実行するもの、複数の処理が終わったことを条件に次の処理を実行するもの、非同期に連携するものなどビジネスプロセスにあった形でコントロールする要件が存在する。

このような要件は従来のワークフローシステムなどでも実現されていたが、昨今のBPIシステムにおいては、より複雑な処理のコントロールを簡潔なプロセスで記述することが求められている。

例えば顧客情報の追加がシステムAからの場合とシステムBからの場合の2通りあるとき、どちらの場合からでも他の様々なシステムに顧客追加に関する処理を行わなくてはならない場合がある。このような場合、通常はシステムAからの顧客情報入力をトリガーとするビジネスプロセスと、システムBからの入力をトリガーとするビジネスプロセスの2つを作成することになる。しかしこれらは同じ処理を含んでいるので、できれば1つのプロセスで表現したい。その方がプロセスのメンテナンスの面でもメリットがある(図3)。


共通したプロセスの統合
図3:共通したプロセスの統合
(画像をクリックすると別ウィンドウに拡大表示します)

あるプロセスではシステムAからの情報入力とシステムBからの情報入力の両方が揃って処理が行われるが、どちらの入力情報が先に到着するかわからない場合がある。

Aのデータが先にくるのを想定した場合とBのデータが先にくるのを想定した場合の2つのプロセスが必要になる。このように必要なデータが2種類存在 する場合には2種類のプロセスを用意すればよいが、もしも多くの種類のデータが存在する場合には用意するプロセス数は膨大になりとても管理しきれなくなってしまう。よって、これらを1つのプロセスで記述可能にすることが重要になる(図4)。


複数のプロセスの統合
図4:複数のプロセスの統合
(画像をクリックすると別ウィンドウに拡大表示します)

そして、これらのビジネスプロセスの記述に関する要件を可能にしている技術がWSBPEL(Web Services Business Process Execution Language)である。このWSBPELはビジネスプロセスを記述するための標準言語で、XML形式で定義されている。つまり、このWSBPELをサポートしているプロセスエンジン上であれば、上記のようなビジネスプロセスを記述し、実行することが可能になる。

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る