BPEL インポート/エクスポート ユーザーズ ガイド
この節では WebLogic Workshop® で BPEL エクスポート ツールを使用して、JPD ファイルから BPEL 1.1 の対応コードをエクスポートする方法を説明します。
BPEL4WS (一般に「BPEL」と呼ばれる Web サービスの Business Process Execution Language) はビジネス プロセス自動化のための正式な言語仕様を定義します。BPEL で記述されたプロセスは、XML ドキュメントを使用する Web サービス間の対話を、標準化された方法で統合することができます。BPEL 仕様に準拠していればどのプラットフォームや製品であってもこれらのプロセスを実行できます。したがって、BPEL により、プロセスの定義をさまざまな作成ツールと実行プラットフォーム間で移動することが可能になり、プロセスの自動化に対する顧客の投資を保護することができます。ビジネス プロセス定義を標準化しようとする試みは以前からありましたが、BPEL はそれまでで最大の注目を浴び、必要なソフトウェア ベンダの支持を獲得した第一号です。
BPEL4WS 1.1 は BEA、Microsoft®、および IBM® から公開された最新の仕様ですが、OASIS 標準化団体により検討中の次期 BPEL 標準は反映されていません。最終バージョンは BPEL4WS 1.1 とは異なるため、本ツールは主に、1.1 仕様をサポートする他のツールとの設計時の相互運用を可能にすることを目的として提供されています。
BPEL 言語の詳細については、BEA、IBM、および Microsoft により発行され、標準化のために OASIS に提出された以下で利用可能な BPEL4WS 仕様 v1.1 を参照してください。
OASIS 主催の BPEL 標準化作業のための公式ホームページ (以下 URL)
BEA WebLogic IntegrationTM では、ビジネス プロセスは、Java (JPD) に BEA プロセス定義を使用して定義されます。BPEL エクスポート ツールは、JPD ファイルから BPEL ファイルへの変換に使用する設計時支援機能です。
BPEL エクスポート ツールで JPD ファイルのセマンティクスを BPEL にエクスポートして、BPEL 設計環境で使用することができます。BPEL エクスポートを使用してエクスポートされた BPEL コードは、BPEL1.1 準拠で、BPEL1.1 に準拠した設計環境で使用できます。JPD のメイン統合ロジックは BPEL にエクスポートされますが、エクスポートされた BPEL ファイルは通常ただちに対象環境で実行することはできません。対象環境で BPEL を操作して、エクスポートされたプロセスを実行させるか、または実行時セマンティクスに近づける必要があります。
これは JPD から実行可能なコールアウトのいくつかが、エクスポートされた BPEL コードには不明瞭になるためです。一般にこれらの実行可能なユニットには、コントロール、perform ノードに記述されたコード、および XQuery トランスフォーメーションが含まれます。BPEL エクスポート ツールは BPEL の拡張ノードとして Java コードおよび XQuery コードをコピーします。結果として、JPD が BPEL により提供される機能のスーパーセットを提供するため、対象 BPEL 環境にロジックを再実装する必要があります。
1 つの Web Service Definition Language (WSDL) ファイルはビジネス プロセスの WSDL インタフェースを定義し、インタフェースのためにパートナ リンクのタイプを定義します。もう 1 つのファイルは WSDL インタフェースおよびパートナ リンクのタイプを定義します。パートナは、ビジネス プロセスと対話するアーティファクトです。これらのアーティファクトは、ビジネス プロセスに対するサービスのコンシューマかプロバイダのいずれかです。
これらの WSDL ファイルは対応する JPD または JCX ファイル用に WebLogic Workshop が生成する WSDL と同じものではありません。違いについては、「確認済みの制限事項および問題」で詳しく説明しています。
関連する XSD スキーマ ファイル (WebLogic Integration アプリケーションのスキーマ フォルダ内) は WSDL および BPEL ファイルと共に、対象環境内に存在する必要があります。
RequestQuote.jpd
と同じディレクトリに、ファイル、RequestQuote.bpel
、および RequestQuote.wsdl
を作成します。また別の WSDL ファイル RequestQuotel_ctrl.wsdl
は以下の図に示されるように作成されることがあります。
この節では エクスポート プロセスについての注意事項を説明し、BPEL エクスポート ツールの確認されている制限事項について詳しく説明します。
BPEL エクスポート ツールを使用する際に覚えておく必要のある情報について詳しく説明します。
int
、short
、long
、byte
、float
、boolean
、double
、String
、java.util.Date
、および java.util.Calendar
は対応するスキーマ組み込み型に変換されます。XMLBean 型は、対応する XML スキーマ型に変換されます。ラッパー要素型が複合型に導入されているため、BPEL 変数は、自身の型として複合型を持つことができません。他の型 (一時的なトランスフォーム変数を含む) はすべて、型属性のない要素型に変換されます。パラメータ
と呼ばれるパートを持ちます。xqueryCode
要素にコピーされます。invoke
、reply
、receive
アクティビティの前または後にアクティビティを割り当てます。以下の表では、さまざまな JPD ファイル属性、ノード等がどのように BPEL ファイルに変換されるかを説明します。
この節では確認済みの JPD エクスポート制限事項のいくつかについて説明します。
jpd:initialValue
として BPEL ファイルで取得されます。xsd:include
要素により参照されます。使用されるタイプが WSDL ファイルにあると、wsdl:import
を使用してエクスポートされます。ArrayList
または Collection クラスの別の add()
メソッドを含む場合、非標準の JPD ネームスペース属性 jpd:appendToCollection
が値を true
に設定されて生成されます。afterExecute=resume
は、以下のパスではサポートされません。freezeOnFailure=true
、onSyncFailure
、および persistent
はサポートされていません。executeOnRollback
は、OnException
パスではサポートされません。jpd:transaction
が true
に設定されたスコープに変換されます。<jpd: xquerycode>
ノードにコピーされます。<jpd: javacode>
ノードにコピーされます。<jpd: javacode>
拡張子として含まれます。$
などの特殊文字を含むプロセス変数名、コントロール ファイル名 (.dtf、.jcs など)、コントロール メソッド名、コントロール メソッド内で使用されるパラメータ、コントロールに対して定義された変数名、および .jpd
ファイル名を .bpel
ファイルにエクスポートすると、「variable」の「name」属性と「to」の「variable」属性でこれらの名前がそのまま使用されます。BPEL スキーマではこれらの属性は NCName 型として定義するので、生成される .bpel
ファイルではこれらの特殊文字は無効になります。ただし、$
文字には、この制限は当てはまらなくなりました。他の特殊文字 (有効 NCName または QName 型ではない文字) については、.bpel ファイルは生成されますが、ファイルのスキーマ検証は失敗します。