4 Oracle BPEL Process Managerのスタート・ガイド
この章の内容は次のとおりです。
4.1 BPELプロセス・サービス・コンポーネントの概要
この項では、設計環境でのBPELプロセス・サービス・コンポーネントの概要を説明します。
4.1.1 BPELプロセス・サービス・コンポーネントの追加方法
SOAコンポジット・エディタで、BPELプロセス・サービス・コンポーネントをSOAコンポジット・アプリケーションに追加します。
BPELプロセス・サービス・コンポーネントを追加するには:
-
表4-1の説明に従って、Oracle JDeveloperを起動します。
表4-1 Oracle JDeveloperの起動
起動対象 Windowsの場合 UNIXの場合 Oracle JDeveloper
-
JDev_Oracle_Home
\jdeveloper\JDev\bin\jdev.exe
をクリックするか、ショートカットを作成します。
-
$ORACLE_HOME
/jdeveloper/jdev/bin/
に移動します。 -
次のコマンドを実行します。
./jdev
-
-
次のいずれかの方法を使用して、BPELプロセス・サービス・コンポーネントを追加します。
既存のSOAコンポジット・アプリケーションのサービス・コンポーネントとして追加する方法:
「コンポーネント」ウィンドウの「コンポーネント」セクションから、「BPELプロセス」 サービス・コンポーネントをSOAコンポジット・エディタにドラッグします。これにより、図4-1に示す「BPELプロセスの作成」ダイアログが表示されます。
新規アプリケーションに追加する方法:
-
「アプリケーション」ウィンドウから、「ファイル」→「新規」→「アプリケーション」の順に選択します。
-
「カテゴリ」リストの「一般」で、「アプリケーション」を選択します。
-
「項目」リストで「SOAアプリケーション」を選択し、「OK」をクリックします。
これにより、SOAアプリケーションの作成ウィザードが起動します。
-
「アプリケーション名」ダイアログで、「アプリケーション名」フィールドにアプリケーション名を入力します。
-
「ディレクトリ」フィールドで、デフォルトの場所を受け入れるか、SOAコンポジット・アプリケーションを作成する新しいディレクトリ・パスを入力します。
-
「次へ」をクリックします。
-
「プロジェクト名」ダイアログで、「プロジェクト名」フィールドに名前を入力します。
-
「ディレクトリ」フィールドで、デフォルトの場所を受け入れるか、プロジェクトを作成する新しいディレクトリ・パスを入力します。
-
「次へ」をクリックします。
-
「開始」セクションでは、「標準コンポジット」が選択されていることを確認してください。他の選択である「SOAテンプレート」により、SOAプロジェクトの再利用可能な部分を作成して、新規プロジェクトを進めることができます。詳細は、「Oracle SOA Suiteテンプレートおよび再使用可能なサブプロセス」を参照してください。
-
「プロジェクトのSOA設定」ダイアログで、BPELプロセスを使用するコンポジットを選択します。
-
「終了」をクリックします。
これにより、図4-1に示す「BPELプロセスの作成」ダイアログが表示されます。
-
-
表4-2に示すように、必要な詳細を指定します。
ノート:
同じ
.bpel
ファイルでBPEL 1.1とBPEL 2.0の構文を使用することはできません。ただし、同じSOAコンポジット・アプリケーションにBPEL 1.1プロジェクトとBPEL 2.0プロジェクトを含めることができます。表4-2 「BPELプロセスの作成」ダイアログ
フィールド 説明 BPEL仕様
作成するBPELプロセスのタイプを選択します。
-
BPEL 2.0仕様
BPEL 2.0仕様をサポートするBPELプロジェクトを作成します。これはデフォルト選択です。
-
BPEL 1.1仕様
BPEL 1.1仕様をサポートするBPELプロジェクトを作成します。
名前
BPELプロセスの名前を入力するか、またはデフォルト名をそのまま使用します。入力した名前が、「アプリケーション」ウィンドウのBPELプロセスおよびWeb Services Description Language (WSDL)ファイルのファイル名になります。
BPELプロセスの作成時は、必ず完全に一意の名前を使用してください。次のものを作成しないでください。
-
先頭が数値のプロセス名(
1SayHello
など)。 -
ハイフンを含むプロセス名(
Say-Hello
など)。 -
同じ名前で、大/小文字が異なる2つのプロセス名(
SayHello
とsayhello
など)。ビジネス・インテリジェンス(BI)のデータ・オブジェクト名は、Oracle BAMサーバーではすべて大文字の形式で生成されるため、これが特に重要です。たとえば、
BPELProcess1
という名前のBPELプロセスを作成する場合、デプロイ後のOracle BAM BIデータ・オブジェクトとしてはBI_DEFAULT_PROJECT1_BPELPROCESS1
というBI名が生成されます。BPELProcess1
およびBPELPRocess1
の2つのBPELプロセスを作成すると、同じBIデータ・オブジェクト名が生成されます。 -
500文字を超えるプロセス名。
-
ASCIIでないプロセス名。BPELプロセス名はSOAプロジェクトのディレクトリおよびファイルの名前に使用されますが、これが問題を引き起こす可能性があります。
ネームスペース
ネームスペースのデフォルトのパスを使用するか、カスタム・パスを入力します。
ディレクトリ
BPELプロセス・サービス・コンポーネントのアーティファクトを配置するディレクトリを指定するか、
project_root_directory
/SOA/BPEL
のデフォルト・ディレクトリをそのまま使用します。ディレクトリ・パスを変更できますが、ディレクトリが
SOA
フォルダ(つまりproject_root_directory
/SOA
)の下にあることを確認してください。ディレクトリをSOA
の外部に指定すると、エラー・メッセージが表示され、BPELプロセスは作成されません。テンプレート
設計するBPELプロセス・サービス・コンポーネントのタイプに基づくテンプレートを選択します。テンプレートによって、「アプリケーション」ウィンドウにデフォルト・ファイルの基本セット(
process_name
.wsdl
およびprocess_name
.bpel
)が提供され、これらのファイルを使用してBPELプロセス・サービス・コンポーネントの設計を開始できます。-
非同期BPELプロセス: BPELプロセス・コンポーネント・フローを開始するreceiveアクティビティ(デフォルト)、およびクライアントを非同期にコールバックするinvokeアクティビティを使用して、非同期プロセスを作成します。このタイプはデフォルトで選択されています。詳細は、「BPELプロセスからの非同期Webサービスの起動」を参照してください。
-
同期BPELプロセス: BPELプロセス・サービス・コンポーネント・フローを開始するreceiveアクティビティ(デフォルト)、および結果を返すreplyアクティビティを使用して、同期プロセスを作成します。詳細は、「BPELプロセスからの同期Webサービスの起動」を参照してください。
-
一方向BPELプロセス: 一方向コール・インタフェース定義でプロセスを作成します。
-
サービスを後で定義: アクティビティを含まない空のBPELプロセス・サービス・コンポーネントを作成する場合に選択します。
-
WSDLに基づく: 既存のWSDLファイルによって定義されたインタフェースを使用してBPELプロセスを作成します。使用するWSDL Uniform Resource Locator (URL)、ポート・タイプおよびコールバック・ポート・タイプを指定する必要があります。
-
イベントのサブスクライブ: ビジネス・イベントをサブスクライブできるBPELプロセスを作成します。このオプションを選択すると、ダイアログがリフレッシュされてイベント表が表示されます。「追加」アイコンをクリックすると、サブスクライブするイベントを選択できます。選択した内容は、イベント表に表示されます。その後、一貫性レベルと、このイベントをパブリッシュするかどうかを選択できます。「フィルタ」アイコンをクリックして、選択したイベントのフィルタ式を作成することもできます。この選択によって、「式ビルダー」ダイアログが表示されます。詳細は、「ビジネス・イベントおよびイベント配信ネットワークの使用」を参照してください。
サービス名
デフォルト値をそのまま使用するか、またはこのプロセスで公開されているサービス名を入力します。invoke、receive、OnMessageまたはreplyアクティビティを開くと、デフォルトで、サービス名が「パートナ・リンク」フィールドに表示されます。この名前はパートナ・リンクと同じ名前です。
SOAPサービスとして公開
インバウンドSimple Object Access Protocol (SOAP) Webサービス・バインディング・コンポーネントに自動的に接続(連結)されるBPELプロセス・サービス・コンポーネントを作成する場合は、このチェック・ボックスを選択します。このチェック・ボックスを選択しないと、BPELプロセス・サービス・コンポーネントは、SOAコンポジット・エディタでスタンドアロン・コンポーネントとして作成されます。このBPELプロセス・サービス・コンポーネントは後からサービスに明示的に関連付けることができます。このチェック・ボックスはデフォルトで選択されています。
配信
ノート: このフィールドは、「テンプレート」リストで次のいずれかのテンプレートを選択した場合に表示されます。
-
非同期BPELプロセス
-
一方向BPELプロセス
-
イベントのサブスクライブ
配信レイヤーでのプロセスの永続ポリシーを設定します。このリストを使用すると、
oneWayDeliveryPolicy
デプロイメント・ディスクリプタのプロパティの値を指定できます。有効な値は、次のとおりです。-
async.persist: メッセージはデータベースに保存されます。この設定の場合、信頼性は確保されますが、データベースのパフォーマンスに多少の影響が出ます。システムの全体的なパフォーマンスに影響が出ることもあります。これはデフォルト値です。
-
async.cache: 受信した配信メッセージはインメモリー・キャッシュにのみ保存されます。信頼性よりパフォーマンスを優先する場合は、この設定を検討してください。async.cacheに設定すると、一方向メッセージの到着頻度が配信の頻度よりかなり高い場合や、サーバー障害が発生した場合には、メッセージが失われる可能性があります。また、システムが過負荷の状態になり(メッセージがスケジュール済キューにたまり)、メモリー不足エラーが発生することもあります。各自のユースケース・シナリオを検討し、この設定が適切かどうかを判断してください。
高可用性環境で
oneWayDeliveryPolicy
をasync.cache
に設定すると、サーバー・クラッシュ発生時に実行途中の起動メッセージおよびコールバック・メッセージが失われたり、重複したりすることがあります。async.cache
に対しては、サーバーのフェイルオーバーはサポートされていません。 -
sync: 同じスレッドで直接起動が発生します。呼出しキューのメッセージのスケジューリングはバイパスされ、BPELインスタンスが同期的に呼び出されます。この設定は、データベースのパフォーマンスに影響を与えることがあります。
このプロパティのトランザクションおよびフォルト伝播のセマンティクスの詳細は、「BPELプロセスでのトランザクションおよびフォルト伝播のセマンティクス」を参照してください。
プロパティ・インスペクタでこのプロパティの値を変更する方法については、「プロパティ・インスペクタでデプロイメント・ディスクリプタのプロパティを定義する方法」を参照してください。
トランザクション
ノート: このフィールドは、「テンプレート」リストで「同期BPELプロセス」を選択した場合に表示されます。
コールを開始するBPELインスタンスのトランザクション動作を設定します。このリストを使用すると、
transaction
デプロイメント・ディスクリプタのプロパティの値を指定できます。有効な値は、次のとおりです。-
required: リクエスト/レスポンス(開始)環境では、この設定によって、トランザクションがある場合はコール元トランザクションが結合され、トランザクションがない場合は新規トランザクションが作成されます。「配信」リスト値(
oneWayDeliveryPolicy
プロパティ)がsyncに設定されている一方向開始環境では、起動メッセージは、同じトランザクションの同一スレッドを使用して処理されます。これはデフォルト値です。 -
requiresNew: 新規トランザクションが実行のために作成され、既存のトランザクションがある場合はそのトランザクションが一時停止されます。この動作は、リクエスト/レスポンス(開始)環境、および「配信」リスト値(
oneWayDeliveryPolicy
プロパティ)がsyncに設定されている一方向開始環境の両方に適用されます。 -
notSupported: ビジネス・トランザクションのアクティビティをトランザクションなしで実行できます。
ノート: このプロパティは、中間プロセスのreceiveアクティビティには適用されません。この場合は、別のトランザクションの別のスレッドを使用してメッセージが処理されます。これは、相関が必要であり、常に非同期で処理されるためです。
このプロパティのトランザクションおよびフォルト伝播のセマンティクスの詳細は、「BPELプロセスでのトランザクションおよびフォルト伝播のセマンティクス」を参照してください。
プロパティ・インスペクタでこのプロパティの値を変更する方法については、「プロパティ・インスペクタでデプロイメント・ディスクリプタのプロパティを定義する方法」を参照してください。
入力
デフォルトの入力XSDスキーマをそのまま使用するか、「検索」アイコンをクリックして別のXSDを選択します。「検索」アイコンをクリックすると、「タイプ・チューザ」ダイアログが表示されます。インポートしたスキーマを参照して、入力要素(注文書など)を選択します。「タイプ・チューザ」ダイアログで、既存のスキーマまたはWSDLをインポートすることもできます。
「タイプ・チューザ」ダイアログには、使用するコンテキストに基づいて情報が表示されます。たとえば、変数に対して単純、メッセージまたは要素のタイプを選択した場合、ダイアログには、XMLスキーマ単純型、WSDLファイル・メッセージ・タイプまたはXMLスキーマ要素がそれぞれ表示されます。メッセージ・パートのタイプを選択すると、プロジェクトのスキーマ・ファイル、XMLスキーマ単純型およびプロジェクトのWSDLファイルがダイアログに表示されます。
出力
デフォルトの出力XSDスキーマをそのまま使用するか、「検索」アイコンをクリックして別のXSDを選択します。「検索」アイコンをクリックすると、「タイプ・チューザ」ダイアログが表示されます。インポートしたスキーマを参照して、出力要素(注文書など)を選択します。
-
-
「OK」をクリックします。
図4-2に示すセクションがOracle BPELデザイナに表示されます。
このビューの各セクションを使用して、特定の設計およびデプロイメント・タスクを実行できます。表4-3に、図4-2にリストされている各セクションを示します。
表4-3 Oracle JDeveloperのセクション
要素 説明 「アプリケーション」ウィンドウ(左上)
SOAプロジェクトのディレクトリとファイルが表示されます。「SOA」フォルダの下にある主要なディレクトリとファイルには、次が含まれています。
-
BPEL
BPELプロセス・サービス・コンポーネント・ファイル(.bpel)が表示されます。
-
イベント
ビジネス・イベント・ファイル(.edn)が表示されます。
-
スキーマ
BPELプロセス・スキーマ・ファイルが表示されます。
-
テスト・スイート
テスト・スイート・ファイルが表示されます。詳細は、「SOAコンポジット・アプリケーションのテストの自動化」を参照してください。
-
トランスフォーメーション
トランスフォーメーションXSLTマッパー・ファイル(.xsl)およびXQueryマッパー・ファイル(.xqy)が表示されます。
-
WSDL
BPELプロセスWSDLファイルが表示されます。
-
composite_name
SOAコンポジット・アプリケーション全体(composite.xmlファイルと呼ぶ場合があります)を説明します。このファイルの詳細は、「SOAアプリケーションおよびプロジェクト作成時の処理内容」を参照してください。
Oracle BPELデザイナ(「設計」タブ)
設計するBPELプロセス・サービス・コンポーネントがグラフィカルに表示されます。このビューは、次のいずれかの処理を実行すると表示されます。
-
「アプリケーション」ウィンドウで.bpelファイル名をダブルクリックした場合
-
.bpelファイルを選択して、デザイナの下部にある「設計」タブをクリックした場合
-
SOAコンポジット・エディタでBPELプロセス・コンポーネントをダブルクリックした場合
アクティビティのドラッグ、パートナ・リンクの作成などによるBPELプロセス・サービス・コンポーネントの設計に応じて、「設計」ウィンドウは変化します。
「コンポーネント」ウィンドウ(右上)
BPELプロセス・サービス・コンポーネントに追加可能なアクティビティが表示されます。アクティビティはビルディング・ブロックです。「コンポーネント」ウィンドウの 「BPELコンストラクト」、「サブプロセス」 (最初は空です)および「Oracle Extensions」のセクションでは、BPELプロセス・サービス・コンポーネントのデザイナにドラッグするサブプロセスとアクティビティのセットが表示されます。「コンポーネント」ウィンドウには、デザイナの状態に関連があるページのみが表示されます。「BPELコンストラクト」、「サブプロセス」および「Oracle Extensions」は、ほぼ常に表示されます。ただし、transformアクティビティでトランスフォーメーションを設計している場合、「コンポーネント」ウィンドウには、「文字列関数」、「数学関数」、「ノードセット関数」など、そのアクティビティに関連する選択項目のみが表示されます。
「構造」ウィンドウ(左下)
デザイナで現在選択しているBPELプロセス・サービス・コンポーネントのデータが構造的に表示されます。このウィンドウから、次のような様々なタスクを実行できます。
-
スキーマのインポート。
-
メッセージ・タイプの定義。
-
変数、エイリアス、相関セット、パートナ・リンクなどの要素の管理(作成、編集および削除)
-
デザイナに表示するBPELプロセス・フロー・シーケンスのアクティビティの編集。
「ログ」ウィンドウ(中央下)
検証およびコンパイルのステータスに関するメッセージが表示されます。BPELプロセス・サービス・コンポーネントで検証が正しく行われるように、次のことを確認する必要があります。
-
BPELプロセス・サービス・コンポーネントに入力変数が指定されていること。
-
パートナ・リンクが選択されていること。
-
パートナ・ロールが選択されていること。
-
操作が空でないこと。
-
入力変数タイプとパートナ・リンク操作タイプが一致していること。
デプロイメントに失敗した場合は、エラーのタイプと場所を示すメッセージが表示されます。
「ソース」タブ
BPELプロセス・サービス・コンポーネント・ファイル内部の構文が表示されます。アクティビティやパートナ・リンクをドラッグしたり、別のタスクを実行すると、これらのソース・ファイルの構文が即時に更新され、変更内容が反映されます。
「履歴」タブ
ファイルのリビジョン履歴や、ファイルの読取り専用バージョンと編集可能バージョンが並べて表示されます。
プロパティ・インスペクタ
アクティビティに関する詳細が表示されます。「設計」ウィンドウでアクティビティをクリックすると、編集用に開きます。詳細は、「BPELアクティビティをプロパティ・インスペクタで編集する方法」を参照してください。
ノート:
これらのセクションについてさらに学習するには、該当するセクション内にカーソルを置いて[F1]を押し、オンライン・ヘルプを表示することもできます。
-
-
Oracle BPELデザイナの上部にある「プロパティ構造」リストで「情報」を選択して、BPELプロジェクトのバージョン(1.1または2.0)を表示します。図4-3に詳細を示します。
「情報」ダイアログが表示されます。
4.2 アクティビティの概要
アクティビティは、BPELプロセス・サービス・コンポーネントのビルディング・ブロックです。Oracle BPELデザイナには、BPELプロセス・サービス・コンポーネントにドラッグする一連のアクティビティが用意されています。アクティビティの属性(プロパティ値)を定義するには、そのアクティビティをダブルクリックします。アクティビティを使用すると、BPELプロセス・サービス・コンポーネント内で特定のタスクを実行できます。たとえば、いくつかの主要なアクティビティを示します。
-
assignアクティビティを使用すると、ある変数の内容を別の変数にコピーするなどのデータの操作を実行できます。図4-7に、assignアクティビティを示します。
-
invokeアクティビティを使用すると、(パートナ・リンクによって識別された)サービスを起動し、このサービスに対して実行する操作を指定できます。図4-8に、invokeアクティビティを示します。
-
receiveアクティビティは、サービスからの非同期コールバック・レスポンス・メッセージを待機します。図4-9に、receiveアクティビティを示します。receiveアクティビティは、パートナ・リンクを使用してプロセスが非同期に開始される場合にも使用されます。
図4-10に、プロパティ・ウィンドウ(ここではinvokeアクティビティ)の例を示します。
このinvokeアクティビティを使用すると、サービス(パートナ・リンクで識別)に対して起動する操作を指定できます。操作は、サービスによって指定されたポートでの一方向またはリクエスト/レスポンスです。invokeアクティビティで変数を自動的に作成することも可能です。invokeアクティビティは、同期サービスを起動するか、非同期Webサービスを開始します。
invokeアクティビティは、プロセス内でデータを送受信するためのポートをオープンします。このポートを使用して、必要なデータの送信およびレスポンスの受信を行います。同期コールバックの場合、関数の送受信に必要なポートは1つのみです。
アクティビティの詳細は、「BPELプロセスのアクティビティとサービス」を参照してください。
同じプロジェクト内または複数のプロジェクト間でアクティビティのコピーおよび貼付けを行う方法の詳細は、「アクティビティのコピーと貼付けをBPELプロジェクトで行う方法」を参照してください。
アクティビティをプロパティ・インスペクタで編集する方法の詳細は、「BPELアクティビティをプロパティ・インスペクタで編集する方法」を参照してください。
4.2.1 BPELアクティビティをプロパティ・インスペクタで編集する方法
Oracle JDeveloperのOracle BPELデザイナのプロパティ・インスペクタでBPEL1.1と2.0のプロセスのアクティビティのプロパティ・フィールドを編集できます。このアクションは、アクティビティをダブルクリックするかアクティビティを右クリックして「編集」を選択し、変更を行い、「適用」か「OK」をクリックするアクションと同じです。
BPELアクティビティをプロパティ・インスペクタで編集するには:
4.2.2 アクティビティのコピーと貼付けをBPELプロジェクトで行う方法
同じBPELプロジェクト内またはBPELプロジェクト間で、アクティビティをコピーして貼り付けることができます。これにより、類似したアクティビティ全体を複数回作成する必要がなくなります。アクティビティを1回設計して複数の場所で使用し、必要に応じて編集できます。
ノート:
個別のOnAlarmアクティビティを1つのscopeアクティビティからコピーして、別のscopeアクティビティに貼り付けることができます。個別のOnAlarmアクティビティを1つのpickアクティビティからコピーして、別のpickアクティビティに貼り付けることもできます。
以下の制限に注意してください。
-
BPEL 1.1プロジェクトからBPEL 2.0プロジェクトに、またはBPEL 2.0プロジェクトからBPEL 1.1プロジェクトにアクティビティをコピーすることはできません。
-
BPEL 2.0プロジェクトでは、個別のOnAlarmアクティビティをpickアクティビティからscopeアクティビティにコピーしたり、その逆を行うことはできません。ただし、このタイプのコピーおよび貼付けは、BPEL 1.1プロジェクトではサポートされています。
-
scopeアクティビティをコピーして貼り付ける場合、最初のscopeアクティビティで参照される変数はコピーされません。
アクティビティをコピーして貼り付けるには:
-
コピーするアクティビティを右クリックします。
-
「コピー」を選択します。
-
アクティビティを貼り付けるプロジェクトに移動します。
-
次のタスクのいずれかを実行します。
-
このアクティビティを貼り付ける場所に最も近いアクティビティを右クリックします。
-
選択したアクティビティの前後どちらに貼り付けるかを選択します。
または
-
図4-13に示すように、BPELプロセスをハイライト表示します。
-
右クリックして「貼付け」→「中に貼付け」の順に選択します。
アクティビティがBPELプロセスの上部に貼り付けられます。
-
4.3 パートナ・リンクの概要
パートナ・リンクを使用すると、BPELプロセス・サービス・コンポーネントと対話する外部サービスを定義できます。パートナ・リンクは、SOAコンポジット・エディタ(推奨される方法)またはOracle BPELデザイナのBPELプロセス・サービス・コンポーネント内にサービスまたは参照(JCAアダプタ経由など)として定義できます。図4-15に、パートナ・リンク・アイコン(この例ではPartnerSupplierMediatorという名前)を示します。
パートナ・リンク・タイプは、対話において各サービスが果たす役割を定義すること、および対話の中でメッセージを受信するために各サービスが提供するポート・タイプを指定することで、2つのサービス間での対話関係の特性を決定します。
図4-16に、サービスに対するパートナ・リンクの属性の例を示します。
表4-4に、このダイアログの各フィールドを示します。
表4-4 「パートナ・リンクの作成」ダイアログのフィールド
フィールド | 説明 |
---|---|
名前 |
パートナ・リンクに対して指定する一意のわかりやすい名前です。 |
プロセス |
BPELプロセス・サービス・コンポーネント名が表示されます。 |
WSDL URL |
パートナ・リンクに対して選択するWSDLファイルまたはJavaインタフェースの名前と場所。使用するWSDLファイルまたはJavaインタフェースを選択するためにウィンドウにアクセスするには、「SOAサービス・エクスプローラ」アイコン(「WSDL URL」フィールドの左上から2番目のアイコン)をクリックします。 「参照」フォルダの下にjavaEJBの名前とともに表示される選択用のJavaインタフェース。このパートナ・リンクと接続するコンポーネントがWSDLファイルを使用し、Javaインタフェースを選択して「OK」をクリックすると、このコンポーネントにはWSDLインタフェースが必要であることを示すメッセージが表示されます。「はい」をクリックすると、Javaインタフェースに基づいて互換性のあるWSDLファイルが作成されます。 Javaインタフェースを使用するコンポーネントをSOAコンポジット・アプリケーションに統合する方法の詳細は、「Spring Frameworkを使用したSOAコンポジット・アプリケーションへの統合」を参照してください。 |
パートナ・リンク・タイプ |
WSDLファイルで定義したパートナ・リンクです。 |
パートナ・ロール |
パートナ・リンクによって実行されるロールです。 |
マイ・ロール |
BPELプロセス・サービス・コンポーネントが実行するロールです。これが、同期プロセスの場合は、BPELプロセス・サービス・コンポーネントにロールはありません。 |
ノート:
「パートナ・リンクの作成」ダイアログの「パートナ・リンク・タイプ」、「パートナ・ロール」および「マイ・ロール」フィールドは、BPEL標準で定義される必須フィールドです。
ベスト・プラクティス:
Oracle MediatorとBPELプロセス・サービス・コンポーネントは、常にSOAコンポジット・エディタ(Oracle BPELデザイナではなく)で作成して接続することをお薦めします。
Oracle MediatorまたはBPELプロセスのパートナ・リンクをOracle BPELデザイナでBPELプロセスに追加し、invokeアクティビティを介していずれかのパートナ・リンクをBPELプロセスに接続しても、その接続は、SOAコンポジット・エディタには自動的には反映されません。SOAコンポジット・エディタで、Oracle MediatorまたはBPELプロセス・サービス・コンポーネントをBPELプロセスに再度明示的に接続する必要があります。
Oracle BPELデザイナのヒューマン・タスクまたはビジネス・ルールのパートナ・リンクには問題はありません。SOAコンポジット・エディタでは、両方とも自動的に接続されます。
パートナ・リンクをプロパティ・インスペクタで編集する方法の詳細は、「BPELアクティビティをプロパティ・インスペクタで編集する方法」を参照してください。
4.4 パートナ・リンクの作成
Oracle BPELデザイナのBPELプロセス内にパートナ・リンクを作成する方法は、SOAコンポジット・エディタでのパートナ・リンクの表示方法に影響します。この項では、この影響について説明します。WSDLファイルは、ローカル・オペレーティング・システムに配置される場合や、リモートでホストされる場合(この場合はWSDLのURLが必要)があります。
同様に、SOAコンポジット・エディタでサービス・バインディング・コンポーネントまたは参照バインディング・コンポーネントを作成し、BPELプロセス・サービス・コンポーネントに接続すると、パートナ・リンクがOracle BPELデザイナに表示されます。
4.4.1 パートナ・リンクの作成方法
パートナ・リンクを作成するには:
次の各項では、パートナ・リンクの作成がSOAコンポジット・エディタに与える影響について説明します。
4.4.1.1 アウトバウンド・アダプタのパートナ・リンク
4.4.1.2 インバウンド・アダプタのパートナ・リンク
4.4.1.3 抽象的なWSDLからサービスをコールするパートナ・リンク
表4-7に、SOAコンポジット・エディタへの影響を示します。
表4-7 パートナ・リンクの作成がSOAコンポジット・エディタに与える影響
Oracle BPELデザイナでBPELプロセスに作成されるもの | SOAコンポジット・エディタに表示されるもの |
---|---|
抽象的なWSDLからサービスをコールするパートナ・リンク |
BPELプロセス・サービス・コンポーネントに定義されたインタフェースおよびコールバック・インタフェースを持つ参照ハンドル |
4.4.1.4 抽象的なWSDLからサービスを実装するパートナ・リンク
表4-8に、SOAコンポジット・エディタへの影響を示します。
表4-8 パートナ・リンクの作成がSOAコンポジット・エディタに与える影響
Oracle BPELデザイナでBPELプロセスに作成されるもの | SOAコンポジット・エディタに表示されるもの |
---|---|
抽象的なWSDLからサービスを実装するパートナ・リンク |
BPELプロセス・サービス・コンポーネントのインタフェースおよびコールバック・インタフェースを持つサービスが作成されます。 ノート: 指定されたインタフェースおよびコールバック・インタフェースがある外部SOAP参照がSOAコンポジット・エディタに存在する場合は、新しい外部SOAP参照を作成してそれに接続することも、既存の外部SOAP参照に接続することもできます。 |
図4-20に、この作成方法を使用するとSOAコンポジット・エディタにどのように表示されるかを示します。
4.4.1.5 パートナ・リンクとヒューマン・タスクまたはビジネス・ルール
表4-9に、SOAコンポジット・エディタへの影響を示します。
表4-9 パートナ・リンクの作成がSOAコンポジット・エディタに与える影響
Oracle BPELデザイナでBPELプロセスに作成されるもの | SOAコンポジット・エディタに表示されるもの |
---|---|
ヒューマン・タスクまたはビジネス・ルール |
|
図4-21に、この作成方法を使用するとSOAコンポジット・エディタにどのように表示されるかを示します。
4.4.1.6 既存のヒューマン・タスク、ビジネス・ルールまたはOracle Mediatorからのパートナ・リンク
表4-10に、SOAコンポジット・エディタへの影響を示します。
表4-10 パートナ・リンクの作成がSOAコンポジット・エディタに与える影響
Oracle BPELデザイナでBPELプロセスに作成されるもの | SOAコンポジット・エディタに表示されるもの |
---|---|
既存のヒューマン・タスク、ビジネス・ルールまたはメディエータ・サービス・コンポーネントをBPELプロセスにドラッグすることによるパートナ・リンク |
|
図4-22に、この作成方法を使用するとSOAコンポジット・エディタにどのように表示されるかを示します。
4.5 アダプタの概要
図4-16に示す「パートナ・リンク」ダイアログを使用すると、Oracle BPEL Process ManagerとOracle MediatorおよびOracle JDeveloperが提供するもう1つの主要な機能を利用できます。アダプタ構成ウィザードにアクセスするには、図4-23に示す「サービス・ウィザード」アイコンをクリックします。
アダプタにより、BPELプロセス・サービス・コンポーネント(したがって、SOAコンポジット・アプリケーション全体)を、ファイル・システム、FTPサーバー、データベース表、データベース・キュー、ソケット、Java Message Service (JMS)、Oracle User Messaging Serviceなどへのアクセスと統合できます。HTTPバインディング、直接バインディング、EJBなどのサービスと統合することもできます。このウィザードを使用すると、図4-24に示すサービスとアダプタのタイプを、BPELプロセス・サービス・コンポーネントで使用するように構成できます。
サービス・タイプとアダプタ・タイプの詳細は、「バインディング・コンポーネントのスタート・ガイド」を参照してください。
アダプタ・タイプ(この例では、「ファイル」が図4-24で選択されました)を選択すると、図4-25に示すダイアログにより名前の入力を求められます。ウィザードが完了すると、この名前のWSDLファイルが、「WSDL」フォルダの下にある「アプリケーション」ウィンドウに表示されます。サービス名はプロジェクト内で一意である必要があります。このファイルには、このウィザードで指定したアダプタ構成設定が含まれます。その他の構成ファイル(ヘッダー・ファイル、アダプタ固有のファイルなど)も作成され、「アプリケーション」ウィンドウに表示されます。
このダイアログの後に表示されるアダプタ構成ウィザードのダイアログは、選択したアダプタ・タイプに基づきます。
また、SOAコンポジット・エディタ内のサービスまたは参照として、アダプタをSOAコンポジット・アプリケーションに追加できます。
テクノロジ・アダプタの詳細は、『テクノロジ・アダプタの理解』を参照してください。
4.6 BPELプロセス・モニターの概要
Oracle BPELデザイナ上部の監視ビューに変更を選択することで、Oracle BPELデザイナでBPELプロセス・モニターを構成できます。図4-26に詳細を示します。BPELプロセス・モニターでは、データを分析してグラフィカル表示するために、Oracle BAMアダプタを介してデータをOracle BAMに送信できます。
ビジネス・インジケータ、間隔およびカウンタの詳細は、Oracle SOA Suite 11gのドキュメントを参照してください。
http://docs.oracle.com/cd/E28280_01/dev.1111/e10224/bam_adapter.htm#BABIJBCC