この章では、Oracle BPEL Process Managerの基本操作について説明します。 アクティビティ、パートナ・リンク、アダプタなど、BPELの主要な設計機能も説明します。
項目は次のとおりです。
この項では、設計環境でのBPELプロセス・サービス・コンポーネントの概要を説明します。
BPELプロセス・サービス・コンポーネントはSOAコンポジット・エディタで追加します。
BPELプロセス・サービス・コンポーネントを作成する手順は、次のとおりです。
表5-1の説明に従って、Oracle JDeveloperを起動します。
次のいずれかの方法を使用して、BPELプロセス・サービス・コンポーネントを追加します。
既存のSOAコンポジット・アプリケーションのサービス・コンポーネントとして追加する方法:
「コンポーネント・パレット」からSOAコンポジット・エディタにBPELプロセス・サービス・コンポーネントをドラッグします。
新規アプリケーションに追加する方法:
「アプリケーション・ナビゲータ」で、「ファイル」→「新規」→「アプリケーション」→「SOAアプリケーション」の順に選択します。
これにより、SOAアプリケーションの作成ウィザードが起動します。
「アプリケーション名」ダイアログで、「アプリケーション名」フィールドにアプリケーション名を入力します。
「ディレクトリ」フィールドに、SOAコンポジット・アプリケーションおよびプロジェクトを作成するディレクトリ・パスを入力します。
「次へ」をクリックします。
「プロジェクト名」ダイアログで、「プロジェクト名」フィールドに名前を入力します。
「次へ」をクリックします。
プロジェクトのSOA設定ダイアログで、「BPELを使用するコンポジット」を選択します。
「終了」をクリックします。
どちらの方法でも、図5-1に示す「BPELプロセスの作成」ダイアログが表示されます。
BPELプロセス名などの必要な詳細を指定します。 作成できるBPELプロセスのタイプの詳細を参照する場合は、「ヘルプ」をクリックします。
BPELプロセスの作成時は、必ず完全に一意の名前を使用してください。 次のような名前のプロセスは作成しないでください。
先頭が数値のプロセス名(1SayHello
など)。
ハイフンを含むプロセス名(Say-Hello
など)。
同じ名前で、大/小文字が異なる2つのプロセス名(SayHello
とsayhello
など)。
500文字を超えるプロセス名。
ASCIIでないプロセス名(図5-2を参照)。 BPELプロセス名はSOAプロジェクトのディレクトリおよびファイルの名前に使用されます。そのため、ASCII以外の文字を使用すると問題が発生する可能性があります。
「OK」をクリックします。
図5-3に示すセクションがOracle BPELデザイナに表示されます。
Oracle BPELデザイナの各セクションを使用して、特定の設計およびデプロイメント・タスクを実行できます。
アプリケーション・ナビゲータ
「設計」ウィンドウ
「ソース」ウィンドウ
「履歴」ウィンドウ
コンポーネント・パレット
プロパティ・インスペクタ
「構造」ウィンドウ
「ログ」ウィンドウ
これらのセクションの説明は、第2.1項「SOAコンポジット・エディタの概要」を参照してください。
注意: これらのセクションの詳細を参照する場合、該当するセクション内にカーソルを置いて[F1]を押し、オンライン・ヘルプを表示することもできます。 |
アクティビティは、BPELプロセス・サービス・コンポーネントのビルディング・ブロックです。 Oracle BPELデザイナには、BPELプロセス・サービス・コンポーネントにドラッグする一連のアクティビティが用意されています。アクティビティの属性(プロパティ値)を定義するには、そのアクティビティをダブルクリックします。アクティビティを使用すると、BPELプロセス・サービス・コンポーネント内で特定のタスクを実行できます。 次に、いくつかの主要なアクティビティの例を示します。
assignアクティビティを使用すると、ある変数の内容を別の変数にコピーするなどのデータの操作を実行できます。 図5-4に、assignアクティビティを示します。
invokeアクティビティを使用すると、(パートナ・リンクによって識別された)サービスを起動し、このサービスに対して実行する操作を指定できます。 図5-5に、invokeアクティビティを示します。
receiveアクティビティは、サービスからの非同期コールバック・レスポンス・メッセージを待機します。 図5-6に、receiveアクティビティを示します。
図5-7に、プロパティ・ウィンドウ(ここではinvokeアクティビティ)の例を示します。 この例では、StoreFrontServiceという名前のパートナ・リンクを起動し、その属性を定義しています。
このinvokeアクティビティを使用すると、サービス(パートナ・リンクで識別)に対して起動する操作を指定できます。操作は、サービスによって指定されたポートでの一方向またはリクエスト/レスポンスです。invokeアクティビティで変数を自動的に作成することも可能です。 invokeアクティビティは、同期サービスを起動するか、非同期Webサービスを開始します。
invokeアクティビティは、プロセス内でデータを送受信するためのポートをオープンします。このポートを使用して、必要なデータの送信およびレスポンスの受信を行います。同期コールバックの場合、関数の送受信に必要なポートは1つのみです。
アクティビティの詳細は、付録A「BPELプロセスのアクティビティとサービス」および『Oracle Fusion Middleware Oracle SOA Suiteアプリケーションの作成および実行のためのチュートリアル』を参照してください。
パートナ・リンクを使用すると、BPELプロセス・サービス・コンポーネントと対話する外部サービスを定義できます。 パートナ・リンクは、SOAコンポジット・エディタまたはOracle BPELデザイナのBPELプロセス・サービス・コンポーネント内にサービスまたは参照(JCAアダプタ経由など)として定義できます。 図5-8に、パートナ・リンク・アイコン(この例ではWriteRecordという名前)を示します。
パートナ・リンク・タイプは、対話において各サービスが果たす役割を定義すること、および対話の中でメッセージを受信するために各サービスが提供するポート・タイプを指定することで、2つのサービス間での対話関係の特性を決定します。
図5-9に、サービスに対するパートナ・リンクの属性の例を示します。
表5-2に、このダイアログの各フィールドを示します。
表5-2 「パートナ・リンクの作成」ダイアログのフィールド
フィールド | 説明 |
---|---|
パートナ・リンクに対して指定する一意のわかりやすい名前です。 |
|
プロセス |
BPELプロセス・サービス・コンポーネント名が表示されます。 |
WSDL URL |
パートナ・リンクに対して選択するWeb Services Description Language(WSDL)ファイルの名前と場所です。 「SOAサービス・エクスプローラ」アイコン(「WSDL URL」フィールド上部の左から2番目)をクリックすると、使用するWSDLファイルを選択するウィンドウにアクセスできます。 |
パートナ・リンク・タイプ |
WSDLファイルで定義したパートナ・リンクです。 |
パートナ・ロール |
パートナ・リンクによって実行されるロールです。 |
マイ・ロール |
BPELプロセス・サービス・コンポーネントが実行するロールです。この場合、BPELプロセス・サービス・コンポーネントは同期プロセスのため、ロールはありません。 |
注意: 「パートナ・リンクの作成」ダイアログの「パートナ・リンク・タイプ」、「パートナ・ロール」および「マイ・ロール」フィールドは、BPEL標準で定義される必須フィールドです。 |
Oracle BPELデザイナのBPELプロセス内にパートナ・リンクを作成する方法は、SOAコンポジット・エディタ上部のパートナ・リンクの表示方法に影響します。この項では、この影響について説明します。 WSDLファイルは、ローカル・オペレーティング・システムに配置される場合や、リモートでホストされる場合(この場合はWSDLのURLが必要)があります。
同様に、SOAコンポジット・エディタでサービス・バインディング・コンポーネントまたは参照バインディング・コンポーネントを作成し、BPELプロセス・サービス・コンポーネントに接続すると、パートナ・リンクがOracle BPELデザイナに表示されます。
パートナ・リンクを作成する手順は、次のとおりです。
SOAコンポジット・エディタで、BPELプロセス・サービス・コンポーネントをダブルクリックします。
Oracle BPELデザイナが表示されます。
「コンポーネント・パレット」で「BPELサービス」を開きます。
図5-10に示すように、パートナ・リンクを適切な「パートナ・リンク」スイムレーンにドラッグします。
「パートナ・リンクの作成」ダイアログが表示されます。
このダイアログの各フィールド(表5-2を参照)を完成します。
SOAコンポジット・エディタでのパートナ・リンクの作成方法の詳細は、第4章「SOAコンポジット・エディタの機能の概要」を参照してください。
次の各項では、パートナ・リンクの作成がSOAコンポジット・エディタに与える影響について説明します。
表5-3に、SOAコンポジット・エディタへの影響を示します。
表5-3 パートナ・リンクの作成がSOAコンポジット・エディタに与える影響
Oracle BPELデザイナでBPELプロセスに作成されるもの | SOAコンポジット・エディタに表示されるもの |
---|---|
アウトバウンド・アダプタのパートナ・リンク |
|
図5-11に、この作成方法を使用するとSOAコンポジット・エディタにどのように表示されるかを示します。
表5-4に、SOAコンポジット・エディタへの影響を示します。
表5-4 パートナ・リンクの作成がSOAコンポジット・エディタに与える影響
Oracle BPELデザイナでBPELプロセスに作成されるもの | SOAコンポジット・エディタに表示されるもの |
---|---|
インバウンド・アダプタのパートナ・リンク |
|
図5-12に、この作成方法を使用するとSOAコンポジット・エディタにどのように表示されるかを示します。
表5-5に、SOAコンポジット・エディタへの影響を示します。
表5-6に、SOAコンポジット・エディタへの影響を示します。
表5-6 パートナ・リンクの作成がSOAコンポジット・エディタに与える影響
Oracle BPELデザイナでBPELプロセスに作成されるもの | SOAコンポジット・エディタに表示されるもの |
---|---|
抽象的なWSDLからサービスを実装するパートナ・リンク |
BPELサービス・コンポーネントのインタフェースおよびコールバック・インタフェースを持つサービス 注意: 指定されたインタフェースおよびコールバック・インタフェースがある外部Simple Object Access Protocol(SOAP)参照がSOAコンポジット・エディタに存在する場合は、新しい外部SOAP参照を作成してその参照に接続することも、既存の外部SOAP参照に接続することもできます。 |
図5-13に、この作成方法を使用するとSOAコンポジット・エディタにどのように表示されるかを示します。
表5-7に、SOAコンポジット・エディタへの影響を示します。
表5-7 パートナ・リンクの作成がSOAコンポジット・エディタに与える影響
Oracle BPELデザイナでBPELプロセスに作成されるもの | SOAコンポジット・エディタに表示されるもの |
---|---|
ヒューマン・タスクまたはビジネス・ルール |
|
図5-14に、この作成方法を使用するとSOAコンポジット・エディタにどのように表示されるかを示します。
表5-8に、SOAコンポジット・エディタへの影響を示します。
表5-8 パートナ・リンクの作成がSOAコンポジット・エディタに与える影響
Oracle BPELデザイナでBPELプロセスに作成されるもの | SOAコンポジット・エディタに表示されるもの |
---|---|
既存のヒューマン・タスク、ビジネス・ルールまたはメディエータ・サービス・コンポーネントを「リソース・パレット」からBPELプロセスにドラッグすることによるパートナ・リンク |
|
図5-12に、この作成方法を使用するとSOAコンポジット・エディタにどのように表示されるかを示します。
図5-9に示す「パートナ・リンク」ダイアログを使用すると、Oracle BPEL Process ManagerおよびOracle JDeveloperが提供するもう1つの主要な機能を利用できます。 アダプタ構成ウィザードにアクセスするには、図5-16に示す「サービスの定義」アイコンをクリックします。
アダプタにより、BPELプロセス・サービス・コンポーネント(つまり、SOAコンポジット・アプリケーション全体)に、ファイル・システム、FTPサーバー、データベース表、データベース・キュー、ソケット、Java Message Service(JMS)、MQおよびOracle E-Business Suiteへのアクセスが提供されます。 このウィザードを使用すると、図5-17に示すアダプタ・タイプを、BPELプロセス・サービス・コンポーネントで使用するように構成できます。
使用可能なアダプタ・タイプは、次のとおりです。
アドバンスト・キューイング(AQ)
キューとの相互作用が必要な場合。AQでは、使用するアプリケーション間における双方向通信および非同期通信を行うための柔軟なメカニズムが提供されます。
Oracle Business Activity Monitoring(BAM)
データをOracle BAMサーバー内のデータ・オブジェクトにパブリッシュする場合。
データベース
JDBCとOracle Business Intelligenceを経由するOracleおよび非Oracleデータベースとの相互作用が必要な場合(特殊なデータ・ソース・タイプ)。
FTPおよびファイル
File Transfer Protocol(FTP)を使用して、ローカル・ファイル・システムとリモート・ファイル・システムでファイル交換(読み書き)を行う場合。
注意: ファイル・アダプタをコールすると、Oracle Real Application Clustersの計画的停止に対して実行する際にOracle BPEL Process Managerが同じファイルを2回処理する可能性があります。 これは、ファイル・アダプタがXAに準拠していないアダプタであるためです。 したがって、グローバル・トランザクションに組み入れると、各ファイルを1回のみ処理するXAインタフェース仕様に逸脱する可能性があります。 |
Java Messaging Service(JMS)
JMSとの相互作用が必要な場合。JMSアーキテクチャは、1つのクライアント・インタフェースと多くのメッセージング・サーバーを使用するアーキテクチャです。
メッセージ・キュー(MQ)
WebSphere MQキューイング・システムとのメッセージ交換が必要な場合。
Oracle Applications
Oracle Applicationの一連の統合ビジネス・アプリケーションとの相互作用が必要な場合。
Oracle B2B
メタデータ・サービス(MDS)リポジトリでのB2Bメタデータの参照と文書定義の選択が必要な場合。
ソケット
TCP/IPソケットを介した通信用の標準または非標準プロトコルのモデル化が必要な場合。
アダプタ・タイプを選択すると、図5-18に示す「サービス名」ウィンドウで名前を入力するように求められます。 この例では、図5-17で、「ファイル・アダプタ」が選択されています。ウィザードが完了すると「アプリケーション・ナビゲータ」に、BPELプロセス・サービス・コンポーネント用のこのサービス名のWSDLファイル(ここではReadFile.wsdlという名前)が表示されます。 サービス名はプロジェクト内で一意である必要があります。このファイルには、このウィザードで指定したアダプタ構成設定が含まれます。その他の構成ファイル(ヘッダー・ファイル、アダプタ固有のファイルなど)も作成され、「アプリケーション・ナビゲータ」に表示されます。
「サービス名」ウィンドウの後に表示されるアダプタ構成ウィザードのウィンドウは、選択したアダプタ・タイプによって変わります。
また、SOAコンポジット・エディタ内のサービスまたは参照として、アダプタをSOAコンポジット・アプリケーションに追加できます。
SOAコンポジット・アプリケーションへのアダプタの追加方法の詳細は、第4章「SOAコンポジット・エディタの機能の概要」を参照してください。
テクノロジ・アダプタの詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。