ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Business Process Managementモデリングおよび実装ガイド
11g リリース1 (11.1.1.7)
B61409-07
  目次へ移動
目次

前
 
次
 

12 サービスおよび参照の使用

この章では、Oracle BPMで使用できる様々なサービスおよび参照コンポーネントについて説明します。これらのコンポーネントがどのようにビジネス・カタログで使用され、ビジネス・カタログ内のコンポーネントが、これらのサービスおよび参照を定義するSOAコンポジットとどのような関係があるかを説明します。また、これらのコンポーネントを、理解しやすく、ビジネス・アナリスト向けにカスタマイズする方法を説明します。

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

12.1 サービスおよび参照の概要

Oracle BPMの一部のフロー・オブジェクトは、実装する際にサービスまたは参照を定義する必要があります。サービスおよび参照は、BPMプロジェクトのSOAコンポジットで定義できます。

ビジネス・カタログには、SOAコンポジットで使用されるサービス、コンポーネントおよび参照が表示されます。新規コンポーネントをコンポジットの「公開されたサービス」または「外部参照」領域に追加すると、ビジネス・カタログの対応する事前定義済モジュールに自動的に表示されます。

次のSOAコンポーネントは、ビジネス・カタログでサービスまたは参照として表示されます。


注意:

サービス・タスク、メッセージ・イベントまたは送受信タスクを実装するWebサービスを定義する場合は、それに含まれる操作が、WSDLで定義されるXMLタイプの引数を定義していないことを確認します。Webサービスの操作の引数は、XSDファイルで定義されるプリミティブ・タイプである必要があります。


12.1.1 サービスの概要

サービスは、BPMNプロセスで特定のアクティビティおよびイベントを実装するために使用できるコンポーネントです。

「サービス」事前定義済モジュールには、SOAコンポジットでサービス・ハンドルを表示するコンポーネントが格納されます。

サービスを使用して、次のフロー・オブジェクトを実装できます。

  • サービス・タスク

  • メッセージ・イベント

  • 送信タスクおよび受信タスク

12.1.2 参照の概要

参照は、BPMNプロセスのインタフェースの定義に使用できるインタフェースです。

「参照」事前定義済モジュールには、SOAコンポジットで参照ハンドルを表示するコンポーネントが格納されます。

参照を使用して、次のフロー・オブジェクトを使用したプロセス・インタフェースを定義できます。

  • メッセージ・イベント

  • 送信タスクおよび受信タスク

12.1.3 コールバックの概要

サービスが非同期サービスでコールバック・インタフェースが含まれている場合、ビジネス・カタログのコンポーネントにはコールバック内部コンポーネントが含まれています。コールバック内部コンポーネントは、サービス内のすべてのコールバック操作をグループ化したものです。

ビジネス・カタログでサービス・コンポーネントを選択した後、「構造」ウィンドウにコールバック・コンポーネントの操作のリストを表示できます。

サービスのみからのコールバックを待機するように構成されたメッセージ・イベントおよび受信タスクを実装すると、対応するサービスのコールバック内部コンポーネントからの操作を選択できるようになります。

図12-1に、ビジネス・カタログでコールバック・インタフェースを使用するサービスを示します。

図12-1 コールバック・インタフェースを使用したサービス

図12-1の説明が続きます
「図12-1 コールバック・インタフェースを使用したサービス」の説明

12.2 Oracle BPMのサービス・アダプタの概要

サービス・アダプタを使用すると、他のアプリケーションおよび外部サービスとの統合が可能になります。Oracle BPMは、サービス・アダプタの使用をサポートすることにより、BPMNプロセスを外部アプリケーション、レガシー・アプリケーションおよび外部サービス(FTPまたはデータベースなど)と統合できます。

Oracle BPMは、次のテクノロジのサービス・アダプタをサポートしています。

サービス・アダプタの詳細な説明は、次を参照してください。

SOAサービス・アダプタをBPMプロジェクトのSOAコンポジットに追加すると、サービス・アダプタが自動的にビジネス・カタログに表示されます。ビジネス・カタログは、SOAサービス・アダプタを追加したSOAコンポジットのスイムレーンにより、SOAサービス・アダプタを別々のモジュールに格納します。

サービス・アダプタの性質により、SOAコンポジットではコンポーネントを様々なスイムレーンに追加することが可能です。たとえば、読取り操作を含むファイル・アダプタは、「公開されたサービス」スイムレーニンに追加する必要がありますが、ファイル・アダプタに書込み操作が含まれる場合、「外部参照」スイムレーンに追加する必要があります。

図12-2に、読取り操作のファイル・アダプタおよび書込み操作のファイル・アダプタが含まれるSOAコンポジットを示します。書込み操作が含まれるファイル・アダプタはビジネス・カタログの「サービス」事前定義済モジュールの下に表示され、書込み操作が含まれるファイル・アダプタは「参照」事前定義済モジュールの下に表示されます。

図12-2 Oracle BPMのアダプタ・サービス

図12-2の説明が続きます
「図12-2 Oracle BPMのアダプタ・サービス」の説明

ビジネス・カタログは、サービス・アダプタを 「サービス」 または 「参照」 事前定義済モジュール内の 「外部」 モジュールの下に格納します。サービス・アダプタはノードとして表されます。BPMプロジェクト・ナビゲータでサービス・アダプタを選択すると、そこに含まれている操作が「構造」ウィンドウに表示されます。サービス・アダプタが非同期として構成されている場合、「構造」ウィンドウにはコールバック内部オブジェクトも表示されます。


注意:

出力引数を戻さないサービス・アダプタの操作は、出力引数として要素の構造Emptyを定義する場合があります。この要素の構造は、サービス・アダプタを使用するフロー・オブジェクトのデータ・アソシエーションに表示されます。出力データ・アソシエーションの定義はオプションで、この要素の構造のマッピングを提供する場合は必須ではありません。


12.3 Oracle BPMのOracleメディエータの概要

Oracleメディエータは、コンポジット・アプリケーション内のコンポーネント間の通信を促進します。これらのコンポーネントにはBPMNプロセスが含まれます。

次のような状況で、BPMプロジェクトにメディエータを使用できます。

図12-3 ビジネス・カタログ内のメディエータ・コンポーネント

図12-3の説明が続きます
「図12-3 ビジネス・カタログ内のメディエータ・コンポーネント」の説明

図12-4に、メディエータを介してBPMNプロセスを起動するBPELプロセスを示します。メディエータのサービス・ハンドルがBPELプロセスに接続し、参照ハンドルがBPMNプロセスに接続します。

図12-4 メディエータを使用してBPMNプロセスを起動するBPELプロセス

図12-4の説明が続きます
「図12-4 メディエータを使用してBPMNプロセスを起動するBPELプロセス」の説明

メディエータ・サービス

メディエータをSOAコンポジットに追加すると、ビジネス・カタログにより、メディエータ・サービスが生成されます。

このコンポーネントは、メディエータ・サービスを表します。メディエータと通信するために起動する操作が含まれます。このサービスで定義されている操作は、操作のタイプにより、サービス・タスク、メッセージ・イベント、または送信および受信タスクを使用して起動できます。

ビジネス・カタログは、メディエータ・サービスを、 「サービス」 事前定義済モジュール内にあるメディエータ・モジュールに格納します。各メディエータ・サービス・コンポーネントに対し、個別のモジュールが作成されます。このモジュールの名前は、コンポーネントの名前です。

図12-3のアイテム2は、SOAコンポジットに示されたメディエータ・コンポーネントの公開されたサービスMediator_epを示しています。

メディエータ・インタフェース

メディエータの作成時にSOAバインディング・オプションを選択すると、Oracle JDeveloperはサービス・インタフェースを作成します。このインタフェースは、SOAコンポジットの外側からメディエータにアクセスする際に使用できる操作の署名を定義します。BPMNプロセスがこのインタフェースを使用し、BPMNおよびメディエータが同じインタフェースを持つよう、構成できます。

ビジネス・カタログは、 「参照」 事前定義済モジュールにある 「外部」 モジュール内にサービス・インタフェースを格納します。

図12-3のアイテム1は、SOAコンポジットに示されたメディエータ・コンポーネントの公開されたサービス・インタフェース・コンポーネントMediator_epを示しています。

プロセス・インタフェースを定義するためにインタフェースを使用する方法は、21.5項「ビジネス・カタログのインタフェースを持つメッセージ・イベントを使用したプロセス・インタフェースの定義」および21.9項「ビジネス・カタログのインタフェースを持つ送信および受信タスクを使用したプロセス・インタフェースの定義」を参照してください。

参照インタフェース

SOAコンポジットは、メディエータが採用する各コンポーネントについて、インタフェースを示します。

ビジネス・カタログは、サービス・インタフェースを、 「参照」 事前定義済モジュール内にあるメディエータ・モジュールに格納します。各メディエータ・サービス・コンポーネントに対し、個別のモジュールが作成されます。このモジュールの名前は、コンポーネントの名前です。

図12-3のアイテム1は、SOAコンポジットに示されたメディエータ・コンポーネントの参照インタフェース・コンポーネントProcessProcessServiceを示しています。

SOAメディエータの詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』のOracleメディエータ・サービス・コンポーネントの使用に関する項を参照してください。

12.4 Oracle BPMのBPELプロセスの概要

BPELプロセスを使用すると、BPMNと異なる標準を使用してビジネス・プロセスをモデリングできます。プロセスの性質によっては、特定のテクノロジで実装する方が容易な場合があります。Oracle BPMを使用すると、プロジェクト内でBPELおよびBPMNプロセスを統合し、両方の標準の利点を活用できます。

図12-5に、複数のBPELプロセスが含まれているSOAコンポジットと、それがどのようにビジネス・カタログに表示されるかを示します。

図12-5 ビジネス・カタログ内のBPELプロセス・コンポーネント

図12-5の説明が続きます
「図12-5 ビジネス・カタログ内のBPELプロセス・コンポーネント」の説明

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

BPELプロセスをSOAコンポジットに追加すると、BPELサービス・コンポーネントがビジネス・カタログに表示されます。

このコンポーネントは、BPELプロセス・サービスを表します。このコンポーネントを使用して、BPELプロセスが同期または非同期プロセスであるかにより、サービス・タスク、メッセージ・イベント、または送信および受信タスクを実装できます。

図12-5に、BPELプロセスおよび対応する公開されたサービス・インタフェースがビジネス・カタログにどのように表示されるかを示します。

ビジネス・カタログは、BPELプロセス・サービスを、 サービス 事前定義済モジュール内にある BPEL モジュールに表示しています。各BPELプロセス・サービス・コンポーネントに対し、個別のモジュールが作成されます。このモジュールの名前は、BPELプロセスの名前です。

Oracle BPMはBPELプロセスをサービスとして扱います。他のタイプのサービスとBPELプロセスを区別しません。

BPMNプロセスから同期および非同期サービスを起動する方法は、20.1項「他のBPMNプロセスおよびサービスとの通信の概要」を参照してください。

公開されたインタフェース

BPELプロセスの作成時にSOAバインディング・オプションを選択した場合、ビジネス・カタログに公開されたインタフェースが表示されます。

このインタフェースを使用すると、外部コンポーネントによってBPELプロセスを起動できます。BPELプロセスに置き換わるBPMNプロセスを設計している場合、このインタフェースを使用してBPMNプロセスを定義すると、確実に置換できます。

プロセス・インタフェースを定義するためにインタフェースを使用する方法は、21.5項「ビジネス・カタログのインタフェースを持つメッセージ・イベントを使用したプロセス・インタフェースの定義」および21.9項「ビジネス・カタログのインタフェースを持つ送信および受信タスクを使用したプロセス・インタフェースの定義」を参照してください。

BPELプロセスの詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』のBPELプロセス・サービス・コンポーネントの使用に関する項を参照してください。

12.5 Oracle BPMでのサービスの使用

次のフロー・オブジェクトは、実装の際にサービスを定義する必要があります。

12.6 Oracle BPMでの参照の使用

次のフロー・オブジェクトにより、ビジネス・カタログの参照コンポーネントを使用してインタフェースを定義できます。

12.7 サービスおよび参照のカスタマイズ

プロセスで使用される一部のサービスや参照のインタフェースは、複雑であったり、用途が明確でない名前を使用している場合があります。これらのインタフェースは、プロセス・アナリストには不向きです。これらのサービスおよび参照をカスタマイズして複雑さを隠し、ビジネス・アナリストが使いやすくすることができます。また、サービスまたは参照をカスタマイズすることにより、他のプロセス開発者にも理解しやすくすることができます。

サービスまたは参照をカスタマイズすると、次のことが可能になります。

サービスまたは参照をカスタマイズすると、格納されている事前定義済モジュールにこのサービスまたは参照が表示されなくなり、Oracle BPM Studioはその使用をカスタマイズ後のコンポーネントで置き換えます。

カスタマイズ済サービスまたは参照を削除しても、SOAコンポジットから削除しない限り、対応する事前定義済モジュールにこのサービスまたは参照がまた表示されるようになります。


注意:

元のサービスまたは参照を削除する場合、Oracle BPM Studioはカスタマイズされたサービスまたは参照を削除しません。カスタマイズしたサービスまたは参照を手動で削除するか、削除したものと同じ名前で新しいサービスまたは参照を作成する必要があります。


12.7.1 サービスまたは参照のカスタマイズ方法

サービスまたは参照をカスタマイズすることにより、ビジネス・アナリストにとって使いやすくし、プロセス開発者にも理解しやすくできます。

サービスまたは参照をカスタマイズするには:

  1. BPMプロジェクト・ナビゲータで、サービスまたは参照を右クリックします。

  2. 「サービスのカスタマイズ」を選択します。

    「アダプタ・サービスのカスタマイズ」ダイアログ・ボックスが表示されます。

  3. 「名前」フィールドに、カスタマイズしたサービスまたは参照の名前を入力します。

  4. 「参照」をクリックし、カスタマイズしたサービスまたは参照を格納するモジュールを選択します。

  5. オプションで、カスタマイズしたサービスまたは参照の説明を入力します。

  6. 「操作」リストから、カスタマイズしたサービスまたは参照に表示する操作を選択します。

  7. 操作を編集してカスタマイズします。

    操作をカスタマイズする方法は、12.7.2項「操作のカスタマイズ手順」を参照してください。

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

12.7.2 操作のカスタマイズ手順

サービスまたは参照をカスタマイズする際、必要に応じて、そこに含まれている操作をカスタマイズできます。

操作をカスタマイズするには:

  1. 「操作」表から、操作を選択します。

  2. 「編集」をクリックします。

    「操作の編集」ダイアログが表示されます。

  3. 「表示名」フィールドに、操作のカスタマイズ名を入力します。

  4. 「説明」フィールドに、操作の説明を入力します。

  5. 操作が入力または出力引数を必要とする場合、その説明を入力できます。

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

12.7.3 サービスまたは参照のカスタマイズ時に行われる処理

カスタマイズしたサービスまたは参照は、格納を選択したモジュールに表示されます。「サービス」 または 「参照」 事前定義済モジュールにあるコンポーネントは非表示になります。

カスタマイズしたコンポーネントを使用するBPMNコンポーネントが存在する場合、カスタマイズしたサービスまたは参照を使用するよう、それらのプロセスのアクティビティの実装がOracle BPM Studioによって自動的に更新されます。

カスタマイズしたサービスまたは参照を削除すると、対応する事前定義済モジュールにまた表示されるようになります。