プロジェクトでの BPEL サービスエンジンの使用

BPEL サービスエンジンについて

BPEL サービスエンジンは、BPEL プロセスを配備するための実行時サービスを提供します。BPEL サービスエンジンは、WS-BPEL 2.0 (または単に BPEL) 準拠のビジネスプロセスを実行するために使用されます。WS-BPEL 2.0 (Web Services Business Process Execution Language) は、ビジネスプロセスのプログラムに使用される XML ベースの言語です。

通常、ビジネスプロセスには、プロセスと、「パートナーサービス」と呼ばれるほかの Web サービスとのメッセージ交換 (「オーケストレーション」) が伴います。ビジネスプロセスとパートナーサービスの間の規約は WSDL 1.1 に記述されています。ビジネスプロセスとパートナーサービスの間のメッセージ交換は、JBI 仕様の定義に従って WSDL 1.1 メッセージラッパーにラップされ、JBI 正規化メッセージルーター (NMR) によってルーティングされます。NMR は、ローカルの JVM 上にはない外部 Web サービスと、バインディングコンポーネントを介して対話します。バインディングコンポーネントは、プロトコル固有の詳細をカプセル化します。BPEL サービスエンジンと同じ場所にある EJB または Web コンポーネントの間のトランザクションは、Java EE サービスエンジンを介して処理されます。

WS-BPEL 2.0 では、いくつかの XML 仕様が使用されます。WSDL 1.1、XML スキーマ 1.0、XPath 1.0、および XSLT 1.0 です。JBI 仕様は WSDL 2.0 を対象としており、ラッパーを定義することによって WSDL 1.1 にも対応できます。

BPEL サービスエンジンは、WSDL 1.1 で定義されている片方向の要求-応答オペレーションを、2 者以上が関連するステートフルな長期間の対話の中でサポートします。非同期の要求-応答は 2 つの片方向オペレーションを使用して実現されます。1 つはパートナーによって実装され、もう 1 つはビジネスプロセスによって相関を使用して実装されます。

BPEL エディタでは、ユーザーが BPEL プロジェクトの構築や編集、BPEL サービスエンジンへのプロジェクトの配備、および BPEL サービスのテストを行うことができるように、使いやすいインタフェースが提供されています。BPEL サービスエンジンにはほとんどのコンストラクトが実装されています。実装されていないコンストラクトは、ほとんど使用されることはありません。

BPEL サービスエンジンは、NetBeans IDE 6.1 の一部として SOA および Project Open ESB にバンドルされています。これらのコンポーネントは、Sun Developer Network (http://java.sun.com/downloads/) からダウンロードできます。