15 BPMプロジェクトを使用したSOAコンポジットの使用
SOAコンポジットは、BPMNプロセスとBPMプロジェクトの他のコンポーネント間の依存関係を示します。SOAコンポジットを使用して、BPMNプロセスを設計し、他のSOAコンポーネントと統合します。
15.1 SOAコンポジットの概要
SOAコンポジットは、相互関係を持つコンポーネントをグループ化し、異なるテクノロジを単一のアプリケーションに統合できます。コンポジットは単一のデプロイメントおよび管理モデル、エンドツーエンドのデータ・セキュリティ、およびそれに含まれるコンポーネントに統合されたメタデータ管理を提供します。
BPMプロジェクトではSOAテクノロジを使用します。それらは、SOAコンポジット・プロジェクトであり、BPMNコンポーネント・タイプおよびカレンダや組織単位などのBPMNコンポーネントに関連する構成も含まれています。プロジェクトはこのコンポジットを使用して、BPMプロジェクト内の異なるコンポーネントとそれらが公開するサービス間の関係を説明する情報を格納します。
BPMNプロセスはSOAコンポジット内のコンポーネントです。SOAコンポジット・エディタを使用して、BPMNプロセスがSOAコンポジット内の残りのコンポーネントとどのように関連しているかを表示できます。
BPMプロジェクトのSOAコンポジットは、次を示します。
-
BPMプロジェクトで使用できるSOAコンポーネント
-
BPMプロジェクトでのBPMNプロセスおよびBPELプロセス
-
SOAコンポーネントとプロセス間の関係
SOAコンポジットに、サービスを公開するコンポーネントまたは外部参照が含まれている場合、これらはビジネス・カタログに表示されます。ビジネス・カタログの詳細は、「ビジネス・カタログの使用」を参照してください。
SOAコンポジットにコンポーネントを追加すると、BPMプロジェクトで使用できるように、ビジネス・カタログに自動的に表示されます。
再使用可能なプロセスは、SOAコンポジットに表示されません。ビジネス・プロセスを変更して再使用可能なプロセスに変換すると、SOAコンポジットに表示されなくなります。再使用可能なサブプロセスの詳細は、「コール・アクティビティを使用したプロセス起動の概要」を参照してください。
SOAコンポジットは、BPMプロジェクトをデプロイするのに使用する単位です。SOAコンポジットに表示されるコンポーネントおよび依存関係は、プロジェクトのデプロイ方法を指定します。SOAコンポジットからプロセスまたはワイヤを削除すると、これらがBPMプロジェクトにまだ表示されていても、プロジェクトのデプロイ時に無視されます。
15.1.1 SOAコンポジットとSOAコンポーネント間の関係の理解
BPMプロジェクトを実行すると、SOAエンジンはSOAコンポジット・インスタンスを作成します。SOAコンポジット・インスタンスには、SOAコンポーネントのインスタンスが含まれています。ただし、参照コンポーネントは自動的には作成されません。サービスにリンクされているインスタンスは、そのサービスが呼び出され、その結果としてコンポジットが作成されるときに作成されます。BPMNプロセスに結び付けられているヒューマン・タスクの場合、BPMNプロセス・インスタンスはそのBPMNプロセスがトリガされたときに作成されます。
15.1.2 SOAコンポーネントの使用
SOAコンポジットでサービスとして公開されたすべてのSOAコンポーネントおよび外部参照は、ビジネス・プロジェクト内のビジネス・カタログに表示されます。
既存のSOAプロジェクトに基づいてBPMプロジェクトを作成した場合、SOAプロジェクトでサービスとして公開されたすべてのコンポーネントおよび外部参照は、ビジネス・カタログに自動的に表示されます。
実装でコンポーネントを使用するBPMNプロセスにアクティビティがある場合、SOAコンポジットは、BPMNプロセスとコンポーネント間のワイヤを示します。
ワイヤは、サービスと参照間の関係を表します。BPMNプロセスを保存すると、Oracle BPM Studioは、BPMNプロセスとそれが使用するコンポーネント間のワイヤを自動的に更新します。サービスは、コンポーネントが公開するインタフェースを表します。参照は、コンポーネントが必要とするサービス・インタフェースを表します。
BPMNプロセスのアクティビティのいくつかは、実装するにはそれらにSOAコンポーネントを割り当てることを必要とします。これらのコンポーネントの多くでは、それらをOracle BPM Studioユーザー・インタフェースから追加するのか、SOAコンポジット・エディタを使用するのかを選択できます。SOAコンポジット・エディタから、BPMプロジェクトに次のSOAコンポーネントを追加できます。
-
サービス・アダプタ
-
ヒューマン・タスク
-
ビジネス・ルール
-
メディエータ
-
BPELプロセス
メディエータおよびBPELプロセスは、SOAコンポジット・エディタからのみ使用できます。
SOAコンポジットに追加されたSOAコンポーネントがそれ自身をサービスとして公開する場合、コンポーネントはビジネス・カタログに表示されます。BPMNプロセスにアクティビティを実装するビジネス・カタログ内のすべてのコンポーネントを使用できます。BPMNアクティビティの実装方法の詳細は、次の部にある章を参照してください。
15.1.3 SOAコンポジット内のBPMNプロセス
BPMNプロセスを追加すると、SOAコンポジットに自動的に追加されます。BPMプロセスは、SOAコンポジット内のコンポーネントとして表示されます。
BPMNプロセスにタイプ・メッセージの開始イベントが含まれる場合、プロセスのインタフェースは、公開されたサービスとして表示されます。
SOAコンポジットは、BPMプロジェクトが使用する異なるコンポーネントにプロセスがどのように依存するかを示します。プロジェクトのアクティビティが、実装のためにSOAコンポーネントによって公開されたサービスを使用する場合、SOAコンポーネントは、公開されたサービスとBPMNプロセスの間に線を表示します。この線は、BPMNプロセスと公開されたサービスをリンクするワイヤを表します。
15.2 BPMプロジェクトでSOAコンポジットを開く
BPMプロジェクトはSOAプロジェクトの上に配置されます。SOAプロジェクトにはSOAコンポジットが含まれています。SOAコンポーネントをBPMプロジェクトに追加するには、SOAコンポジット・エディタを使用する必要があります。
SOAコンポジットに追加したSOAコンポーネントは、BPMプロジェクトのビジネス・カタログに自動的に表示されます。
15.3 BPMプロジェクトでSOAコンポジットからBPMNプロセスを開く
BPMプロジェクトではSOAテクノロジを使用するため、BPMプロジェクトにはSOAコンポジットが含まれています。SOAコンポジット・エディタを使用して、BPMプロセスとBPMプロジェクト内の他のコンポーネントとの依存関係を表示できます。
また、新しいコンポーネントをBPMプロジェクトに追加することもできます。
15.4 SOAコンポジット・エディタからのBPMNプロセスの追加
新しいBPMNプロセスをSOAコンポジット・エディタから直接追加できます「アプリケーション」ウィンドウに切り替える必要はありません。
BPMNプロセスを追加すると、BPMNプロセスはSOAコンポジット・エディタでコンポーネントとして表示されます。新規プロセスは、「アプリケーション」ウィンドウの「プロセス」フォルダに表示されます。作成後、BPMNプロセスを右クリックして「編集」を選択するか、ダブルクリックして編集できます。
15.4.1 SOAコンポジット・エディタからBPMNプロセスを追加する方法
ビジネス・アプリケーション・インフラストラクチャの分析中にBPMNプロセスの必要性を識別する場合、SOAコンポジット・エディタを開いた状態で、BPMNプロセスを直接追加できます。
SOAコンポジット・エディタからBPMNプロセスを追加するには:
-
SOAコンポジット・エディタを開きます。
-
「コンポーネント」ウィンドウの「コンポーネント」セクションから、「BPMNプロセス」を選択します。
-
SOAコンポジット・エディタの「コンポーネント」領域に、選択したコンポーネントをドラッグします。
BPMN 2.0プロセス・ウィザードが表示されます。
15.5 SOAコンポジットを使用したBPELプロセスとの統合
SOAコンポジット・エディタでは、プロジェクトのBPELプロセスおよびBPMNプロセスを示します。コンポジット・エディタを使用して、BPELプロセスとBPMNプロセスとの統合を設計できます。
BPELプロセスからBPMNプロセスを使用するには、BPELプロセスのパートナ・リンクとしてBPMNプロセスを追加する必要があります。BPELプロセスのパートナ・リンクとしてBPMプロセスを追加するには、SOAコンポジット・エディタを使用する必要があります。パートナ・リンクとしてBPMNプロセスを追加すると、BPELエディタを使用して、BPMNプロセスをBPELプロセスのアクティビティにリンクできます。
BPMNプロセスからBPELプロセスを使用するには、BPELプロセスをSOAコンポジットに追加する必要があります。これを行うと、BPELプロセスはビジネス・カタログに表示されます。ビジネス・カタログでBPELプロセスを使用して、BPMNプロセスにアクティビティを実装できます。
15.6 BPELプロセスでのパートナ・リンクとしてのBPMNプロセスの追加
BPELプロセスからBPMNプロセスを使用するには、パートナ・リンクとしてBPMNプロセスを追加する必要があります。
その後、BPELエディタを使用して、BPELプロセスのアクティビティからBPMNプロセスを起動できます。
15.7 Webサービスを使用したBPMNプロセスへの接続
BPMNプロセスでプロセス・インタフェースを定義すると、Webサービスを使用してそのプロセスに接続できます。プロセス・インタフェースが定義されたBPMNプロセスはすべて、SOAコンポジットに表示されます。
プロセス・インタフェースの定義の詳細は、「プロセス・インタフェースの定義」を参照してください。
カスタムWebサービス・クライアントを使用してBPMNプロセスに接続するには、Oracle Enterprise Managerにログインし、そのコンポジットのダッシュボード・ページから行う必要があります。このページにはWSDL URLへのリンクが含まれます。WSDLには、BPMNプロセスへの接続に必要なサービスの場所情報が含まれています。