Oracle® Fusion Middleware Oracle Business Process Managementモデリングおよび実装ガイド 11g リリース1(11.1.1.4.0) B61409-02 |
|
前 |
次 |
この章では、SOAコンポジットを使用して、BPMNプロセスを設計し、他のSOAコンポーネントと統合する方法について説明します。SOAコンポジットは、BPMNプロセスとBPMプロジェクトの他のコンポーネント間の依存関係を示します。
この章の内容は次のとおりです。
SOAコンポジットの詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。
SOAコンポジットは、相互関係を持つコンポーネントをグループ化し、異なるテクノロジを単一のアプリケーションに統合できます。コンポジットは単一のデプロイメントおよび管理モデル、エンドツーエンドのデータ・セキュリティ、およびそれに含まれるコンポーネントに統合されたメタデータ管理を提供します。
BPMプロジェクトではSOAテクノロジを使用します。すべてのBPMプロジェクトはSOAコンポジットの上に配置されます。プロジェクトはこのコンポジットを使用して、BPMプロジェクト内の異なるコンポーネントとそれらが公開するサービス間の関係を説明する情報を格納します。
BPMNプロセスはSOAコンポジット内のコンポーネントです。SOAコンポジット・エディタを使用して、BPMNプロセスがSOAコンポジット内の残りのコンポーネントとどのように関連しているかを表示できます。
BPMプロジェクトのSOAコンポジットは、次を示します。
BPMプロジェクトで使用できるSOAコンポーネント
BPMプロジェクトでのBPMNプロセスおよびBPELプロセス
SOAコンポーネントとプロセス間の関係
SOAコンポジットに、サービスを公開するコンポーネントまたは外部参照が含まれている場合、これらはビジネス・カタログに表示されます。ビジネス・カタログの詳細は、第12章「ビジネス・カタログの使用」を参照してください。
SOAコンポジットにコンポーネントを追加すると、BPMプロジェクトで使用できるように、ビジネス・カタログに自動的に表示されます。
SOAコンポジットは、BPMプロジェクトをデプロイするのに使用する単位です。SOAコンポジットに表示されるコンポーネントおよび依存関係は、プロジェクトのデプロイ方法を指定します。SOAコンポジットからプロセスまたはワイヤを削除すると、これらがBPMプロジェクトにまだ表示されていても、プロジェクトのデプロイ時に無視されます。
BPMプロジェクトを実行すると、SOAエンジンはSOAコンポジット・インスタンスを作成します。SOAコンポジット・インスタンスには、SOAコンポジットで定義される各コンポーネントのインスタンスが含まれます。たとえば、SOAコンポジットでBPMNプロセスとヒューマン・タスクが定義されている場合、SOAコンポジット・インスタンスにはBPMNプロセス・インスタンスとヒューマン・タスク・インスタンスが含まれます。
SOAコンポジット・インスタンス内のコンポーネントは、互いに独立しています。コンポーネントのうちの1つを終了しても、SOAコンポジット・インスタンス内の他のコンポーネントには影響を与えません。BPMNプロセスのインスタンスとヒューマン・タスクのインスタンスを含むSOAコンポジット・インスタンスで、BPMNプロセス・インスタンスを終了した場合、ヒューマン・タスクは終了されません。BPMNプロセスを終了した後に、ヒューマン・タスク・インスタンスはまだ使用可能で、Oracle Worklistアプリケーションを使用してそれにアクセスすることができます。ただし、そのヒューマン・タスクが完了しても、終了済のプロセスに影響を与えません。
同様に、連続しないタイマーまたはメッセージ境界イベントがユーザー・タスクに到着すると、BPMNプロセス・インスタンスはユーザー・タスクを離れますが、関連するヒューマン・タスクは使用可能なままです。ユーザーがユーザー・タスクを完了する前に連続しないタイマーまたはメッセージ境界イベントが到着しているため、ヒューマン・タスクは未完了のままで、ワークリスト・アプリケーションを通じてそれにアクセスすることができます。ただし、そのヒューマン・タスクが実行されても、BPMNプロセスに影響を与えません。
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アクティビティの実装方法の詳細は、次の部にある章を参照してください。
BPMNプロセスを追加すると、SOAコンポジットに自動的に追加されます。BPMNプロセスは、SOAコンポジット内のコンポーネントとして表示されます。
BPMNプロセスにタイプ・メッセージの開始イベントが含まれる場合、プロセスのインタフェースは、公開されたサービスとして表示されます。
SOAコンポジットは、BPMプロジェクトが使用する異なるコンポーネントにプロセスがどのように依存するかを示します。プロジェクトのアクティビティが、実装のためにSOAコンポーネントによって公開されたサービスを使用する場合、SOAコンポーネントは、公開されたサービスとBPMNプロセスの間に線を表示します。この線は、BPMNプロセスと公開されたサービスをリンクするワイヤを表します。
SOAコンポジットのコンポーネントのステータスによって、SOAコンポジットのステータスが決まります。BPMNプロセスで例外が発生すると、SOAコンポジットのステータスは失敗としてマークされます。BPMNプロセスが例外を処理し、実行を正常に終了したとしても、SOAコンポーネントのステータスは失敗とマークされます。
BPMプロジェクトはSOAプロジェクトの上に配置されます。SOAプロジェクトにはSOAコンポジットが含まれています。SOAコンポーネントをBPMプロジェクトに追加するには、SOAコンポジット・エディタを使用する必要があります。SOAコンポジットに追加したSOAコンポーネントは、BPMプロジェクトのビジネス・カタログに自動的に表示されます。
BPMプロジェクトではSOAテクノロジを使用するため、BPMプロジェクトにはSOAコンポジットが含まれています。SOAコンポジット・エディタを使用して、BPMプロセスとBPMプロジェクト内の他のコンポーネントとの依存関係を表示したり、BPMプロジェクトに新規コンポーネントを追加できます。
BPMプロジェクト・ナビゲータへの切替えを行わずに、SOAコンポジット・エディタから直接、新規BPMNプロセスを追加できます。
ビジネス・アプリケーション・インフラストラクチャの分析中にBPMNプロセスの必要性を識別する場合、SOAコンポジット・エディタを開いた状態で、BPMNプロセスを直接追加できます。
SOAコンポジット・エディタからBPMNプロセスを追加するには:
SOAコンポジット・エディタを開きます。
コンポーネント・パレットの「サービス・コンポーネント」セクションから、「BPMNプロセス」を選択します。
SOAコンポジット・エディタの「コンポーネント」領域に、選択したコンポーネントをドラッグします。
SOAコンポジット・エディタでは、プロジェクトのBPELプロセスおよびBPMNプロセスを示します。コンポジット・エディタを使用して、BPELプロセスとBPMNプロセスとの統合を設計できます。
BPELプロセスからBPMNプロセスを使用するには、BPELプロセスのパートナ・リンクとしてBPMNプロセスを追加する必要があります。BPELプロセスのパートナ・リンクとしてBPMNプロセスを追加するには、SOAコンポジット・エディタを使用する必要があります。パートナ・リンクとしてBPMNプロセスを追加すると、BPELエディタを使用して、BPMNプロセスをBPELプロセスのアクティビティにリンクできます。BPELプロセスの編集の詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。
BPMNプロセスからBPELプロセスを使用するには、BPELプロセスをSOAコンポジットに追加する必要があります。これを行うと、BPELプロセスはビジネス・カタログに表示されます。ビジネス・カタログでBPELプロセスを使用して、BPMNプロセスにアクティビティを実装できます。
BPELプロセスからBPMNプロセスを使用するには、パートナ・リンクとしてBPMNプロセスを追加する必要があります。その後、BPELエディタを使用して、BPELプロセスのアクティビティからBPMNプロセスを起動できます。
BPELプロセスからBPMNプロセスを使用するには、まずBPELプロセスのパートナ・リンクとしてBPMNプロセスを追加する必要があります。
BPELプロセスのパートナ・リンクとしてBPMNプロセスを追加するには:
SOAコンポジット・エディタを開きます。
BPELプロセス・コンポーネントの上にマウス・ポインタを置きます。
BPELプロセス・コンポーネントの両側にオレンジ色の矢印が表示されます。左側の矢印では新規サービスを追加できます。右側の矢印では新規参照を追加できます。
右の矢印をクリックしてドラッグします。
緑色のリンクが表示され、BPMNプロセスによって公開されたサービスなど、コンポジット内のコンポーネントによって公開されたすべてのサービスが緑色になります。
パートナ・リンクとして追加するBPMNプロセスのサービスでリンクをドロップします。
BPMNプロセスでプロセス・インタフェースを定義すると、Webサービスを使用してそのプロセスに接続できます。プロセス・インタフェースが定義されたBPMNプロセスはすべて、SOAコンポジットに表示されます。プロセス・インタフェースの定義の詳細は、第21章「プロセス・インタフェースの定義を参照してください。
カスタムWebサービス・クライアントを使用してBPMNプロセスに接続するには、次の情報が必要です。
Webサービスの場所
http://host:port/soa-infra/services/partition/composite!revision/process.service
WSDLの場所
http://host:port/soa-infra/services/partition/composite!revision/process.service?WSDL
コンポジットのリスト
http://host:port/soa-infra
表23-1で、前述のURLを構成する情報について説明します。
BPMプロジェクトは、BPMNサービス・エンジンにデプロイする前にビルドする必要があります。Oracle JDeveloperからBPMプロジェクトをビルドできます。
BPMプロジェクトをビルドすると、コンパイラ・ログ・ウィンドウに結果が表示されます。ビルドが成功すると、BPMNサービス・エンジンにデプロイできます。
エラーがある場合は、「コンパイラ」タブを選択してエラーをクリックし、対応するエディタを開いて修正できます。
BPMプロジェクトをビルドするには:
BPMプロジェクトを開きます。
「アプリケーション・ナビゲータ」ウィンドウをクリックします。
プロジェクトと対応するファイルを右クリックします。
「プロジェクトのメイク」を選択します。
Oracle JDeveloperは、BPMプロジェクトをコンパイルします。コンパイラ・ログ・ウィンドウに、コンパイルの結果が表示されます。