4 Oracle BPEL Process Managerのスタート・ガイド

この章では、Oracle BPEL Process Managerの基本操作について説明します。アクティビティ、パートナリンク、アダプタ、モニターなどの主要なBPEL設計機能とともに、BPELプロセスの作成と検証について説明します。

この章の内容は次のとおりです。

4.1 BPELプロセス・サービス・コンポーネントの概要

この項では、設計環境でのBPELプロセス・サービス・コンポーネントの概要を説明します。

4.1.1 BPELプロセス・サービス・コンポーネントの追加方法

SOAコンポジット・エディタで、BPELプロセス・サービス・コンポーネントをSOAコンポジット・アプリケーションに追加します。

BPELプロセス・サービス・コンポーネントを追加するには:

  1. 表4-1の説明に従って、Oracle JDeveloperを起動します。

    表4-1 Oracle JDeveloperの起動

    起動対象 Windowsの場合 UNIXの場合

    Oracle JDeveloper

    1. JDev_Oracle_Home\jdeveloper\JDev\bin\jdev.exeをクリックするか、ショートカットを作成します。

    1. $ORACLE_HOME/jdeveloper/jdev/bin/に移動します。

    2. 次のコマンドを実行します。

      ./jdev
  2. 次のいずれかの方法を使用して、BPELプロセス・サービス・コンポーネントを追加します。

    既存のSOAコンポジット・アプリケーションのサービス・コンポーネントとして追加する方法:

    「コンポーネント」ウィンドウの「コンポーネント」セクションから、「BPELプロセス」 サービス・コンポーネントをSOAコンポジット・エディタにドラッグします。これにより、図4-1に示す「BPELプロセスの作成」ダイアログが表示されます。

    新規アプリケーションに追加する方法:

    1. 「アプリケーション」ウィンドウから、「ファイル」「新規」「アプリケーション」の順に選択します。

    2. 「カテゴリ」リスト「一般」で、「アプリケーション」を選択します。

    3. 「項目」リストで「SOAアプリケーション」を選択し、「OK」をクリックします。

      これにより、SOAアプリケーションの作成ウィザードが起動します。

    4. 「アプリケーション名」ダイアログで、「アプリケーション名」フィールドにアプリケーション名を入力します。

    5. 「ディレクトリ」フィールドで、デフォルトの場所を受け入れるか、SOAコンポジット・アプリケーションを作成する新しいディレクトリ・パスを入力します。

    6. 「次へ」をクリックします。

    7. 「プロジェクト名」ダイアログで、「プロジェクト名」フィールドに名前を入力します。

    8. 「ディレクトリ」フィールドで、デフォルトの場所を受け入れるか、プロジェクトを作成する新しいディレクトリ・パスを入力します。

    9. 「次へ」をクリックします。

    10. 「開始」セクションでは、「標準コンポジット」が選択されていることを確認してください。他の選択である「SOAテンプレート」により、SOAプロジェクトの再利用可能な部分を作成して、新規プロジェクトを進めることができます。詳細は、「Oracle SOA Suiteテンプレートおよび再使用可能なサブプロセス」を参照してください。

    11. 「プロジェクトのSOA設定」ダイアログで、BPELプロセスを使用するコンポジットを選択します。

    12. 「終了」をクリックします。

      これにより、図4-1に示す「BPELプロセスの作成」ダイアログが表示されます。

    図4-1 「BPELプロセスの作成」ダイアログ

    図4-1の説明が続きます
    「図4-1 「BPELプロセスの作成」ダイアログ」の説明
  3. 表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つのプロセス名(SayHellosayhelloなど)。

      ビジネス・インテリジェンス(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に設定すると、一方向メッセージの到着頻度が配信の頻度よりかなり高い場合や、サーバー障害が発生した場合には、メッセージが失われる可能性があります。また、システムが過負荷の状態になり(メッセージがスケジュール済キューにたまり)、メモリー不足エラーが発生することもあります。各自のユースケース・シナリオを検討し、この設定が適切かどうかを判断してください。

      高可用性環境でoneWayDeliveryPolicyasync.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を選択します。「検索」アイコンをクリックすると、「タイプ・チューザ」ダイアログが表示されます。インポートしたスキーマを参照して、出力要素(注文書など)を選択します。

  4. 「OK」をクリックします。

    図4-2に示すセクションがOracle BPELデザイナに表示されます。

    図4-2 Oracle BPELデザイナのセクション

    図4-2の説明が続きます
    「図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]を押し、オンライン・ヘルプを表示することもできます。

  5. Oracle BPELデザイナの上部にある「プロパティ構造」リストで「情報」を選択して、BPELプロジェクトのバージョン(1.1または2.0)を表示します。図4-3に詳細を示します。

    図4-3 BPELプロジェクトのバージョン

    図4-3の説明が続きます
    「図4-3 BPELプロジェクトのバージョン」の説明

    「情報」ダイアログが表示されます。

4.1.2 BPELプロセス・サービス・コンポーネントを検証する方法

構文的およびセマンティク的に(パートナ・リンクや変数はinvokeアクティビティで定義されていないなど)BPELプロセスを検証できます。検証が失敗すると、情報が「ログ」ウィンドウに表示されます。

BPELプロセス・サービス・コンポーネントを検証するには:

  1. Oracle BPELデザイナで、BPELプロセスの上にある緑のチェック・マーク・アイコンをクリックします。図4-4に詳細を示します。

    図4-4 Oracle BPELデザイナの「検証」アイコン

    図4-4の説明が続きます
    「図4-4 Oracle BPELデザイナの「検証」アイコン」の説明
  2. 図4-5に示すように、検証結果が「ログ」ウィンドウに表示されます。

    図4-5 「ログ」ウィンドウにおけるBPELプロセス検証結果

    図4-5の説明が続きます
    「図4-5 「ログ」ウィンドウにおけるBPELプロセス検証結果」の説明

    図4-6に示すように、検証エラーが発生すると、メッセージが「ログ」ウィンドウに表示されます。

    図4-6 「ログ」ウィンドウの検証結果

    図4-6の説明が続きます
    「図4-6 「ログ」ウィンドウの検証結果」の説明

4.2 アクティビティの概要

アクティビティは、BPELプロセス・サービス・コンポーネントのビルディング・ブロックです。Oracle BPELデザイナには、BPELプロセス・サービス・コンポーネントにドラッグする一連のアクティビティが用意されています。アクティビティの属性(プロパティ値)を定義するには、そのアクティビティをダブルクリックします。アクティビティを使用すると、BPELプロセス・サービス・コンポーネント内で特定のタスクを実行できます。たとえば、いくつかの主要なアクティビティを示します。

  • assignアクティビティを使用すると、ある変数の内容を別の変数にコピーするなどのデータの操作を実行できます。図4-7に、assignアクティビティを示します。

    図4-7 assignアクティビティ

    図4-7の説明が続きます
    「図4-7 assignアクティビティ」の説明
  • invokeアクティビティを使用すると、(パートナ・リンクによって識別された)サービスを起動し、このサービスに対して実行する操作を指定できます。図4-8に、invokeアクティビティを示します。

    図4-8 invokeアクティビティ

    図4-8の説明が続きます
    「図4-8 invokeアクティビティ」の説明
  • receiveアクティビティは、サービスからの非同期コールバック・レスポンス・メッセージを待機します。図4-9に、receiveアクティビティを示します。receiveアクティビティは、パートナ・リンクを使用してプロセスが非同期に開始される場合にも使用されます。

    図4-9 receiveアクティビティ

    図4-9の説明が続きます
    「図4-9 receiveアクティビティ」の説明

図4-10に、プロパティ・ウィンドウ(ここではinvokeアクティビティ)の例を示します。

図4-10 invokeアクティビティの例

図4-10の説明が続きます
「図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アクティビティをプロパティ・インスペクタで編集するには:

  1. Oracle BPELデザイナで、アクティビティをシングルクリックします。この例では、図4-11でXSLT transformアクティビティが選択されています。
  2. このアクティビティのプロパティ・フィールドが、Oracle BPELデザイナの下のプロパティ・インスペクタで編集用に表示されます。

    図4-11 プロパティ・インスペクタで編集用に表示されるアクティビティ

    図4-11の説明が続きます
    「図4-11 プロパティ・インスペクタで編集用に表示されるアクティビティ」の説明
  3. 変更を行って「適用」キーを押すか、別のアクティビティをクリックすることでこのアクティビティから移動します。
  4. 編集したアクティビティに戻り、変更が適用されたことに注意します。

    また、catchアクティビティや変数など、scopeアクティビティ内でアクションを編集できます。

  5. scopeアクティビティを展開します。
  6. プロパティ・インスペクタで、「変数」をクリックします。

    プロパティ・インスペクタがリフレッシュされ、「追加」「編集」および「削除」のアイコンを含めて、変数のプロパティ・フィールドが表示されます。図4-12に詳細を示します。

    図4-12 scopeアクティビティの「変数」セクションがプロパティ・インスペクタで編集用に表示される

    図4-12の説明が続きます
    「図4-12 scopeアクティビティの「変数」セクションがプロパティ・インスペクタで編集用に表示される」の説明

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アクティビティで参照される変数はコピーされません。

アクティビティをコピーして貼り付けるには:

  1. コピーするアクティビティを右クリックします。

  2. 「コピー」を選択します。

  3. アクティビティを貼り付けるプロジェクトに移動します。

  4. 次のタスクのいずれかを実行します。

    1. このアクティビティを貼り付ける場所に最も近いアクティビティを右クリックします。

    2. 選択したアクティビティの前後どちらに貼り付けるかを選択します。

    または

    1. 図4-13に示すように、BPELプロセスをハイライト表示します。

      図4-13 選択されたBPELプロセス

      図4-13の説明が続きます
      「図4-13 選択されたBPELプロセス」の説明
    2. 右クリックして「貼付け」「中に貼付け」の順に選択します。

      アクティビティがBPELプロセスの上部に貼り付けられます。

4.2.3 アクションの説明をBPELプロセス・アクティビティに追加する方法

アクションの説明をBPELプロセス・アクティビティに追加できます。これによって、そのアクティビティに「TODOタスク」アイコンが作成されます。このアイコンの上にカーソルを合せると、アクションの説明が表示されます。BPELプロセス・サービス・コンポーネントのアクティビティが実行するアクションを説明で説明できます。

アクションの説明をBPELプロセス・アクティビティに追加する方法:

  1. アクティビティを右クリックし、「TODOタスクの追加」を選択します。

    「TODOタスクの追加」ダイアログが表示されます。

  2. アクティビティで実行されるアクションの説明を追加してから、「OK」をクリックします。
  3. BPELアクティビティの右側にある「TODOタスク」アイコンにカーソルを合せると、説明が表示されます。図4-14に詳細を示します。

    図4-14 BPELアクティビティの説明

    図4-14の説明が続きます
    「図4-14 BPELアクティビティの説明」の説明

4.3 パートナ・リンクの概要

パートナ・リンクを使用すると、BPELプロセス・サービス・コンポーネントと対話する外部サービスを定義できます。パートナ・リンクは、SOAコンポジット・エディタ(推奨される方法)またはOracle BPELデザイナのBPELプロセス・サービス・コンポーネント内にサービスまたは参照(JCAアダプタ経由など)として定義できます。図4-15に、パートナ・リンク・アイコン(この例ではPartnerSupplierMediatorという名前)を示します。

図4-15 「パートナ・リンク」アイコン

図4-15の説明が続きます
「図4-15 「パートナ・リンク」アイコン」の説明

パートナ・リンク・タイプは、対話において各サービスが果たす役割を定義すること、および対話の中でメッセージを受信するために各サービスが提供するポート・タイプを指定することで、2つのサービス間での対話関係の特性を決定します。

図4-16に、サービスに対するパートナ・リンクの属性の例を示します。

図4-16 「パートナ・リンク」ダイアログ

図4-16の説明が続きます
「図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 パートナ・リンクの作成方法

パートナ・リンクを作成するには:

  1. SOAコンポジット・エディタで、BPELプロセス・サービス・コンポーネントをダブルクリックします。

    Oracle BPELデザイナが表示されます。

  2. 「コンポーネント」ウィンドウで、「BPELコンストラクト」を展開します。
  3. 図4-17に示すように、パートナ・リンクを適切な「パートナ・リンク」スイムレーンにドラッグします。

    図4-17 Oracle BPELデザイナでのパートナ・リンクの作成

    図4-17の説明が続きます
    「図4-17 Oracle BPELデザイナでのパートナ・リンクの作成」の説明

    「パートナ・リンクの作成」ダイアログが表示されます。

  4. 表4-4の説明に従って、このダイアログの各フィールドを完了します。

次の各項では、パートナ・リンクの作成がSOAコンポジット・エディタに与える影響について説明します。

4.4.1.1 アウトバウンド・アダプタのパートナ・リンク

表4-5に、SOAコンポジット・エディタへの影響を示します。

表4-5 パートナ・リンクの作成がSOAコンポジット・エディタに与える影響

Oracle BPELデザイナでBPELプロセスに作成されるもの SOAコンポジット・エディタに表示されるもの

アウトバウンド・アダプタのパートナ・リンク

  • BPELプロセス・サービス・コンポーネントの参照ハンドル

  • コンポジット内でアウトバウンド・アダプタを表す参照

  • BPELプロセス・サービス・コンポーネントとアダプタ参照を接続するワイヤ

図4-18に、この作成方法を使用するとSOAコンポジット・エディタにどのように表示されるかを示します。

図4-18 SOAコンポジット・エディタへの影響

図4-18の説明が続きます
「図4-18 SOAコンポジット・エディタへの影響」の説明
4.4.1.2 インバウンド・アダプタのパートナ・リンク

表4-6に、SOAコンポジット・エディタへの影響を示します。

表4-6 パートナ・リンクの作成がSOAコンポジット・エディタに与える影響

Oracle BPELデザイナでBPELプロセスに作成されるもの SOAコンポジット・エディタに表示されるもの

インバウンド・アダプタのパートナ・リンク

  • BPELプロセス・サービス・コンポーネントのサービス

  • コンポジット内でインバウンド・アダプタを表すサービス

  • インバウンド・アダプタ・サービスをBPELプロセス・サービス・コンポーネントに接続するワイヤ

図4-19に、この作成方法を使用するとSOAコンポジット・エディタにどのように表示されるかを示します。

図4-19 SOAコンポジット・エディタへの影響

図4-19の説明が続きます
「図4-19 SOAコンポジット・エディタへの影響」の説明
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-20 SOAコンポジット・エディタへの影響

図4-20の説明が続きます
「図4-20 SOAコンポジット・エディタへの影響」の説明
4.4.1.5 パートナ・リンクとヒューマン・タスクまたはビジネス・ルール

表4-9に、SOAコンポジット・エディタへの影響を示します。

表4-9 パートナ・リンクの作成がSOAコンポジット・エディタに与える影響

Oracle BPELデザイナでBPELプロセスに作成されるもの SOAコンポジット・エディタに表示されるもの

ヒューマン・タスクまたはビジネス・ルール

  • コンポジット内のヒューマン・タスクまたはビジネス・ルール

  • BPELプロセス・サービス・コンポーネントの参照

  • BPELプロセス・サービス・コンポーネントと新しいヒューマン・タスクまたはビジネス・ルールを接続するワイヤ

図4-21に、この作成方法を使用するとSOAコンポジット・エディタにどのように表示されるかを示します。

図4-21 SOAコンポジット・エディタへの影響

図4-21の説明が続きます
「図4-21 SOAコンポジット・エディタへの影響」の説明
4.4.1.6 既存のヒューマン・タスク、ビジネス・ルールまたはOracle Mediatorからのパートナ・リンク

表4-10に、SOAコンポジット・エディタへの影響を示します。

表4-10 パートナ・リンクの作成がSOAコンポジット・エディタに与える影響

Oracle BPELデザイナでBPELプロセスに作成されるもの SOAコンポジット・エディタに表示されるもの

既存のヒューマン・タスク、ビジネス・ルールまたはメディエータ・サービス・コンポーネントをBPELプロセスにドラッグすることによるパートナ・リンク

  • BPELプロセス・サービス・コンポーネントの参照

  • BPELプロセス・サービス・コンポーネントと既存のヒューマン・タスク、ビジネス・ルールまたはメディエータを接続するワイヤ

図4-22に、この作成方法を使用するとSOAコンポジット・エディタにどのように表示されるかを示します。

図4-22 SOAコンポジット・エディタへの影響

図4-22の説明が続きます
「図4-22 SOAコンポジット・エディタへの影響」の説明

4.5 アダプタの概要

図4-16に示す「パートナ・リンク」ダイアログを使用すると、Oracle BPEL Process ManagerとOracle MediatorおよびOracle JDeveloperが提供するもう1つの主要な機能を利用できます。アダプタ構成ウィザードにアクセスするには、図4-23に示す「サービス・ウィザード」アイコンをクリックします。

図4-23 アダプタの定義

図4-23の説明が続きます
「図4-23 アダプタの定義」の説明

アダプタにより、BPELプロセス・サービス・コンポーネント(したがって、SOAコンポジット・アプリケーション全体)を、ファイル・システム、FTPサーバー、データベース表、データベース・キュー、ソケット、Java Message Service (JMS)、Oracle User Messaging Serviceなどへのアクセスと統合できます。HTTPバインディング、直接バインディング、EJBなどのサービスと統合することもできます。このウィザードを使用すると、図4-24に示すサービスとアダプタのタイプを、BPELプロセス・サービス・コンポーネントで使用するように構成できます。

図4-24 サービス・タイプとアダプタ・タイプ

図4-24の説明が続きます
「図4-24 サービス・タイプとアダプタ・タイプ」の説明

サービス・タイプとアダプタ・タイプの詳細は、「バインディング・コンポーネントのスタート・ガイド」を参照してください。

アダプタ・タイプ(この例では、「ファイル」図4-24で選択されました)を選択すると、図4-25に示すダイアログにより名前の入力を求められます。ウィザードが完了すると、この名前のWSDLファイルが、「WSDL」フォルダの下にある「アプリケーション」ウィンドウに表示されます。サービス名はプロジェクト内で一意である必要があります。このファイルには、このウィザードで指定したアダプタ構成設定が含まれます。その他の構成ファイル(ヘッダー・ファイル、アダプタ固有のファイルなど)も作成され、「アプリケーション」ウィンドウに表示されます。

図4-25 アダプタのサービス名

図4-25の説明が続きます
「図4-25 アダプタのサービス名」の説明

このダイアログの後に表示されるアダプタ構成ウィザードのダイアログは、選択したアダプタ・タイプに基づきます。

また、SOAコンポジット・エディタ内のサービスまたは参照として、アダプタをSOAコンポジット・アプリケーションに追加できます。

テクノロジ・アダプタの詳細は、『テクノロジ・アダプタの理解』を参照してください。

4.6 BPELプロセス・モニターの概要

Oracle BPELデザイナ上部の監視ビューに変更を選択することで、Oracle BPELデザイナでBPELプロセス・モニターを構成できます。図4-26に詳細を示します。BPELプロセス・モニターでは、データを分析してグラフィカル表示するために、Oracle BAMアダプタを介してデータをOracle BAMに送信できます。

図4-26 BPELプロセス・モニター

図4-26の説明が続きます
「図4-26 BPELプロセス・モニター」の説明

ビジネス・インジケータ、間隔およびカウンタの詳細は、Oracle SOA Suite 11gのドキュメントを参照してください。

http://docs.oracle.com/cd/E28280_01/dev.1111/e10224/bam_adapter.htm#BABIJBCC