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

前
 
次
 

15 BPMプロジェクトにおけるSOAコンポジットの使用

この章では、SOAコンポジットを使用して、BPMNプロセスを設計し、他のSOAコンポーネントと統合する方法について説明します。SOAコンポジットは、BPMNプロセスとBPMプロジェクトの他のコンポーネント間の依存関係を示します。

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

SOAコンポジットの詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。

15.1 SOAコンポジットの概要

SOAコンポジットは、相互関係を持つコンポーネントをグループ化し、異なるテクノロジを単一のアプリケーションに統合できます。コンポジットは単一のデプロイメントおよび管理モデル、エンドツーエンドのデータ・セキュリティ、およびそれに含まれるコンポーネントに統合されたメタデータ管理を提供します。

BPMプロジェクトではSOAテクノロジを使用します。すべてのBPMプロジェクトはSOAコンポジットの上に配置されます。プロジェクトはこのコンポジットを使用して、BPMプロジェクト内の異なるコンポーネントとそれらが公開するサービス間の関係を説明する情報を格納します。

BPMNプロセスはSOAコンポジット内のコンポーネントです。SOAコンポジット・エディタを使用して、BPMNプロセスがSOAコンポジット内の残りのコンポーネントとどのように関連しているかを表示できます。

BPMプロジェクトのSOAコンポジットは、次を示します。

SOAコンポジットに、サービスを公開するコンポーネントまたは外部参照が含まれている場合、これらはビジネス・カタログに表示されます。ビジネス・カタログの詳細は、第9章「ビジネス・カタログの使用」を参照してください。

SOAコンポジットにコンポーネントを追加すると、BPMプロジェクトで使用できるように、ビジネス・カタログに自動的に表示されます。

再使用可能なプロセスは、SOAコンポジットに表示されません。ビジネス・プロセスを変更して再使用可能なプロセスに変換すると、SOAコンポジットに表示されなくなります。再使用可能なサブプロセスの詳細は、20.8項「コール・アクティビティを使用したプロセス起動の概要」を参照してください。

SOAコンポジットは、BPMプロジェクトをデプロイするのに使用する単位です。SOAコンポジットに表示されるコンポーネントおよび依存関係は、プロジェクトのデプロイ方法を指定します。SOAコンポジットからプロセスまたはワイヤを削除すると、これらがBPMプロジェクトにまだ表示されていても、プロジェクトのデプロイ時に無視されます。

15.1.1 SOAコンポジットとSOAコンポーネント間の関係の理解

BPMプロジェクトを実行すると、SOAエンジンはSOAコンポジット・インスタンスを作成します。SOAコンポジット・インスタンスには、SOAコンポジットで定義される各コンポーネントのインスタンスが含まれます。たとえば、SOAコンポジットでBPMNプロセスとヒューマン・タスクが定義されている場合、SOAコンポジット・インスタンスにはBPMNプロセス・インスタンスとヒューマン・タスク・インスタンスが含まれます。

SOAコンポジット・インスタンス内のコンポーネントは、互いに独立しています。コンポーネントのうちの1つを終了しても、SOAコンポジット・インスタンス内の他のコンポーネントには影響を与えません。BPMNプロセスのインスタンスとヒューマン・タスクのインスタンスを含むSOAコンポジット・インスタンスで、BPMNプロセス・インスタンスを終了した場合、ヒューマン・タスクは終了されません。BPMNプロセスを終了した後に、ヒューマン・タスク・インスタンスはまだ使用可能で、Oracle BPM Worklistアプリケーションを使用してそれにアクセスすることができます。ただし、そのヒューマン・タスクが完了しても、終了済のプロセスに影響を与えません。

同様に、連続しないタイマーまたはメッセージ境界イベントがユーザー・タスクに到着すると、BPMNプロセス・インスタンスはユーザー・タスクを離れますが、関連するヒューマン・タスクは使用可能なままです。ユーザーがユーザー・タスクを完了する前に連続しないタイマーまたはメッセージ境界イベントが到着しているため、ヒューマン・タスクは未完了のままで、Oracle BPM Worklistアプリケーションを通じてそれにアクセスすることができます。ただし、そのヒューマン・タスクが実行されても、BPMNプロセスに影響を与えません。

15.1.2 SOAコンポーネントの使用

SOAコンポジットでサービスとして公開されたすべてのSOAコンポーネントおよび外部参照は、ビジネス・プロジェクト内のビジネス・カタログに表示されます。

既存のSOAプロジェクトに基づいてBPMプロジェクトを作成した場合、SOAプロジェクトでサービスとして公開されたすべてのコンポーネントおよび外部参照は、ビジネス・カタログに自動的に表示されます。

実装でコンポーネントを使用するBPMNプロセスにアクティビティがある場合、SOAコンポジットは、BPMNプロセスとコンポーネント間のワイヤを示します。

ワイヤは、サービスと参照間の関係を表します。BPMNプロセスを保存すると、Oracle BPM Studioは、BPMNプロセスとそれが使用するコンポーネント間のワイヤを自動的に更新します。サービスは、コンポーネントが公開するインタフェースを表します。参照は、コンポーネントが必要とするサービス・インタフェースを表します。サービスおよび参照の詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。

BPMNプロセスにアクティビティを実装するには、SOAコンポーネントにアクティビティを割り当てる必要があります。SOAコンポーネントをBPMプロジェクトに追加するには、SOAコンポジット・エディタを使用する必要があります。SOAコンポジット・エディタから、BPMプロジェクトに次のSOAコンポーネントを追加できます。

  • サービス・アダプタ

  • ヒューマン・タスク

  • ビジネス・ルール

  • メディエータ

  • BPELプロセス

SOAコンポジットに追加されたSOAコンポーネントがそれ自身をサービスとして公開する場合、コンポーネントはビジネス・カタログに表示されます。BPMNプロセスにアクティビティを実装するビジネス・カタログ内のすべてのコンポーネントを使用できます。BPMNアクティビティの実装方法の詳細は、次の部にある章を参照してください。

図15-1 SOAコンポジット内のBPMNプロセス

BPMNプロセスを含むコンポジット。
「図15-1 SOAコンポジット内のBPMNプロセス」の説明

15.1.3 SOAコンポジット内のBPMNプロセス

BPMNプロセスを追加すると、SOAコンポジットに自動的に追加されます。BPMプロセスは、SOAコンポジット内のコンポーネントとして表示されます。

BPMNプロセスにタイプ・メッセージの開始イベントが含まれる場合、プロセスのインタフェースは、公開されたサービスとして表示されます。

SOAコンポジットは、BPMプロジェクトが使用する異なるコンポーネントにプロセスがどのように依存するかを示します。プロジェクトのアクティビティが、実装のためにSOAコンポーネントによって公開されたサービスを使用する場合、SOAコンポーネントは、公開されたサービスとBPMNプロセスの間に線を表示します。この線は、BPMNプロセスと公開されたサービスをリンクするワイヤを表します。

15.1.4 BPMNエラーがSOAコンポジットのステータスに与える影響

SOAコンポジットのコンポーネントのステータスによって、SOAコンポジットのステータスが決まります。BPMNプロセスで例外が発生すると、SOAコンポジットのステータスは失敗としてマークされます。BPMNプロセスが例外を処理し、実行を正常に終了したとしても、SOAコンポーネントのステータスは失敗とマークされます。

15.2 BPMプロジェクトでSOAコンポジットを開く

BPMプロジェクトはSOAプロジェクトの上に配置されます。SOAプロジェクトにはSOAコンポジットが含まれています。SOAコンポーネントをBPMプロジェクトに追加するには、SOAコンポジット・エディタを使用する必要があります。SOAコンポジットに追加したSOAコンポーネントは、BPMプロジェクトのビジネス・カタログに自動的に表示されます。

15.2.1 BPMプロジェクトでSOAコンポジットを開く方法

BPMプロジェクトに含まれるSOAコンポジットを開いて、新規SOAコンポーネントを追加するか、既存のSOAコンポーネントを編集できます。

BPMプロジェクトでSOAコンポジットを開くには:

  1. 「アプリケーション」ウィンドウを選択します。

  2. プロジェクトのSOAコンテンツ・ディレクトリにあるcomposite.xmlファイルをダブルクリックします。

    SOAコンポジット・エディタが開きます。

15.3 BPMプロジェクトでSOAコンポジットからBPMNプロセスを開く

BPMプロジェクトではSOAテクノロジを使用するため、BPMプロジェクトにはSOAコンポジットが含まれています。SOAコンポジット・エディタを使用して、BPMプロセスとBPMプロジェクト内の他のコンポーネントとの依存関係を表示したり、BPMプロジェクトに新規コンポーネントを追加できます。

15.3.1 BPMプロジェクトでSOAコンポジットからBPMNプロセスを開く方法

BPMプロジェクト・ナビゲータへの切替えを行わずに、SOAコンポジットからBPMNプロセスを開くことができます。

BPMプロジェクトでSOAコンポジットからBPMNプロセスを開くには:

  1. SOAコンポジット・エディタを開きます。

  2. 開くBPMNプロセスをダブルクリックします。

    BPMNプロセス・エディタが表示されます。プロセスに加えた変更は、SOAコンポジットに表示されます。

15.4 SOAコンポジット・エディタからのBPMNプロセスの追加

BPMプロジェクト・ナビゲータへの切替えを行わずに、SOAコンポジット・エディタから直接、新規BPMNプロセスを追加できます。

15.4.1 SOAコンポジット・エディタからBPMNプロセスを追加する方法

ビジネス・アプリケーション・インフラストラクチャの分析中にBPMNプロセスの必要性を識別する場合、SOAコンポジット・エディタを開いた状態で、BPMNプロセスを直接追加できます。

SOAコンポジット・エディタからBPMNプロセスを追加するには:

  1. SOAコンポジット・エディタを開きます。

  2. コンポーネント・パレットの「サービス・コンポーネント」セクションから、「BPMNプロセス」を選択します。

  3. SOAコンポジット・エディタの「コンポーネント」領域に、選択したコンポーネントをドラッグします。

15.4.2 SOAコンポジット・エディタからのBPMNプロセスの追加時に行われる処理

BPMNプロセスは、SOAコンポジット・エディタでコンポーネントとして表示されます。新規プロセスは、BPMプロジェクト・ナビゲータの「プロセス」フォルダに表示されます。

BPMNプロセスを編集するには、BPMNプロセスを右クリックして「編集」を選択するか、BPMNプロセスをダブルクリックします。

15.5 SOAコンポジットを使用したBPELプロセスとの統合

SOAコンポジット・エディタでは、プロジェクトのBPELプロセスおよびBPMNプロセスを示します。コンポジット・エディタを使用して、BPELプロセスとBPMNプロセスとの統合を設計できます。

BPELプロセスからBPMNプロセスを使用するには、BPELプロセスのパートナ・リンクとしてBPMNプロセスを追加する必要があります。BPELプロセスのパートナ・リンクとしてBPMプロセスを追加するには、SOAコンポジット・エディタを使用する必要があります。パートナ・リンクとしてBPMNプロセスを追加すると、BPELエディタを使用して、BPMNプロセスをBPELプロセスのアクティビティにリンクできます。BPELプロセスの編集の詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。

BPMNプロセスからBPELプロセスを使用するには、BPELプロセスをSOAコンポジットに追加する必要があります。これを行うと、BPELプロセスはビジネス・カタログに表示されます。ビジネス・カタログでBPELプロセスを使用して、BPMNプロセスにアクティビティを実装できます。

図15-2 BPELプロセスのパートナ・リンクとしてのBPMNプロセス

BPMNプロセスはBPELプロセスのパートナ・リンクです。
「図15-2 BPELプロセスのパートナ・リンクとしてのBPMNプロセス」の説明

15.6 BPELプロセスでのパートナ・リンクとしてのBPMNプロセスの追加

BPELプロセスからBPMNプロセスを使用するには、パートナ・リンクとしてBPMNプロセスを追加する必要があります。その後、BPELエディタを使用して、BPELプロセスのアクティビティからBPMNプロセスを起動できます。

15.6.1 BPELプロセスでのパートナ・リンクとしてBPMNプロセスを追加する方法

BPELプロセスからBPMNプロセスを使用するには、まずBPELプロセスのパートナ・リンクとしてBPMNプロセスを追加する必要があります。

BPELプロセスのパートナ・リンクとしてBPMNプロセスを追加するには:

  1. SOAコンポジット・エディタを開きます。

  2. BPELプロセス・コンポーネントの上にマウス・ポインタを置きます。

    BPELプロセス・コンポーネントの両側にオレンジ色の矢印が表示されます。左側の矢印では新規サービスを追加できます。右側の矢印では新規参照を追加できます。

  3. 右の矢印をクリックしてドラッグします。

    緑色のリンクが表示され、BPMNプロセスによって公開されたサービスなど、コンポジット内のコンポーネントによって公開されたすべてのサービスが緑色になります。

  4. パートナ・リンクとして追加するBPMNプロセスのサービスでリンクをドロップします。

15.6.2 BPELプロセスでのパートナ・リンクとしてのBPMNプロセスの追加時に行われる処理

BPMNプロセスはBPELプロセスのパートナ・リンクとして表示され、BPELプロセスからBPMNプロセスを起動できます。

15.7 Webサービスを使用したBPMNプロセスへの接続

BPMNプロセスでプロセス・インタフェースを定義すると、Webサービスを使用してそのプロセスに接続できます。プロセス・インタフェースが定義されたBPMNプロセスはすべて、SOAコンポジットに表示されます。プロセス・インタフェースの定義の詳細は、第21章「プロセス・インタフェースの定義を参照してください。

カスタムWebサービス・クライアントを使用してBPMNプロセスに接続するには、次の情報が必要です。

表15-1で、前述のURLを構成する情報について説明します。

表15-1 URLフィールドの説明

フィールド 説明

Host

BPMNサービス・エンジンが実行されているサーバー。

Port

BPMNサービス・エンジンに接続するポート。

Partition

SOAコンポジットが存在するMDSパーティション。

Composite

SOAコンポジットの名前。

Revision

コンポジットのバージョンを示すリビジョン番号。このフィールドはオプションです。リビジョンを指定しない場合、BPMNサービス・エンジンはコンポジットのデフォルトのリビジョンを使用します。

Process

BPMNプロセスの名前。


15.8 BPMプロジェクトのビルド

BPMプロジェクトは、BPMNサービス・エンジンにデプロイする前にビルドする必要があります。Oracle JDeveloperからBPMプロジェクトをビルドできます。

BPMプロジェクトをビルドすると、コンパイラ・ログ・ウィンドウに結果が表示されます。ビルドが成功すると、BPMNサービス・エンジンにデプロイできます。

エラーがある場合は、「コンパイラ」タブを選択してエラーをクリックし、対応するエディタを開いて修正できます。

15.8.1 BPMプロジェクトをビルドする方法

BPMプロジェクトをビルドするには:

  1. BPMプロジェクトを開きます。

  2. 「アプリケーション・ナビゲータ」ウィンドウをクリックします。

  3. プロジェクトと対応するファイルを右クリックします。

  4. 「プロジェクトのメイク」を選択します。

    Oracle JDeveloperは、BPMプロジェクトをコンパイルします。コンパイラ・ログ・ウィンドウに、コンパイルの結果が表示されます。

15.8.2 BPMプロジェクトをビルドした後の結果

BPMプロジェクトを正常にビルドすると、BPMNサービス・エンジンにデプロイできます。BPMプロジェクトをデプロイするプロセスは、SOAプロジェクトのデプロイと同じです。

SOAプロジェクトをデプロイする方法は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』SOAコンポジット・アプリケーションのデプロイに関する項を参照してください。