Oracle® Fusion Middleware Oracle Business Process Management Studioでのビジネス・プロセスの開発 12c (12.2.1.2.0) E82789-01 |
|
![]() 前 |
![]() 次 |
この章では、相関を使用して他のBPMNプロセスおよびサービスと通信するBPMNプロセスの開発方法について説明します。相関は、ピア・プロセスでメッセージを受信するインスタンスの識別に使用されます。
この章の内容は次のとおりです。
相関を使用すると、インスタンスの状態に基づいてビジネス・プロセスが相互に通信できます。プロセス内のすべてのプロセス・データ・オブジェクトの状態によって、インスタンスの状態が定義されます。
ビジネス・プロセスの相関を定義すると、インスタンスの状態によって他のプロセス内のインスタンスを識別したり、特定のインスタンスにメッセージを送信できます。
たとえば、販売プロセスと、対応する出荷およびメール送信プロセスとの通信に相関を使用できます。顧客が注文を確認すると、出荷プロセスは、注文IDを使用して両方のプロセスのインスタンスを検索するように定義する相関を使用し、出荷およびメール送信プロセスにメッセージを送信します。
相関を初期化した後は、サービス・エンジンがインスタンスを見つけるためにこの値を使用するため、値を変更できなくなります。相関に新しい値を割り当てようとすると、相関違反エラーが発生します。
フロー・オブジェクトの複数の相関を定義および初期化できます。メッセージを送信するフロー・オブジェクトは、フロー・オブジェクト用に定義された1つのみまたはすべての相関を使用できます。すべての既存の相関を使用する場合は、メッセージとともに送信するすべての値で同一インスタンスが識別される必要があります。
サービス・タスクなどのいくつかのフロー・オブジェクトは、2つのタイプの相関(入力および出力)を定義します。このような場合、同じアクティビティで相関を初期化して使用できます。
相関のスコープは、相関が定義されているプロセスまたはサブプロセスのインスタンスです。マルチインスタンス・ループ状態のサブプロセスの場合、相関のスコープはマルチインスタンス・サブプロセスの各インスタンスです。
注意:
相関を使用して1つのフロー内のサブプロセスと通信してください。フローがパラレルの場合は、会話を使用する必要があります。会話の詳細は、「会話の定義」を参照してください。
注意:
相関ID重複のチェックはありません。そのため、Oracle BPMでは、相関IDがすでに使用されていても、初期化中にエラーはスローされません。
相関のコンポーネントには、定義、キー、プロパティおよびプロパティ・エイリアスが含まれます。
次の一覧で、相関の様々なコンポーネントについて説明します。
相関定義
フロー・オブジェクト用に定義された相関キーのセットが含まれています。
相関キー
相関で使用するプロパティを定義します。相関キーを定義する場合は、識別するための名前を指定します。相関キーのスコープはプロジェクトであるため、相関キーを定義した後は、プロジェクト内のフロー・オブジェクトの相関定義にそれを使用できようになります。
BPMプロジェクトにBPELプロセスが含まれる場合は、BPELプロセスで定義された相関キーがBPMプロジェクト内での再利用のために自動的に表示されます。
相関プロパティ
プロパティは、注文ID、顧客名、社会保障番号など、プロセス内の非常に典型的な属性の抽象概念です。プロパティには、属性およびデータ型を識別するための名前が含まれています。プロパティは、基本のデータ型のみをサポートします。
相関プロパティ・エイリアス
式を使用して相関プロパティに値を割り当てる方法を定義できます。アクティビティの引数および事前定義済変数を使用して、相関プロパティ・エイリアスに値を割り当てることができます。
1つのフロー・オブジェクトに対して複数の相関を定義できます。メッセージを送信するフロー・オブジェクトでは、相関を1つのみ使用するかすべて使用するかを選択できます。後者の場合、相関の起動に使用する値によって、同一インスタンスが識別されます。
ビジネス・プロセスの通信に使用する次のBPMNフロー・オブジェクトの相関を定義できます。
メッセージ・イベント
送信タスクおよび受信タスク
シグナル・イベント
注意:
マルチキャスト・サブスクリプションの使用は、すべてのメッセージ・ベースの相関に影響を与えます。Oracle EDNに対してマルチキャスト・サブスクリプションを定義する場合、すべてのメッセージ・ベースの相関はマルチキャストです。
フロー・オブジェクトのプロパティの定義中に、相関を定義できます。Studioには、簡易モードおよび拡張モードという、相関を定義するための2つのモードがあります。含まれるプロパティが1つのみの相関を定義する場合は、簡易モードを使用します。定義する相関に、それぞれ複数のプロパティを持つ複数の相関キーが含まれる場合は、拡張モードを使用します。
フロー・オブジェクトの相関を定義するには:
簡易モードを使用すると、含まれるプロパティが1つのみの相関を定義できます。このモードでは、そのプロパティ用に定義される情報に基づいて相関部分を自動的に作成することで、相関の定義を簡略化します。
簡易モードを使用して相関を定義するには:
「プロパティ」リストから、プロパティを選択します。
「プロパティ」リストが空白の場合は、次の手順で新しいプロパティを作成します。
「プロパティ」リストの隣にある「新規」ボタンをクリックします。
名前を入力します。
タイプを選択します。
使用可能なタイプは、「文字列」、「整数」、「倍精度浮動小数点」、「小数」、「ブール」、「時間」です。
BPMN要素で相関の値を開始する場合は、「開始」を選択します。
「相関プロパティ・エイリアス」テキスト・ボックスで、相関プロパティに値を割り当てるための式を定義します。
複雑な式を定義するには、「相関プロパティ・エイリアス」テキスト・ボックスの隣にある「式ビルダー」ボタンをクリックします。詳細は、「式の記述」を参照してください。
「OK」をクリックします。
拡張モードを使用すると、複数の相関プロパティを持つ複数の相関キーを定義できます。
拡張モードを使用して相関を定義する手順は次のとおりです。
「相関定義」ダイアログ・ボックスで、「拡張モードに切替え」をクリックします。
「相関キー」表が表示されます。
各相関キーに、相関を追加する手順は次のとおりです。
「追加」ボタンをクリックします。
CorrelationKeyの作成ダイアログ・ボックスが表示されます。
既存の相関キーを選択するか、「新規相関キー」ボタンをクリックして新しい相関キーを作成します。
新しい相関キーを定義する方法の詳細は、「相関キーを構成する方法」を参照してください。
BPMN要素で相関の値を開始する場合は、「開始」を選択します。
「OK」をクリックします。
「相関プロパティ・エイリアス」セクションで、表示された各プロパティに対して、相関プロパティに値を割り当てる式を定義します。
複雑な式を定義するには、プロパティ・テキスト・ボックスの隣にある「式ビルダー」ボタンをクリックします。詳細は、「式の記述」を参照してください。
「OK」をクリックします。
「相関定義」ダイアログ・ボックスが閉じて、「相関」アイコンがカラーで表示されるようになります。
プロジェクト・レベルで相関キーを定義すると、プロジェクト内の複数のプロセスで相関キーを再利用できます。また、相関キーを使用するフロー・オブジェクトを追加する前に、相関キーの作成を決定することもできます。両方の場合とも、「構造」ビューから相関キーを作成する必要があります。
注意:
ランタイム・インタフェースを使用して相関キーを更新した場合、GUIに変更が反映されていたとしても、既存のサブスクリプションは変更されていません。変更はフロー内の後続のイベントに適用可能です。
定義する相関キーを構成するプロパティを構成できます。
相関キーを構成するには:
相関名を入力します。
「相関プロパティ」リストが空白の場合や相関に使用するプロパティが定義されていない場合は、新しい相関プロパティを定義する必要があります。相関プロパティを定義する手順は次のとおりです。
「新規」ボタンをクリックします。
相関プロパティの作成ダイアログが表示されます。
相関プロパティの名前を入力します。
タイプを選択します。
使用可能なタイプは、「文字列」、「整数」、「倍精度浮動小数点」、「小数」、「ブール」、「時間」です。
「OK」をクリックします。
相関を定義する相関プロパティを選択します。
「相関プロパティ」リストから、相関に含めるプロパティを選択します。
「選択」ボタンをクリックします。
選択したプロパティが、「選択済」リストに表示されます。
「OK」をクリックします。