ヘッダーをスキップ
Oracle® Fusion Middleware Oracle SOA Suite開発者ガイド
11g リリース1 (11.1.1.4.0)
B56238-03
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

4 Oracle BPEL Process Managerの基本操作

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

項目は次のとおりです。

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

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

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

BPELプロセス・サービス・コンポーネントはSOAコンポジット・エディタで追加します。

BPELプロセス・サービス・コンポーネントを追加する手順は、次のとおりです。

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

    表4-1 Oracle JDeveloperの起動

    起動対象 Windowsでの手順 UNIXでの手順

    Oracle JDeveloper


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

    $ORACLE_HOME/jdev/bin/jdev


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

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

    1. 「コンポーネント・パレット」からSOAコンポジット・エディタにBPELプロセス・サービス・コンポーネントをドラッグします。

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

    1. 「アプリケーション・ナビゲータ」で、「ファイル」「新規」「アプリケーション」「SOAアプリケーション」の順に選択します。

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

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

    3. 「ディレクトリ」フィールドに、SOAコンポジット・アプリケーションおよびプロジェクトを作成するディレクトリ・パスを入力します。

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

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

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

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

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

    どちらの方法でも、図4-1に示す「BPELプロセスの作成」ダイアログが表示されます。

  3. 必要な詳細(BPELプロセス名、BPEL 1.1またはBPEL 2.0仕様をサポートするBPELプロジェクトを作成するかどうかなど)を指定します。作成できるBPELプロセスのタイプの詳細を参照する場合は、「ヘルプ」をクリックします。


    注意:

    同じ.bpelファイルでBPEL 1.1とBPEL 2.0の構文を使用することはできません。ただし、同じSOAコンポジット・アプリケーションにBPEL 1.1プロジェクトとBPEL 2.0プロジェクトを含めることができます。

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

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

    BPELプロセスの作成時は、必ず完全に一意の名前を使用してください。次のような名前のプロセスは作成しないでください。

    • 先頭が数値のプロセス名(1SayHelloなど)。

    • ハイフンを含むプロセス名(Say-Helloなど)。

    • 同じ名前で、大/小文字が異なる2つのプロセス名(SayHellosayhelloなど)。

      これは特に、ビジネス・インテリジェンス(BI)データ・オブジェクト名で重要です。この名前は、すべて大文字を使用するOracle BAMサーバー上で生成されます。たとえば、BPELProcess1という名前のBPELプロセスを作成すると、デプロイ後にOracle BAM BIデータ・オブジェクトに対してBI_DEFAULT_PROJECT1_BPELPROCESS1のBI名が生成されます。BPELProcess1BPELPRocess1の2つのBPELプロセスを作成すると、同じBIデータ・オブジェクト名が生成されます。

    • 500文字を超えるプロセス名。

    • ASCIIでないプロセス名。BPELプロセス名はSOAプロジェクトのディレクトリおよびファイルの名前に使用されます。そのため、ASCII以外の文字を使用すると問題が発生する可能性があります。

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

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

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

    図4-2の説明が続きます
    「図4-2 Oracle BPELデザイナのセクション」の説明

    このビューの各セクションを使用して、特定の設計およびデプロイメント・タスクを実行できます。表4-2に、図4-2にリストされている各セクションを示します。

    表4-2 Oracle JDeveloperのセクション

    要素 説明

    アプリケーション・ナビゲータ

    SOAプロジェクトのプロセス・ファイルが表示されます。主要なファイルには、次のものがあります。

    • composite.xml

      SOAコンポジット・アプリケーション全体を説明するファイルです。このファイルの詳細は、第2.1.2項「SOAアプリケーションおよびプロジェクト作成時の処理内容」を参照してください。

    • .bpel

      選択したプロセス・タイプによって、最初に含まれる最小アクティビティ・セットが異なります。たとえば、非同期プロセスを作成するように選択した場合は、receiveアクティビティとinvokeアクティビティが表示されます。アクティビティのドラッグ、変数の作成、パートナ・リンクの作成などの際は、このファイルに構文を追加します。

    • .componentType

      BPELプロセス・サービス・コンポーネントのサービスと参照を記述します。

    • .wsdl

      このBPELプロセス・フローの入力メッセージと出力メッセージ、サポートされるクライアント・インタフェースと操作、およびその他の機能を定義する、Web Services Description Language(WSDL)クライアント・インタフェースです。この機能により、BPELプロセス・フローをサービスとしてコールできます。

    • monitor.config

      Oracle BAMのデータ・オブジェクトとダッシュボードを作成するために、Oracle BAMサーバーとの接続に必要なランタイム・プロパティとデプロイメント・プロパティを定義します。

    デザイナ

    設計するBPELプロセス・サービス・コンポーネントのビジュアル・ビューが表示されます。このビューは、次のいずれかの処理を実行すると表示されます。

    • 「アプリケーション・ナビゲータ」で.bpelファイル名をダブルクリックした場合

    • .bpelファイルを選択して、ウィンドウの下部にある「設計」タブをクリックした場合

    • SOAコンポジット・エディタでBPELプロセス・コンポーネントをダブルクリックした場合

    アクティビティのドラッグ、パートナ・リンクの作成などによるBPELプロセス・サービス・コンポーネントの設計に応じて、「設計」ウィンドウは変化します。

    コンポーネント・パレット

    BPELプロセス・サービス・コンポーネントに追加可能なアクティビティが表示されます。アクティビティはビルディング・ブロックです。「コンポーネント・パレット」の「BPELコンストラクト」および「Oracle Extensions」選択項目には、BPELプロセス・サービス・コンポーネントのデザイナにドラッグする一連のアクティビティが表示されます。「コンポーネント・パレット」には、デザイナの状態に関連があるページのみが表示されます。「BPELコンストラクト」または「Oracle Extensions」は、ほぼ常に表示されます。ただし、transformアクティビティでトランスフォーメーションを設計している場合、「コンポーネント・パレット」には、「String Functions」「Mathematical Functions」「Node-set Functions」などそのアクティビティに関連する選択項目のみが表示されます。

    「構造」ウィンドウ

    デザイナで現在選択しているBPELプロセス・サービス・コンポーネントのデータが構造的に表示されます。このウィンドウから、次のような様々なタスクを実行できます。

    • スキーマのインポート

    • メッセージ・タイプの定義

    • 変数、エイリアス、相関セット、パートナ・リンクなどの要素の管理(作成、編集および削除)

    • デザイナに表示するBPELプロセス・フロー・シーケンスのアクティビティの編集

    「ログ」ウィンドウ

    検証およびコンパイルのステータスに関するメッセージが表示されます。BPELプロセス・サービス・コンポーネントで検証が正しく行われるように、次のことを確認する必要があります。

    • BPELプロセス・サービス・コンポーネントに入力変数が指定されていること。

    • パートナ・リンクが選択されていること。

    • パートナ・ロールが選択されていること。

    • 操作が空でないこと。

    • 入力変数タイプとパートナ・リンク操作タイプが一致していること。

    デプロイメントに失敗した場合は、エラーのタイプと場所を示すメッセージが表示されます。

    「ソース」ウィンドウ

    BPELプロセス・サービス・コンポーネント・ファイル内部の構文が表示されます。アクティビティやパートナ・リンクをドラッグしたり、別のタスクを実行すると、これらのソース・ファイルの構文が即時に更新され、変更内容が反映されます。

    「履歴」ウィンドウ

    ファイルのリビジョン履歴や、ファイルの読取り専用バージョンと編集可能バージョンが並べて表示されます。

    プロパティ・インスペクタ

    アクティビティに関する詳細が表示されます。「設計」ウィンドウでアクティビティをシングルクリックすると、詳細が表示されます。



    注意:

    これらのセクションの詳細を参照する場合、該当するセクション内にカーソルを置いて[F1]を押し、オンライン・ヘルプを表示することもできます。

  5. BPELプロジェクトのバージョン(1.1または2.0)を表示するには、Oracle BPELデザイナの上にあるアイコンをクリックします。図4-3に詳細を示します。

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

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

4.2 アクティビティの概要

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

図4-7に、プロパティ・ウィンドウ(ここではinvokeアクティビティ)の例を示します。この例では、StoreFrontServiceという名前のパートナ・リンクを起動し、その属性を定義しています。

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

図4-7の説明が続きます
「図4-7 invokeアクティビティの例」の説明

このinvokeアクティビティを使用すると、サービス(パートナ・リンクで識別)に対して起動する操作を指定できます。操作は、サービスによって指定されたポートでの一方向またはリクエスト/レスポンスです。invokeアクティビティで変数を自動的に作成することも可能です。invokeアクティビティは、同期サービスを起動するか、非同期Webサービスを開始します。

invokeアクティビティは、プロセス内でデータを送受信するためのポートをオープンします。このポートを使用して、必要なデータの送信およびレスポンスの受信を行います。同期コールバックの場合、関数の送受信に必要なポートは1つのみです。

アクティビティの詳細は、付録A「BPELプロセスのアクティビティとサービス」を参照してください。

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

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

図4-8 パートナ・リンク・アイコン

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

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

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

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

図4-9の説明が続きます
「図4-9 「パートナ・リンク」ダイアログ」の説明

表4-3に、このダイアログの各フィールドを示します。

表4-3 「パートナ・リンクの作成」ダイアログのフィールド

フィールド 説明

名前

パートナ・リンクに対して指定する一意のわかりやすい名前です。

プロセス

BPELプロセス・サービス・コンポーネント名が表示されます。

WSDL URL

パートナ・リンクに対して選択するWSDLファイルまたはJavaインタフェースの名前と場所。使用するWSDLファイルまたはJavaインタフェースを選択するためにウィンドウにアクセスするには、「SOAサービス・エクスプローラ」アイコン(「WSDL URL」フィールドの左上から2番目のアイコン)をクリックします。

「参照」フォルダの下にjavaEJBの名前とともに表示される選択用のJavaインタフェース。このパートナ・リンクと接続するコンポーネントがWSDLファイルを使用し、Javaインタフェースを選択して「OK」をクリックすると、このコンポーネントにはWSDLインタフェースが必要であることを示すメッセージが表示されます。「はい」をクリックすると、Javaインタフェースに基づいて互換性のあるWSDLファイルが作成されます。

Javaインタフェースを使用するコンポーネントをSOAコンポジット・アプリケーションに統合する方法の詳細は、第49章「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コンポジット・エディタでは、両方とも自動的に接続されます。


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-10に示すように、パートナ・リンクを適切な「パートナ・リンク」スイムレーンにドラッグします。

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

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

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

  4. このダイアログの各フィールド(表4-3を参照)を完成します。

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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


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

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

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

4.4.1.3 抽象的なWSDLからサービスをコールするパートナ・リンク

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

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

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

抽象的なWSDLからサービスをコールするパートナ・リンク

BPELサービス・コンポーネントに定義されたインタフェースおよびコールバック・インタフェースを持つ参照ハンドル


4.4.1.4 抽象的なWSDLからサービスを実装するパートナ・リンク

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

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

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

抽象的なWSDLからサービスを実装するパートナ・リンク

BPELサービス・コンポーネントのインタフェースおよびコールバック・インタフェースを持つサービス

注意: 指定されたインタフェースおよびコールバック・インタフェースがある外部Simple Object Access Protocol(SOAP)参照がSOAコンポジット・エディタに存在する場合は、新しい外部SOAP参照を作成してその参照に接続することも、既存の外部SOAP参照に接続することもできます。


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

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

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

4.4.1.5 パートナ・リンクとヒューマン・タスクまたはビジネス・ルール

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

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

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

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

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

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

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


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

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

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

4.4.1.6 既存のヒューマン・タスク、ビジネス・ルールまたはOracle Mediatorからのパートナ・リンク

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

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

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

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

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

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


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

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

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

4.5 テクノロジ・アダプタの概要

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

図4-16 アダプタの定義

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

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

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

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

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

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

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

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

「サービス名」ウィンドウの後に表示されるアダプタ構成ウィザードのウィンドウは、選択したアダプタ・タイプによって変わります。

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

テクノロジ・アダプタの詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。

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

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

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

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

詳細は、第50.3項「Oracle BAM Monitor ExpressとBPELプロセスの併用」を参照してください。