Oracle® Fusion Middleware Oracle Business Process Managementモデリングおよび実装ガイド 11g リリース1(11.1.1) B61409-01 |
|
前 |
次 |
この章では、データ・オブジェクトおよびプロジェクト・データ・オブジェクトを使用してプロセス内の情報を処理する方法について説明します。また、プロセスとともにその情報を渡す方法と、必要な場合に情報を変換する方法についても説明します。
この章の内容は次のとおりです。
一般にプロセスは、情報にアクセスして情報を格納します。多くの場合、プロセス・フローはこの情報の値に基づいています。また、この情報がプロセス内のタスクの実行結果であることもあります。
Oracle BPMでは、この情報を追跡する次のデータ構造をサポートしています。
プロセス・データ・オブジェクト
サブプロセス・データ・オブジェクト
プロジェクト・データ・オブジェクト
引数
さらに、データ・アソシエーションを使用して、異なるプロセス要素間で情報を受渡しすることができます。データ・アソシエーションを使用すると、プロジェクト・データ・オブジェクトやプロセス・データ・オブジェクトの値をフロー・オブジェクト実装の入力引数と出力引数にマッピングするための情報を渡すことができます。
プロセス・データ・オブジェクト、プロジェクト・データ・オブジェクトおよびビジネス・インジケータは、「構造」ウィンドウに表示されます。
図8-1は、ビジネス・インジケータおよびプロセス・データ・オブジェクトを定義するプロセスの「構造」ウィンドウを示しています。
基本データ・オブジェクトは、基本の型(整数、ブール、文字列など)を使用して定義されたデータ・オブジェクトです。
複合データ・オブジェクトを使用すると、データをグループ化できます。複合データ・オブジェクトは、ビジネス・オブジェクトを使用して定義します。ビジネス・オブジェクトの定義方法の詳細は、第13章「ビジネス・オブジェクトのモデリング」を参照してください。
ビジネス・オブジェクトでは、基本データ・オブジェクトに基づいてデータ構造を作成できます。たとえば、従業員名、従業員ID、従業員給与という各データ型を含む、従業員という複合データ・オブジェクトを作成できます。
複合データ・オブジェクトの構造は、プロセスのいずれのプロセス・インスタンスでも同じです。ただし、一般に複合データ・オブジェクトに含まれるデータはプロセス・インスタンスによって異なります。
図8-2は、基本データ・オブジェクトと複合データ・オブジェクトの関係を示しています。
ビジネス・プロセスの主要要素は、タスクおよびそれらのタスクに関連する情報です。プロセスの情報は、プロセスを実行するたびに変わることがあります。この情報は、特定の時点でのプロセスの状態を定義します。
この情報により、特定のインスタンスに対するプロセスの動作が決まります。インスタンスがとる経路はこの情報の値によって変わることがあります。この情報を監視したり、外部システムに格納することができます。
プロセスの情報はプロセスの実行のたびに変わることがあります。この情報は、特定の時点でのプロセスの状態を定義します。
営業見積サンプル・プロセスでは、次の情報が使用されます。
承認フロー
承認条件結果
見積
Oracle BPMでは、プロセスに関連する情報を格納するためにデータ・オブジェクトが使用されます。これらの変数の値は、プロセスを実行するたびに変わることもあります。
Oracle BPMのデータ・オブジェクトは次のような特性を持ちます。
データ・オブジェクトを識別する名前
変数に格納可能なデータ型を決定するデータ型。
データ・オブジェクトには、作成した各プロセス・インスタンスに関連する情報が格納されます。これらのデータ・オブジェクトの値はプロセス内のインスタンスごとに異なります。ただし、データ・オブジェクトの構造はいずれのプロセス・インスタンスでも同じです。
プロセスを定義する際は、情報を格納するデータ・オブジェクトを定義する必要があります。また、プロセスのどの部分でこれらのデータ・オブジェクトに値を割り当てるかを定義する必要もあります。データ・オブジェクトの値はユーザー入力や外部システムから提供されることも、他のデータ・オブジェクトに基づいて計算されることもあります。
インスタンスを作成すると、プロセス・エンジンによって、そのプロセスに定義されているすべてのデータ・オブジェクトのデフォルト値としてNULLが割り当てられます。その後、プロセス内のアクティビティによってこれらの変数に値が割り当てられます。
受注プロセスにおいては、注文ごとに合計金額、支払タイプおよび顧客IDがあります。このデータは、このプロセス情報を格納するデータ・オブジェクトを定義することによりモデリングできます。
データ・オブジェクトのタイプは、次のデータ型に設定できます。
文字列
整数
ブール
実数
小数
時間
間隔
バイナリ
コンポーネント
データ・オブジェクトを自動的に初期化されるように構成した場合、BPMNエンジンによってこのデータ・オブジェクトにデフォルト値が割り当てられます。デフォルト値は、データ・オブジェクトのタイプによって異なります。
表8-1に、サポートされているデータ型のデフォルト値を示します。
作業対象のプロセスに新規のプロセス・データ・オブジェクトを追加できます。また、これらのデータ・オブジェクトを編集または削除することもできます。
通常、プロセス内のサービスによってプロセス内のデータ・オブジェクトの値が変更されますが、データ・オブジェクトに初期値を割り当てたり、プロセス中にデータ・オブジェクトの値を変更することもできます。
プロセス・データ・オブジェクトを追加するには:
BPMプロジェクト・ナビゲータで、データ・オブジェクトを追加するプロセスを選択します。
「構造」ウィンドウで「プロセス・データ・オブジェクト」ノードを右クリックします。
「新規」を選択します。
データ・オブジェクトを識別する名前を入力します。
「タイプ」リストからタイプを選択します。リストにないタイプを選択する場合は、「その他のタイプを参照します。」ボタンをクリックします。
オプションで、「自動初期化」を選択して、データ・オブジェクトをデフォルト値で初期化します。
「OK」をクリックします。
注意: また、シンプルな式ビルダー、XPath式ビルダーおよび「データ・アソシエーション」ダイアログで、「データ・オブジェクト」ツリーからプロセス・データ・オブジェクトを追加することもできます。 |
既存のプロセス・データ・オブジェクトの名前およびタイプを変更できます。
プロセス・データ・オブジェクトを編集するには:
BPMプロジェクト・ナビゲータで、編集するデータ・オブジェクトを含むプロセスを選択します。
「構造」ウィンドウで、「プロセス・データ・オブジェクト」ノードを展開します。
編集するデータ・オブジェクトを右クリックします。
「編集」を選択します。
データ・オブジェクトの名前とタイプを編集するためのダイアログが表示されます。
必要な変更を行います。
「OK」をクリックします。
使用しないデータ・オブジェクトや不要なデータ・オブジェクトは削除できます。
データ・オブジェクトを削除するには:
BPMプロジェクト・ナビゲータで、編集するデータ・オブジェクトを含むプロセスを選択します。
「構造」ウィンドウで、「プロセス・データ・オブジェクト」ノードを展開します。
編集するデータ・オブジェクトを右クリックします。
「削除」を選択します。
確認のメッセージが表示されます。
「OK」をクリックします。
スクリプト・タスクを使用して、プロセス・データ・オブジェクトに特定の値を割り当てることができます。
プロセス・データ・オブジェクトに値を割り当てるには:
プロセス・エディタで、スクリプト・タスクをプロセスに追加します。
スクリプト・タスクの実装プロパティを編集します。
データ・アソシエーションまたは変換を定義して、値をプロセス・データ・オブジェクトに割り当てます。
データ・アソシエーションの定義方法の詳細は、8.13項「データ・アソシエーションの概要」を参照してください。
変換の定義方法の詳細は、8.14項「変換の概要」を参照してください。
一部のデータは、プロセスのステータスと同様に、定義したすべてのプロセスに適用されます。このデータを使用して、値に基づいてイベントをトリガーしたり、サービスへの入力としてデータを提供することができます。どちらの場合も、プロセス・フローはこのデータの値に依存します。
Oracle BPMでは、事前定義済のアクティビティ・インスタンス属性セットを使用してこのデータが追跡されます。これらのアクティビティ・インスタンス属性には、通常のデータ・オブジェクトへのアクセスと同じ方法でアクセスできます。ただし、これらの属性に新しい値を割り当てることはできません。
アクティビティ・インスタンス属性には、次のコンポーネントからアクセスできます。
データ・アソシエーション
シンプルな式ビルダー
XPath式ビルダー
表8-2に、様々なプロセス要素に対して使用可能なアクティビティ・インスタンス属性の詳細情報を示します。
表8-2 アクティビティ・インスタンス属性
名前 | タイプ | 説明 | アベイラビリティ |
---|---|---|---|
state |
文字列 |
インスタンスの状態を指定します。 可能な値は次のとおりです:
|
複合ゲートウェイで |
loopCounter |
整数 |
エンジンがこのアクティビティを実行した回数を指定します。プロセス・エンジンは、新しいループを実行するたびにこの変数を更新します。 |
ループ・マーカーを使用するアクティビティ。 |
loopCounter |
整数 |
このアクティビティの各アクティブ化を識別する順序番号を指定します。BPMNエンジンは、アクティビティを実行する際にこの番号を各アクティブ化に割り当てます。 |
マルチインスタンス・マーカーを使用するアクティビティで。 |
numberOfInstances |
整数 |
マルチインスタンス・アクティビティに対して作成されるアクティブ化の数を指定します。この値には、メイン・インスタンスからのみアクセスできます。 |
マルチインスタンス・マーカーを使用するアクティビティで。 |
numberOfActiveInstances |
整数 |
マルチインスタンス・アクティビティのアクティブな内部インスタンスの数を指定します。この値には、メイン・インスタンスからのみアクセスできます。 連続するマルチインスタンス・アクティビティの場合、この値は1または0です。 パラレルなマルチインスタンス・アクティビティの場合、この値は、事前定義済のデータ・オブジェクトnumberOfInstancesで指定されている値以下となります。 |
マルチインスタンス・マーカーを使用するアクティビティで。 |
numberOfCompletedInstances |
整数 |
マルチインスタンス・アクティビティの完了済の内部インスタンスの数を指定します。この値には、メイン・インスタンスからのみアクセスできます。 |
マルチインスタンス・マーカーを使用するアクティビティで。 |
numberOfTerminatedInstances |
整数 |
マルチインスタンス・アクティビティの終了された内部インスタンスの数を指定します。この値には、メイン・インスタンスからのみアクセスできます。 |
マルチインスタンス・マーカーを使用するアクティビティで。 |
activationCount |
整数 |
ゲートウェイの受信シーケンス・フロー内のトークンの数を指定します。 |
複合ゲートウェイで。 |
一部のプロセス要素では、アクティビティ・インスタンス属性がサポートされています。これらのアクティビティ・インスタンス属性を使用して、プロセスのフローを制御できます。通常、アクティビティ・インスタンス属性の値はプロセス・エンジンにより割り当てられますが、ユーザーが値を割り当てる必要のあるアクティビティ・インスタンス属性もあります。
特定のサブプロセスに対してデータ・オブジェクトを定義できます。これらのデータ・オブジェクトは、そのサブプロセスの実行中にのみ使用できます。インスタンスがサブプロセスを終了すると、サブプロセス・データ・オブジェクトの値は失われます。
サブプロセス・データ・オブジェクトを使用すると、次のような利点があります。
メイン・プロセス内の不要なデータ・オブジェクトの数が減るため、メイン・プロセスが単純になり、可読性も向上します。
プロセス・データ・オブジェクトの数が減るため、各プロセス・インスタンスが占有するメモリーが減ります。
サブプロセスを理解しやすくなります。
サブプロセス内から、プロセス・データ・オブジェクトおよびサブプロセス・データ・オブジェクトにアクセスできます。サブプロセス・データ・オブジェクトの名前がプロセス・データ・オブジェクトの名前と一致している場合、データ・オブジェクトにアクセスすると、サブプロセス・データ・オブジェクトの値が取得されます。
サブプロセスに新規のプロジェクト・データ・オブジェクトを追加できます。必要に応じて、プロジェクト・データ・オブジェクトを編集または削除できます。
サブプロセスにデータ・オブジェクトを追加できます。このデータ・オブジェクトには、サブプロセス内からのみアクセスできます。
データ・オブジェクトをサブプロセスに追加するには:
BPMプロジェクト・ナビゲータで、データ・オブジェクトを追加するサブプロセスが含まれるプロセスを選択します。
「構造」ウィンドウで、「アクティビティ」ノードを展開します。
サブプロセスに対応するノードを展開します。
サブプロセス・ノードの下にある「データ・オブジェクト」ノードを右クリックします。
「新規」を選択します。
新規のデータ・オブジェクトを識別する名前を入力します。
タイプを選択します。リストにないタイプを選択する場合は、「その他のタイプを参照します。」ボタンをクリックします。
オプションで、「自動初期化」を選択して、データ・オブジェクトをデフォルト値で初期化します。
「OK」をクリックします。
既存のサブプロセス・データ・オブジェクトの名前およびタイプを変更できます。
サブプロセス内のデータ・オブジェクトを編集するには:
BPMプロジェクト・ナビゲータで、編集するデータ・オブジェクトを使用するサブプロセスが含まれるプロセスを選択します。
「構造」ウィンドウで「アクティビティ」ノードを展開します。
「構造」ウィンドウで、「アクティビティ」ノードを展開します。
サブプロセスに対応するノードを展開します。
サブプロセス・ノードの下にある「データ・オブジェクト」ノードを展開します。
編集するデータ・オブジェクトを右クリックします。
「編集」を選択します。
データ・オブジェクトの名前とタイプを編集するためのダイアログが表示されます。
必要な変更を行います。
「OK」をクリックします。
不要なサブプロセス・データ・オブジェクトや使用しないサブプロセス・データ・オブジェクトは削除します。削除したデータ・オブジェクトを使用するフロー・オブジェクトがサブプロセス内にある場合は、これらの参照を手動で削除する必要があります。
サブプロセスからデータ・オブジェクトを削除するには:
BPMプロジェクト・ナビゲータで、削除するデータ・オブジェクトを使用するサブプロセスが含まれるプロセスを選択します。
「構造」ウィンドウで、「アクティビティ」ノードを展開します。
サブプロセスに対応するノードを展開します。
サブプロセス・ノードの下にある「データ・オブジェクト」ノードを展開します。
削除するデータ・オブジェクトを右クリックします。
「削除」を選択します。
確認ダイアログが表示されます。
「OK」をクリックします。
BPMプロジェクト内の複数のプロセスが1つのデータ・セットを共有することはよくあります。たとえば、受注プロセスとリクエスト承認プロセスの両方が、リクエストを作成した従業員またはリクエストの優先順位の値を追跡する場合などです。このデータの値は各プロセス内のインスタンスごとに異なり、両方のプロセスはそのデータを追跡する必要性を共有するのみです。
プロジェクト・データ・オブジェクトを使用すると、特定のプロジェクト内のすべてのプロセスで1つのデータ・セットが追跡されます。この場合、各プロセスでこのデータの値を割り当てて、値を更新する必要があります。
プロジェクト・データ・オブジェクトを定義することの主な利点は、プロジェクトの公開後にこれらの変数の値が表示されるようにWorkSpaceビューを構成できることです。これは、プロジェクト・データ・オブジェクトを使用した場合にのみ可能です。
もう1つの利点は、データ・オブジェクトの定義を変更する場合に、同じデータ・オブジェクトを定義するプロジェクト内のすべてのプロセスで何度も変更しなくても、1回の変更で済むということです。
注意: BPMプロジェクトのデプロイ後にプロジェクト・データ・オブジェクトのデータ型を変更することはお薦めしません。この場合、Process WorkSpaceがデータ型の変更前に作成されたインスタンスの値のレンダリングを試行すると問題が発生することがあります。 |
プロジェクト・データ・オブジェクトをビジネス・インジケータとしてマークすると、プロセス・エンジンによりその値がプロセス分析データベースに格納されます。この情報を使用して、ビジネス・プロセスのパフォーマンスを監視できます。
プロセス分析の詳細は、第11章「プロセス分析の使用」を参照してください。
作業対象のプロジェクトに新規のプロジェクト・データ・オブジェクトを追加できます。また、これらのデータ・オブジェクトを編集または削除することもできます。
プロジェクト・データ・オブジェクトを追加するには:
BPMプロジェクト・ナビゲータで、プロジェクトを選択します。
「構造」ウィンドウで「プロジェクト・データ・オブジェクト」ノードを右クリックします。
「新規」を選択します。
新規のプロジェクト・データ・オブジェクトを識別する名前を入力します。
注意: 既存のプロセス・データ・オブジェクトの名前を使用することはできません。 |
タイプを選択します。
タイプによっては、長さや小数点以下桁数を定義できます。
オプションで、「自動初期化」を選択して、プロジェクト・データ・オブジェクトをデフォルト値で初期化します。
「OK」をクリックします。
注意: また、シンプルな式ビルダー、XPath式ビルダーおよび「データ・アソシエーション」ダイアログで、「データ・オブジェクト」ツリーからプロセス・データ・オブジェクトを追加することもできます。 |
既存のプロジェクト・データ・オブジェクトの名前およびタイプを変更できます。
プロジェクト・データ・オブジェクトを編集するには:
「BPMプロジェクト・ナビゲータ」ウィンドウで、プロジェクトを選択します。
「構造」ウィンドウで、「プロジェクト・データ・オブジェクト」ノードを展開します。
編集するプロジェクト・データ・オブジェクトを右クリックします。
「編集」を選択します。
プロジェクト・データ・オブジェクトのプロパティを編集するためのダイアログが表示されます。
必要な変更を行います。
「OK」をクリックします。
使用しないプロジェクト・データ・オブジェクトや不要なプロジェクト・データ・オブジェクトは削除できます。削除したプロジェクト・データ・オブジェクトを使用するプロセスがプロジェクト内にある場合は、これらの参照を手動で削除する必要があります。
プロジェクト・データ・オブジェクトを削除する方法:
「BPMプロジェクト・ナビゲータ」ウィンドウで、プロジェクトを選択します。
「構造」ウィンドウで、「プロジェクト・データ・オブジェクト」ノードを展開します。
削除するプロジェクト・データ・オブジェクトを右クリックします。
確認のメッセージが表示されます。
「OK」をクリックします。
スクリプト・タスクを使用して、プロセス・データ・オブジェクトに特定の値を割り当てることができます。
プロジェクト・データ・オブジェクトに値を割り当てるには:
プロセス・エディタで、スクリプト・タスクをプロセスに追加します。
スクリプト・タスクの実装プロパティを編集します。
データ・アソシエーションまたは変換を定義して、値をプロジェクト・データ・オブジェクトに割り当てます。
データ・アソシエーションの定義方法の詳細は、8.13項「データ・アソシエーションの概要」を参照してください。
変換の定義方法の詳細は、8.14項「変換の概要」を参照してください。
プロセス内の異なるコンポーネント間でデータを受渡しするために引数を使用できます。
コンポーネントを起動すると、特定のデータの入力を要求されることがあります。このデータを渡すには、入力引数を使用します。
コンポーネントを実行すると、その出力引数を介して結果が提供されます。
引数を設定できるプロセス・コンポーネントは、次のとおりです。
サービス操作: サービス操作は処理のためにデータを必要とし、操作の実行結果を含むデータを提供するようにできます。コンポーネントの入力引数と出力引数がこのデータを表します。
ヒューマン・タスク: ヒューマン・タスクは実行のためにデータを必要とし、タスクの実行結果を含むデータを提供するようにできます。ヒューマン・タスクの入力引数と出力引数がこのデータを表します。
ビジネス・ルール: ビジネス・ルールでは、それに含まれるルールの評価に使用される入力が必要です。ビジネス・ルールは出力引数を使用して、この評価の結果を返します。ビジネス・ルール・タスクを使用してビジネス・ルールを実行すると、ビジネス・ルールは入力引数と出力引数を使用して、選択された意思決定機能を呼び出します。
メッセージ開始イベント: メッセージ開始イベントでは、入力引数を定義できます。プロセスがサブプロセスとして使用されていて、サブプロセスが起動側プロセスからデータを受け取る場合、入力引数を開始イベントに追加できます。これらの入力引数は、あるプロセスが別のプロセスにより起動された場合に必要となるデータを表します。
メッセージ終了イベント: メッセージ終了イベントでは、出力引数を定義できます。プロセスがサブプロセスとして使用されていて、サブプロセスがそれを起動したプロセスに情報を渡す場合、入力引数を終了イベントに追加できます。これらの出力引数は、プロセス実行の結果としてのデータを表します。
キャッチ・イベント: キャッチ・イベントでは、プロセス・インタフェースを定義する入力引数と出力引数を定義できます。プロセス・インタフェースにより公開される操作が非同期の場合、入力引数のみを定義できます。公開される操作が同期の場合、入力引数と出力引数を定義できます。
スロー・イベント: スロー・イベントでは、プロセス・インタフェースを定義する入力引数と出力引数を定義できます。プロセス・インタフェースにより公開される操作が非同期の場合、出力引数のみを定義できます。公開される操作が同期の場合、入力引数と出力引数を定義できます。
データ・オブジェクト、プロジェクト・データ・オブジェクトまたは引数に名前を付ける際には、次のルールに従う必要があります。
1つ以上の名詞、または形容詞で修飾された名詞を使用します。
名前の最初の文字を数字にすることはできません。
大文字は内部の単語を区別する目的のみで使用します。
常に簡単でわかりやすい名前を使用します。
単語全部を使用します。省略語は、広く認知されている場合を除いて使用しないようにします。
スコープおよびアクセスは、情報の格納に使用される構造によって異なります。
プロセス・データ・オブジェクト: プロセス・データ・オブジェクトには、プロセス内の任意のタスクからアクセスできます。プロセス・データ・オブジェクトは、プロセス・エンジンがプロセス内にインスタンスを作成するときに作成されます。通常、プロセス・データ・オブジェクトの値は、プロセス内のインスタンスごとに異なります。インスタンスが終了イベントに到達すると、それ以降はプロセス・データ・オブジェクトにアクセスできません。
サブプロセス・データ・オブジェクト: サブプロセス・データ・オブジェクトには、サブプロセス内の任意のタスクからアクセスできます。サブプロセス・データ・オブジェクトは、サブプロセスがトリガーされたときにプロセス・エンジンによって作成されます。インスタンスがサブプロセスを終了すると、これらのデータ・オブジェクトは使用できなくなります。
プロジェクト・データ・オブジェクト: プロジェクト・データ・オブジェクトはプロジェクト・レベルで定義できますが、プロジェクト・データ・オブジェクトのスコープはプロセスです。プロジェクト・データ・オブジェクトは、BPMプロジェクト内のすべてのプロセスに対して事前に定義されています。プロジェクト・データ・オブジェクトの値は、プロセス間で異なることがあります。通常、プロジェクト・データ・オブジェクトの値は、プロセス内のインスタンスごとに異なります。プロジェクト・データ・オブジェクトにはプロジェクト内の任意のプロセスからアクセスできますが、プロセス中にオブジェクトに割り当てられた値は、プロセスで実行が完了すると失われます。図7-12に、プロジェクト・データ・オブジェクトのスコープと存続期間の違いを示します。
引数: 引数には、データ・アソシエーション内からのみアクセスできます。引数を使用して、プロセスまたはプロセス・コンポーネント間で情報を受渡しします。プロセス・エンジンは、データ・アソシエーションを含むプロセスまたはプロセス要素を実行するとき、データ・アソシエーション内に定義されているデータ・オブジェクトに引数の値をマッピングします。
データ・アソシエーションは、データ・オブジェクトに格納された情報を次のものとの間で受渡しするために使用します。
BPMNプロセスから起動された別のプロセスまたはサービス
ヒューマン・タスク・サービス
Oracle Business Rule
スクリプト・タスク。このBPMNフロー・オブジェクトは、データ・アソシエーションを介してデータ・オブジェクトを受渡しするために使用します。
表8-3に、データ・アソシエーションを定義できるフロー・オブジェクトをリストしています。また、実装されるオブジェクトもリストしています。
表8-3 データ・アソシエーションを受け入れるフロー・オブジェクト
フロー・オブジェクト | 実装 |
---|---|
メッセージ開始および終了イベント |
サービスおよびその他のBPMNプロセス |
メッセージ・スロー・イベントおよびキャッチ・イベント |
サービスおよびその他のBPMNプロセス |
送信タスクおよび受信タスク |
サービスおよびその他のBPMNプロセス |
スクリプト・タスク |
実装は含みません。データ・アソシエーションを介してデータ・オブジェクトを受渡しするために使用します。 |
ユーザー・タスク |
Oracle Human Tasks |
ビジネス・ルール・タスク |
Oracle Business Rules |
サービス・タスク |
サービスおよびBPMNプロセス |
データ・アソシエーションを使用して、フロー・オブジェクトから外部サービスまたはプロセスへの入力と出力を定義できます。
入力と出力はフロー・オブジェクトのデータ・アソシエーション内に定義しますが、定義済の値は実装されたシステムおよびサービスに渡されることに注意してください。
式を使用して、入力値と出力値を評価および変更できます。
データ・アソシエーション・エディタを使用すると、フロー・オブジェクトとその実装の間で受渡しされる入力値と出力値を構成できます。
図8-5は、営業見積サンプルにおける見積入力ユーザー・タスクのデータ・アソシエーションを示しています。
表8-4で、データ・アソシエーション・エディタの各領域について説明します。
表8-4 データ・アソシエーション・エディタのユーザー・インタフェース
UI領域 | 説明 |
---|---|
入力 |
フロー・オブジェクト内に実装されるサービスまたはプロセスへの入力として割り当てられたデータ・オブジェクトを表示するテキスト・ボックスが表示されます。各テキスト・ボックスの横には、式エディタを起動するアイコンがあります |
フロー・オブジェクト・インタフェース |
実装されるサービスまたはプロセスに必要な入力引数がリストされます。また、入力および出力として提供されたデータ・オブジェクトの展開可能なリストも表示されます。フロー・オブジェクトの領域では、複合データ・オブジェクト内の特定の基本データ・オブジェクトにマップする複合データ・オブジェクトを展開できます。 |
出力 |
フロー・オブジェクト内に実装されるサービスまたはプロセスからの出力として割り当てられたデータ・オブジェクトを表示するテキスト・ボックスが表示されます。 |
データ・オブジェクト |
すべてのデータ・オブジェクトのリストが表示されます。このリストは、プロセス・データ・オブジェクトとプロジェクト・データ・オブジェクトの間が分割されます。 |
XSL変換を使用して、次の値を変換できます。
プロセス内のデータ・オブジェクトの値(フロー・オブジェクトの実装に入力引数としてデータ・オブジェクトを渡す前)。
フロー・オブジェクト実装の出力引数の値(プロセス内のデータ・オブジェクトに割り当てる前)。
変換をデータ・アソシエーションを組み合せて使用できるのは、それらを異なる引数に適用する場合のみです。
注意: 変換とデータ・アソシエーションを使用して同時に1つの引数の値をマッピングすることはできません。 |
変換を定義する際は、XMLスキーマまたはタイプを使用して作成したビジネス・オブジェクトに基づくデータ・オブジェクトのみをソースとして使用できます。
作成した変換は、SOA XLSエディタを使用して編集できます。SOA XLSエディタの使用方法の詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。
XSL変換を使用してフロー・オブジェクトの実装の入力引数と出力引数に割り当てる値を変更できます。
XSLT変換を定義して、フロー・オブジェクトの実装との間で受渡しするデータを変換できます。
変換を定義するには:
フロー・オブジェクト実装のプロパティを編集します。
「変換の使用」を選択します。
「XSL変換の編集」ボタンをクリックします。
「変換」ダイアログが表示されます。
変換する引数値に応じて入力または出力をクリックします。
「追加」をクリックします。
「変換」ダイアログが表示されます。
「ソース」リストからソースを選択します。
「ソース」リストには、XMLスキーマまたはタイプを使用して作成したビジネス・オブジェクトに基づくデータ・オブジェクトのみが表示されます。
「追加」をクリックします。
「選択された要素」リスト内にソースが表示されます。
「ターゲット」リストから、変換の結果を割り当てるターゲットを選択します。
「変換」セクションで、変換を定義する方法を選択します。
作成: 新規の変換が作成され、変換を定義するためのSOA変換エディタが開きます。
既存のものを使用: プロジェクトXSLディレクトリにコピーした既存の変換を選択できます。