この章では、Oracle BPEL Process Managerの基本操作について説明します。アクティビティ、パートナリンク、アダプタ、モニターなどの主要なBPEL設計機能とともに、BPELプロセスの作成について説明します。
この章では、次の項目について説明します。
この項では、設計環境でのBPELプロセス・サービス・コンポーネントの概要を説明します。
BPELプロセス・サービス・コンポーネントはSOAコンポジット・エディタで追加します。
BPELプロセス・サービス・コンポーネントを追加する手順は、次のとおりです。
表4-1の説明に従って、Oracle JDeveloperを起動します。
次のいずれかの方法を使用して、BPELプロセス・サービス・コンポーネントを追加します。
既存のSOAコンポジット・アプリケーションのサービス・コンポーネントとして追加する方法:
「コンポーネント・パレット」からSOAコンポジット・エディタにBPELプロセス・サービス・コンポーネントをドラッグします。
新規アプリケーションに追加する方法:
「アプリケーション・ナビゲータ」で、「ファイル」→「新規」→「アプリケーション」→「SOAアプリケーション」の順に選択します。
これにより、SOAアプリケーションの作成ウィザードが起動します。
「アプリケーション名」ダイアログで、「アプリケーション名」フィールドにアプリケーション名を入力します。
「ディレクトリ」フィールドに、SOAコンポジット・アプリケーションおよびプロジェクトを作成するディレクトリ・パスを入力します。
「次へ」をクリックします。
「プロジェクト名」ダイアログで、「プロジェクト名」フィールドに名前を入力します。
「次へ」をクリックします。
「プロジェクトのSOA設定」ダイアログで、BPELプロセスを使用するコンポジットを選択します。
「終了」をクリックします。
どちらの方法でも、図4-1に示す「BPELプロセスの作成」ダイアログが表示されます。
表4-2に示すように、必要な詳細を指定します。
表4-2 「BPELプロセスの作成」ダイアログ
フィールド | 説明 |
---|---|
BPEL仕様 |
作成するBPELプロセスのタイプを選択します。
|
名前 |
BPELプロセスの名前を入力するか、またはデフォルト名をそのまま使用します。入力する名前は、「アプリケーション・ナビゲータ」でBPELプロセス・ファイル、Web Services Description Language (WSDL)ファイルおよび BPELプロセスの作成時は、必ず完全に一意の名前を使用してください。次のものを作成しないでください。
|
ネームスペース |
ネームスペースのデフォルトのパスを使用するか、カスタム・パスを入力します。 |
テンプレート |
設計するBPELプロセス・サービス・コンポーネントのタイプに基づくテンプレートを選択します。テンプレートにより、BPELプロセス・サービス・コンポーネントの設計を開始するのに使用する基本的な一連のデフォルト・ファイル(
|
サービス名 |
デフォルト値をそのまま使用するか、またはこのプロセスで公開されているサービス名を入力します。invoke、receive、OnMessageまたはreplyアクティビティを開くと、デフォルトで、サービス名が「パートナ・リンク」フィールドに表示されます。この名前はパートナ・リンクと同じ名前です。 |
SOAPサービスとして公開 |
インバウンドSimple Object Access Protocol (SOAP) Webサービス・バインディング・コンポーネントに自動的に接続(連結)されるBPELプロセス・サービス・コンポーネントを作成する場合は、このチェック・ボックスを選択します。このチェック・ボックスを選択しないと、BPELプロセス・サービス・コンポーネントは、SOAコンポジット・エディタでスタンドアロン・コンポーネントとして作成されます。このBPELプロセス・サービス・コンポーネントは後からサービスに明示的に関連付けることができます。このチェックボックスは、デフォルトで選択されます。 |
配信 |
配信レイヤーでのプロセスの永続ポリシーを設定します。このリストを使用すると、
このプロパティのトランザクションおよびフォルト伝播のセマンティクスの詳細は、第13章「BPELプロセスでのトランザクションおよびフォルト伝播のセマンティクス」を参照してください。 プロパティ・インスペクタでこのプロパティの値を変更する方法については、項C.1.1「プロパティ・インスペクタでデプロイメント・ディスクリプタのプロパティを定義する方法」を参照してください。 |
トランザクション |
コールを開始するBPELインスタンスのトランザクション動作を設定します。このリストを使用すると、
注意: このプロパティは、中間プロセスのreceiveアクティビティには適用されません。この場合は、別のトランザクションの別のスレッドを使用してメッセージが処理されます。これは、相関が必要であり、常に非同期で処理されるためです。 このプロパティのトランザクションおよびフォルト伝播のセマンティクスの詳細は、第13章「BPELプロセスでのトランザクションおよびフォルト伝播のセマンティクス」を参照してください。 プロパティ・インスペクタでこのプロパティの値を変更する方法については、項C.1.1「プロパティ・インスペクタでデプロイメント・ディスクリプタのプロパティを定義する方法」を参照してください。 |
入力 |
デフォルトの入力XSDスキーマをそのまま使用するか、「検索」アイコンをクリックして別のXSDを選択します。「検索」アイコンをクリックすると、「タイプ・チューザ」ダイアログが表示されます。インポートしたスキーマを参照して、入力要素(注文書など)を選択します。「タイプ・チューザ」ダイアログで、既存のスキーマまたはWSDLをインポートすることもできます。 |
出力 |
デフォルトの出力XSDスキーマをそのまま使用するか、「検索」アイコンをクリックして別のXSDを選択します。「検索」アイコンをクリックすると、「タイプ・チューザ」ダイアログが表示されます。インポートしたスキーマを参照して、出力要素(注文書など)を選択します。 |
「OK」をクリックします。
図4-2に示すセクションがOracle BPELデザイナに表示されます。
このビューの各セクションを使用して、特定の設計およびデプロイメント・タスクを実行できます。表4-3に、図4-2にリストされている各セクションを示します。
表4-3 Oracle JDeveloperのセクション
要素 | 説明 |
---|---|
SOAプロジェクトのプロセス・ファイルが表示されます。主要なファイルには、次のものがあります。
|
|
設計するBPELプロセス・サービス・コンポーネントのビジュアル・ビューが表示されます。このビューは、次のいずれかの処理を実行すると表示されます。
アクティビティのドラッグ、パートナ・リンクの作成などによるBPELプロセス・サービス・コンポーネントの設計に応じて、「設計」ウィンドウは変化します。 |
|
BPELプロセス・サービス・コンポーネントに追加可能なアクティビティが表示されます。アクティビティはビルディング・ブロックです。「コンポーネント・パレット」の「BPELコンストラクト」および「Oracle Extensions」選択項目には、BPELプロセス・サービス・コンポーネントのデザイナにドラッグする一連のアクティビティが表示されます。「コンポーネント・パレット」には、デザイナの状態に関連があるページのみが表示されます。「BPELコンストラクト」または「Oracle Extensions」は、ほぼ常に表示されます。ただし、transformアクティビティでトランスフォーメーションを設計している場合、「コンポーネント・パレット」には、「String Functions」、「Mathematical Functions」、「Node-set Functions」などそのアクティビティに関連する選択項目のみが表示されます。 |
|
デザイナで現在選択しているBPELプロセス・サービス・コンポーネントのデータが構造的に表示されます。このウィンドウから、次のような様々なタスクを実行できます。
|
|
検証およびコンパイルのステータスに関するメッセージが表示されます。BPELプロセス・サービス・コンポーネントで検証が正しく行われるように、次のことを確認する必要があります。
デプロイメントに失敗した場合は、エラーのタイプと場所を示すメッセージが表示されます。 |
|
BPELプロセス・サービス・コンポーネント・ファイル内部の構文が表示されます。アクティビティやパートナ・リンクをドラッグしたり、別のタスクを実行すると、これらのソース・ファイルの構文が即時に更新され、変更内容が反映されます。 |
|
ファイルのリビジョン履歴や、ファイルの読取り専用バージョンと編集可能バージョンが並べて表示されます。 |
|
アクティビティに関する詳細が表示されます。「設計」ウィンドウでアクティビティをシングルクリックすると、詳細が表示されます。 |
注意: これらのセクションの詳細を参照する場合、該当するセクション内にカーソルを置いて[F1]を押し、オンライン・ヘルプを表示することもできます。 |
BPELプロジェクトのバージョン(1.1または2.0)を表示するには、Oracle BPELデザイナの上にあるアイコンをクリックします。図4-3に詳細を示します。
アクティビティは、BPELプロセス・サービス・コンポーネントのビルディング・ブロックです。Oracle BPELデザイナには、BPELプロセス・サービス・コンポーネントにドラッグする一連のアクティビティが用意されています。アクティビティの属性(プロパティ値)を定義するには、そのアクティビティをダブルクリックします。アクティビティを使用すると、BPELプロセス・サービス・コンポーネント内で特定のタスクを実行できます。次に、いくつかの主要なアクティビティの例を示します。
assignアクティビティを使用すると、ある変数の内容を別の変数にコピーするなどのデータの操作を実行できます。図4-4に、assignアクティビティを示します。
invokeアクティビティを使用すると、(パートナ・リンクによって識別された)サービスを起動し、このサービスに対して実行する操作を指定できます。図4-5に、invokeアクティビティを示します。
receiveアクティビティは、サービスからの非同期コールバック・レスポンス・メッセージを待機します。図4-6に、receiveアクティビティを示します。receiveアクティビティは、パートナ・リンクを使用してプロセスが非同期に開始される場合にも使用されます。
図4-7に、プロパティ・ウィンドウ(ここではinvokeアクティビティ)の例を示します。この例では、StoreFrontServiceという名前のパートナ・リンクを起動し、その属性を定義しています。
このinvokeアクティビティを使用すると、サービス(パートナ・リンクで識別)に対して起動する操作を指定できます。操作は、サービスによって指定されたポートでの一方向またはリクエスト/レスポンスです。invokeアクティビティで変数を自動的に作成することも可能です。invokeアクティビティは、同期サービスを起動するか、非同期Webサービスを開始します。
invokeアクティビティは、プロセス内でデータを送受信するためのポートをオープンします。このポートを使用して、必要なデータの送信およびレスポンスの受信を行います。同期コールバックの場合、関数の送受信に必要なポートは1つのみです。
アクティビティの詳細は、付録A「BPELプロセスのアクティビティとサービス」を参照してください。
同じプロジェクト内またはプロジェクト間でのアクティビティのコピーおよび貼付けの詳細は、第A.2.2項「BPELプロジェクトでのアクティビティのコピーおよび貼付け」を参照してください。
パートナ・リンクを使用すると、BPELプロセス・サービス・コンポーネントと対話する外部サービスを定義できます。パートナ・リンクは、SOAコンポジット・エディタまたはOracle BPELデザイナのBPELプロセス・サービス・コンポーネント内にサービスまたは参照(JCAアダプタ経由など)として定義できます。図4-8に、パートナ・リンク・アイコン(この例ではPartnerSupplierMediatorという名前)を示します。
パートナ・リンク・タイプは、対話において各サービスが果たす役割を定義すること、および対話の中でメッセージを受信するために各サービスが提供するポート・タイプを指定することで、2つのサービス間での対話関係の特性を決定します。
図4-9に、サービスに対するパートナ・リンクの属性の例を示します。
表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コンポジット・アプリケーションに統合する方法の詳細は、第52章「Spring Frameworkを使用したSOAコンポジット・アプリケーションへの統合」を参照してください。 |
パートナ・リンク・タイプ |
WSDLファイルで定義したパートナ・リンクです。 |
パートナ・ロール |
パートナ・リンクによって実行されるロールです。 |
マイ・ロール |
BPELプロセス・サービス・コンポーネントが実行するロールです。これが、同期プロセスの場合は、BPELプロセス・サービス・コンポーネントにロールはありません。 |
注意: 「パートナ・リンクの作成」ダイアログの「パートナ・リンク・タイプ」、「パートナ・ロール」および「マイ・ロール」フィールドは、BPEL標準で定義される必須フィールドです。 |
Oracle BPELデザイナのBPELプロセス内にパートナ・リンクを作成する方法は、SOAコンポジット・エディタでのパートナ・リンクの表示方法に影響します。この項では、この影響について説明します。WSDLファイルは、ローカル・オペレーティング・システムに配置される場合や、リモートでホストされる場合(この場合はWSDLのURLが必要)があります。
同様に、SOAコンポジット・エディタでサービス・バインディング・コンポーネントまたは参照バインディング・コンポーネントを作成し、BPELプロセス・サービス・コンポーネントに接続すると、パートナ・リンクがOracle BPELデザイナに表示されます。
パートナ・リンクを作成する手順は、次のとおりです。
SOAコンポジット・エディタで、BPELプロセス・サービス・コンポーネントをダブルクリックします。
Oracle BPELデザイナが表示されます。
「コンポーネント・パレット」で、「BPELコンストラクト」を展開します。
図4-10に示すように、パートナ・リンクを適切な「パートナ・リンク」スイムレーンにドラッグします。
「パートナ・リンクの作成」ダイアログが表示されます。
表4-4の説明に従って、このダイアログの各フィールドを完了します。
次の各項では、パートナ・リンクの作成がSOAコンポジット・エディタに与える影響について説明します。
表4-5に、SOAコンポジット・エディタへの影響を示します。
表4-5 パートナ・リンクの作成がSOAコンポジット・エディタに与える影響
Oracle BPELデザイナでBPELプロセスに作成されるもの | SOAコンポジット・エディタに表示されるもの |
---|---|
アウトバウンド・アダプタのパートナ・リンク |
|
図4-11に、この作成方法を使用するとSOAコンポジット・エディタにどのように表示されるかを示します。
表4-6に、SOAコンポジット・エディタへの影響を示します。
表4-6 パートナ・リンクの作成がSOAコンポジット・エディタに与える影響
Oracle BPELデザイナでBPELプロセスに作成されるもの | SOAコンポジット・エディタに表示されるもの |
---|---|
インバウンド・アダプタのパートナ・リンク |
|
図4-12に、この作成方法を使用するとSOAコンポジット・エディタにどのように表示されるかを示します。
表4-7に、SOAコンポジット・エディタへの影響を示します。
表4-8に、SOAコンポジット・エディタへの影響を示します。
表4-8 パートナ・リンクの作成がSOAコンポジット・エディタに与える影響
Oracle BPELデザイナでBPELプロセスに作成されるもの | SOAコンポジット・エディタに表示されるもの |
---|---|
抽象的なWSDLからサービスを実装するパートナ・リンク |
BPELプロセス・サービス・コンポーネントのインタフェースおよびコールバック・インタフェースを持つサービスが作成されます。 注意: 指定されたインタフェースおよびコールバック・インタフェースがある外部SOAP参照がSOAコンポジット・エディタに存在する場合は、新しい外部SOAP参照を作成してそれに接続することも、既存の外部SOAP参照に接続することもできます。 |
図4-13に、この作成方法を使用するとSOAコンポジット・エディタにどのように表示されるかを示します。
表4-9に、SOAコンポジット・エディタへの影響を示します。
表4-9 パートナ・リンクの作成がSOAコンポジット・エディタに与える影響
Oracle BPELデザイナでBPELプロセスに作成されるもの | SOAコンポジット・エディタに表示されるもの |
---|---|
ヒューマン・タスクまたはビジネス・ルール |
|
図4-14に、この作成方法を使用するとSOAコンポジット・エディタにどのように表示されるかを示します。
表4-10に、SOAコンポジット・エディタへの影響を示します。
表4-10 パートナ・リンクの作成がSOAコンポジット・エディタに与える影響
Oracle BPELデザイナでBPELプロセスに作成されるもの | SOAコンポジット・エディタに表示されるもの |
---|---|
既存のヒューマン・タスク、ビジネス・ルールまたはメディエータ・サービス・コンポーネントをBPELプロセスにドラッグすることによるパートナ・リンク |
|
図4-15に、この作成方法を使用するとSOAコンポジット・エディタにどのように表示されるかを示します。
図4-9に示す「パートナ・リンク」ダイアログを使用すると、Oracle BPEL Process ManagerおよびOracle JDeveloperが提供するもう1つの主要な機能を利用できます。アダプタ構成ウィザードにアクセスするには、図4-16に示す「サービス・ウィザード」アイコンをクリックします。
アダプタにより、BPELプロセス・サービス・コンポーネント(つまり、SOAコンポジット・アプリケーション全体)に、ファイル・システム、FTPサーバー、データベース表、データベース・キュー、ソケット、Java Message Service (JMS)、Oracle User Messaging ServiceおよびMQへのアクセスが提供されます。HTTPバインディング、直接バインディング、EJBなどのサービスと統合することもできます。このウィザードを使用すると、図4-17に示すサービスとアダプタのタイプを、BPELプロセス・サービス・コンポーネントで使用するように構成できます。
サービス・タイプとアダプタ・タイプの詳細は、第37章「バインディング・コンポーネントのスタート・ガイド」を参照してください。
アダプタ・タイプを選択すると、図4-18に示す「サービス名」ダイアログで名前を入力するように求められます。この例では、図4-17で、「ファイル・アダプタ」が選択されています。ウィザードが完了すると「アプリケーション・ナビゲータ」に、BPELプロセス・サービス・コンポーネント用のこのサービス名のWSDLファイル(ここではUSPSShipment.wsdlという名前)が表示されます。サービス名はプロジェクト内で一意である必要があります。このファイルには、このウィザードで指定したアダプタ構成設定が含まれます。その他の構成ファイル(ヘッダー・ファイル、アダプタ固有のファイルなど)も作成され、「アプリケーション・ナビゲータ」に表示されます。
「サービス名」ダイアログの後に表示されるアダプタ構成ウィザードのダイアログは、選択したアダプタ・タイプによって変わります。
また、SOAコンポジット・エディタ内のサービスまたは参照として、アダプタをSOAコンポジット・アプリケーションに追加できます。
テクノロジ・アダプタの詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。
Oracle BPELデザイナ上部の「監視」を選択することで、Oracle BPELデザイナでBPELプロセス・モニターを構成できます。図4-19に詳細を示します。BPELプロセス・モニターでは、データを分析してグラフィカル表示するために、Oracle BAMアダプタを介してデータをOracle BAMに送信できます。
詳細は、第53.3項「Oracle BAM Monitor ExpressとBPELプロセスの併用」を参照してください。