| ||||||||||||||||||
| 1 2 3 次のページ | ||||||||||||||||||
| BPELとは | ||||||||||||||||||
前回は、ビジネスプロセスの連携方式として、リクエスト・リプライとイベントドリブンについて説明しました。今回はリクエスト・リプライ方式の実行環境としてデファクトスタンダードになりつつあるBPELについて取り上げます。 BPELはビジネスプロセスを定義するための言語仕様です。IBMが仕様開発を行っていたWSFLとMicrosoftが開発していたXLANGを基に、SiebelSystem、BEA、SAPが加わって2003年に提案されたBusiness Process Execution Language for WebServices Version 1.1(BPEL4WS)がベースとなっています。 BPELはその後、標準化団体であるOASISに移譲され、今年(2007年)4月にBEPL 2.0(Web Service Business Process Execution Language Version 2.0)の仕様が発表されています。OASISに委譲された以降のバージョンは、WS-BPELと略記されます。以降、本記事では、BPEL 1.1、BEPL 2.0と表記します。 OASISによる仕様策定には多くの製品ベンダーやエンドユーザが参加し、またミドルウェア製品の主要ベンダーのほとんどがWS-BPELへの対応を表明しており、WS-BPELはビジネスプロセスの定義と実行についての有望な選択肢の1つとなっています。 本記事では、BPELによるビジネスプロセスとはどのようなものであるか、そのキーポイントを説明していきます。BPELの言語仕様を詳細に解説することはこの連載の目的からはずれますので控えますが、先ごろ発表されたWS-BEPL 2.0と旧BPEL4WS1.1との違いについてはできるだけ取り上げようと思います。BPEL仕様に興味のある方は、OASISのWebサイトから資料を参照、ダウンロードすることができますので、そちらをご覧ください。 WS-BPELの概要ページ http://xml.coverpages.org/bpel4ws.html V2.0仕様書(HTML版) http://docs.oasis-open.org/wsbpel/2.0/CS01/wsbpel-v2.0-CS01.html V2.0仕様書(PDF版) http://xml.coverpages.org/WS-BPEL-CS01.pdf | ||||||||||||||||||
| BPELを用いる前の受注アプリケーション | ||||||||||||||||||
今回も「第6回:リクエスト・リプライ方式とイベントドリブン方式の違い」で使った受注処理の例題を用いることにします。この例は、ユーザからの発注書に基づいて在庫確認を行い、配送センターに製品の配送を依頼するというものです。では次にBPELによる制御を組み込んでいきましょう。 | ||||||||||||||||||
| BPELによる制御を組み込む | ||||||||||||||||||
もともとの受注アプリケーションが実行していた処理ロジックのほとんどは、外部システムを呼び出すための処理手続きとなっており、これらのロジックはBPELによっても実現可能です。BPELに処理ロジックを移行させた結果は図1のようになります。 また、BPELフローは、XML形式で記述された定義にすぎません。そのため、実行にはBPELフローが定義されたXML(BPELソース)を解釈し、実行するためのエンジンが必要となります。これを追加したシステム構成もあわせて示します。 | ||||||||||||||||||
| BPELへ移行することで生まれる変更点 | ||||||||||||||||||
処理ロジックをBPEL内に移行することで、BPELを1回呼ぶだけで在庫確認と発送処理の両方が実行できます。また、受注アプリケーションにとって外部のシステム(在庫管理システム、配送システム)が完全にトランスペアレントとなっています。 このため、外部システムの変更(ロケーション、通信プロトコル、呼び出しインターフェース)から受注アプリケーションが解放され、外部システムの変更による影響を受けなくなります。さらに、外部システム(在庫管理システム、配送システム)に、WSDLの定義が必要となります。 本連載では、これらの変更点を踏まえて受注アプリケーションのBPEL図1をベースに、BPELによるビジネスプロセスの特徴をみていきます。 | ||||||||||||||||||
| 1 2 3 次のページ | ||||||||||||||||||
| ||||||||||||||||||
| ||||||||||||||||||
| ||||||||||||||||||


