| Oracle® Fusion Middleware Oracle Business Process Management Business Process Composerユーザーズ・ガイド 11g リリース1(11.1.1) B61410-01 |
|
![]() 前 |
![]() 次 |
この章では、Oracle Business Process Composer内でデータ・オブジェクトおよび式を使用する方法について説明します。データ・オブジェクトおよび式を使用すると、プロセス内でのデータの処理方法を定義できます。
この章は次の項で構成されています。
データ・オブジェクトは、ビジネス・プロセスで使用される情報のタイプを定義するために使用される変数です。また、この情報の値を格納するためにも使用されます。
Oracle BPMは、次の2つのタイプのデータ・オブジェクトをサポートします。
基本データ・オブジェクト
基本データ・オブジェクトは、プロセスおよびプロジェクトの中で使用できる基本的なタイプの変数です。基本データ・オブジェクトは、プロセス内で明示的に使用したり、複合データ・オブジェクトとして結合できます。
表7-1に、Oracle BPMでサポートされる基本データ・オブジェクトのタイプをリストします。
表7-1 基本データ・オブジェクト
| タイプ | 説明 |
|---|---|
|
ブール |
論理値trueまたはfalseを表します。 |
|
整数 |
整数を表します。例: 23、-10、0 |
|
小数 |
10進表記で表される数値を表します。例: 3.14、62、0.023。 |
|
実数 |
浮動小数点の数値を表します。例: 2e-1、2.3E8。 |
|
文字列 |
文字列を表します。例: "This is a string." |
|
時間 |
年-月-日 時:分:秒として表される特定の時間を表します。例: 1995-02-03 13:30:28-08:00 |
|
間隔 |
年数、月数、日数、時間数、分数、秒数として表される期間を表します。例: 1d3h30m。 |
|
バイナリ |
イメージや動画を含む、バイナリ・データの格納に使用されます。 |
複合データ・オブジェクト
複合データ・オブジェクトを使用すると、データをグループ化できます。複合データ型はビジネス・オブジェクトを使用して定義されます。
ビジネス・オブジェクトでは、基本データ・オブジェクトに基づいてデータ構造を作成できます。たとえば、従業員名、従業員ID、従業員給与という各データ型を含む、従業員という複合データ・オブジェクトを作成できます。
図7-1は、基本データ・オブジェクトと複合データ・オブジェクトとビジネス・オブジェクトの関係を示しています。
Business Process Composerでは、ビジネス・オブジェクトは作成および編集できません。ただし、テンプレートに基づいてプロジェクトを編集するときは、ビジネス・カタログに定義されたビジネス・オブジェクトに基づいて、新規の複合データ・オブジェクトを作成できます。
基本および複合データ型は、ともに、プロセスまたはプロジェクト・データ・オブジェクトのいずれかとして定義できます。これにより、変数のスコープが決定されます。
プロセス・データ・オブジェクトは、特定のプロセス用に定義されたデータ・オブジェクトです。一方、プロジェクト・データ・オブジェクトはプロジェクト全体用に定義されています。
このため、プロセス・データ・オブジェクトは、それが作成されたプロセス内でのみ使用でき、プロジェクト・データ・オブジェクトはプロジェクト全体に適用できます。これが変数のスコープと呼ばれるものです。
図7-2は、プロジェクト変数とプロセス変数のスコープの違いを示しています。
プロセス・データ・オブジェクトを使用すると、単一のプロセス内でのみ使用されるデータ・オブジェクトを定義できます。プロセスベースのアプリケーションを設計する場合、データ・オブジェクトがプロセス内でのみ使用されることが判明しているときは、システム・リソースを節約するためアプリケーションをプロセス・データ・オブジェクトとして定義することをお薦めします。
プロジェクト・データ・オブジェクトでは、プロセス間でデータを共有できます。たとえば、注文書プロセスおよびリクエスト承認プロセスの両方で、リクエストの優先度やリクエストを作成した従業員の値を追跡できます。
プロジェクト・データ・オブジェクトにより、プロジェクト内のすべてのプロセスが同じデータを使用するようになります。各プロセスでは、このデータの値を割り当てて、更新する必要があります。
プロジェクト・データ・オブジェクトを定義することの主な利点は、プロジェクトの公開後にこの変数の値が表示されるようにOracle BPM WorkSpaceビューを構成できることです。これは、プロジェクト・データ・オブジェクトを使用する場合にのみ可能です。
|
注意: プロジェクト・データ・オブジェクトではプロジェクト内のすべてのプロセスで使用されるデータ・オブジェクトを定義できますが、このデータ・オブジェクトは「グローバルな」データ・オブジェクトではありません。プロジェクト内の各プロセスは、独自のバージョンのデータ・オブジェクトを使用します。プロセス間でデータを共有するためにプロジェクト・データ・オブジェクトが使用されることはありません。 |
プロジェクト・ブループリント内では、開始および終了メッセージ・イベント用にのみプロジェクトおよびプロセス・データ・オブジェクトを作成できます。プロジェクト・ブループリントでは、プロセス・アナリストがプロセス間で使用するデータ・オブジェクトのタイプを定義できます。これらのデータ・オブジェクトを、プロセス開発者が、Oracle BPM Studioで作成される実装の一部として組み込むことができます。
プロジェクト・テンプレートを使用すると、ビジネス・カタログから再利用可能なコンポーネントを作成できます。ビジネス・ルールやヒューマン・タスクなどのサービスに加えて、ビジネス・オブジェクトも作成できます。
プロジェクト・テンプレートに基づいてOracle BPMプロジェクトを作成する場合、データ・アソシエーション内でビジネス・カタログに定義されたデータ・オブジェクトを使用できます。また、Business Process Composerを使用して、新規のプロジェクト・データ・オブジェクトを作成することもできます。
これらのプロジェクト変数には、シンプル・データ・オブジェクトを使用したり、ビジネス・カタログの一部として作成された複合データ・オブジェクトを使用できます。
|
注意: Business Process Composerでは、新しいタイプの複合データ・オブジェクトは作成できません。 |
データ・アソシエーションは、データ・オブジェクトに格納された情報を次のものとの間で受渡しするために使用します。
BPMNプロセスから起動された別のプロセスまたはサービス
ヒューマン・タスク・サービス
Oracle Business Rule
スクリプト・タスク。このBPMNフロー・オブジェクトは、データ・アソシエーションを介してデータ・オブジェクトを受渡しするために使用します。
図7-2は、データ・アソシエーションを定義できるフロー・オブジェクトをリストしています。また、実装されるオブジェクトもリストしています。
表7-2 データ・アソシエーションを受け入れるフロー・オブジェクト
| フロー・オブジェクト | 実装 |
|---|---|
|
メッセージ開始および終了イベント |
サービスおよびその他のBPMNプロセス |
|
メッセージ・スロー・イベントおよびキャッチ・イベント |
サービスおよびその他のBPMNプロセス |
|
送信タスクおよび受信タスク |
サービスおよびその他のBPMNプロセス |
|
スクリプト・タスク |
実装は含みません。データ・アソシエーションを介してデータ・オブジェクトを受渡しするために使用します。 |
|
ユーザー・タスク |
Oracle Human Tasks |
|
ビジネス・ルール・タスク |
Oracle Business Rules |
|
サービス・タスク |
サービスおよびBPMNプロセス |
データ・アソシエーションは、フロー・オブジェクトからの入力、および外部のサービスまたはプロセスへの出力を定義するために使用します。図7-3に、フロー・オブジェクトと、それに対応する実装、および外部のプロセスまたはサービスの間にある関係を示します。
青い矢印は、外部のプロセスまたはサービスとの間で入力と出力を行う引数を表します。これらの引数はデータ・アソシエーションを使用して定義されます。
入力と出力はフロー・オブジェクトのデータ・アソシエーションで定義されますが、実装されたシステムおよびサービスに渡される値が入力と出力で定義されることに注意してください。これらのシステムおよびサービスは、図7-5に示すように、プロセスにとっては外部のシステムおよびサービスです。
式を使用して、入力値および出力値を評価および変更できます
データ・アソシエーション・エディタを使用すると、フロー・オブジェクトとその実装の間で受渡しされる入力値と出力値を構成できます。
表7-3では、データ・アソシエーション・エディタの各領域について説明します。
表7-3 データ・アソシエーション・エディタのユーザー・インタフェース
| UI領域 | 説明 |
|---|---|
|
入力 |
フロー・オブジェクト内に実装されるサービスまたはプロセスへの入力として割り当てられたデータ・オブジェクトを表示するテキスト・ボックスが表示されます。各テキスト・ボックスの横には、式エディタを起動するアイコンがあります |
|
フロー・オブジェクト・インタフェース |
実装されるサービスまたはプロセスに必要な入力引数がリストされます。また、入力および出力として提供されたデータ・オブジェクトの展開可能なリストも表示されます。フロー・オブジェクトの領域では、複合データ・オブジェクト内の特定の基本データ・オブジェクトにマップする複合データ・オブジェクトを展開できます。 |
|
出力 |
フロー・オブジェクト内に実装されるサービスまたはプロセスからの出力として割り当てられたデータ・オブジェクトを表示するテキスト・ボックスが表示されます。 |
|
データ・オブジェクト |
すべてのデータ・オブジェクトのリストが表示されます。このリストは、プロセス・データ・オブジェクトとプロジェクト・データ・オブジェクトの間が分割されます。 |
次の各項では、データ・アソシエーションの作成、削除および構成の方法について説明します。
Business Process Composerを使用して、プロジェクト・テンプレートに基づいて作成されたプロジェクトに、プロセスおよびプロジェクト・データ・オブジェクトを作成できます。
データ・オブジェクトを作成するには:
データ・アソシエーションの構成を可能にするフロー・オブジェクトを選択します。
データ・アソシエーションの構成を可能にするフロー・オブジェクトのリストについては、表7-2を参照してください。
「データ・アソシエーション」をクリックします。
展開可能リストからプロセスまたはプロジェクトを選択します。
右側の列にデータ・オブジェクト名を入力し、ドロップダウン・メニューからタイプを選択します。
「作成」をクリックします。
プロセスまたはプロジェクトからデータ・オブジェクトを削除できます。
データ・オブジェクトを削除するには:
データ・オブジェクトを削除するプロセスを開きます。プロジェクト・データ・オブジェクトを削除する場合は、プロジェクト内の任意のプロセスを開くことができます。
データ・アソシエーションを有効化するフロー・オブジェクトを選択します。データ・アソシエーションを有効化するシーケンス・フローのリストについては、表7-2を参照してください。
「データ・アソシエーション」をクリックします。
「データ・オブジェクト」列で、削除するデータ・オブジェクトを含むプロセスまたはプロジェクトを展開し、そのデータ・オブジェクトを選択します。
「削除」アイコンをクリックします。
|
注意: シンプル・データ・オブジェクトおよび複合データ・オブジェクトを削除できます。ただし、複合データ・オブジェクト内のシンプル・データ・オブジェクトは削除できません。 |
フロー・オブジェクトのデータ・アソシエーションを構成できます。
フロー・オブジェクトのデータ・アソシエーションを構成するには:
データ・アソシエーションを構成するプロセスを開きます。
データ・アソシエーションを有効化するフロー・オブジェクトを選択します。データ・アソシエーションを有効化するシーケンス・フローのリストについては、表7-2を参照してください。
「データ・アソシエーション」をクリックします。
右側のデータ・オブジェクト列から、入力引数としてマップするデータ・オブジェクトを選択します。
データ・オブジェクトをクリックし、入力テキスト・フィールドにドラッグします。
式を使用すると、データ・オブジェクト上で計算を実行できます。Business Process Composerでは、次の2つのコンテキストにおいて式が使用されます。
データ・アソシエーションを使用して、構成用の入力および出力を受渡しする場合。
条件シーケンス・フローの評価方法を決定するために評価する場合。
式では直接データ・オブジェクトに値を再割当てすることはできません。ただし、式を使用して、シーケンス・フローの実装との間で受渡しされる値を変更することはできます。詳細は、7.1.3項「データ・アソシエーションの概要」を参照してください。
式エディタでは、次の演算子タイプを使用して、式を作成できます。
算術演算子
単項演算子
等号演算子と関係演算子
条件演算子
これらの演算子を使用して式および条件を作成し、プロセス・フローを定義できます。一般に、これらの式は、プロセス内のデータ・オブジェクトに基づいて計算を実行します。式と条件はデータ・オブジェクトの値を使用して作成できますが、値は変更できません。
次の式の例では、演算子が使用されています。
totalAmount - discount
activationCount > 3
unitsSold <= 1200
表7-4、表7-5、表7-6および表7-7では、シンプルな式ビルダーでサポートされている演算子を説明します。
表7-4 算術演算子
| 演算子 | 名前 | 説明 |
|---|---|---|
|
+ |
加算 |
数値データ型を加算します。 文字列同士を連結します。 |
|
- |
減算 |
数値データ型を減算します。 |
|
* |
乗算 |
数値データ型を乗算します。 |
|
/ |
除算 |
数値データ型を除算します。 |
|
rem |
剰余 |
除数が被除数で除算しきれない場合の剰余を計算します。 |
|
( ) |
優先順位 |
演算式の評価の順序を指定します。 |
表7-5 単項演算子
| 演算子 | 名前 | 説明 |
|---|---|---|
|
+ |
プラス |
数値オペランドの値には影響しません。ある値が正であることを明示的に示す場合に使用します。 |
|
- |
マイナス |
算術式の符号をマイナスにします |
|
* |
NOT |
論理補数演算子。ブール式の値を否定します。 |
表7-6 等号演算子と関係演算子
| 演算子 | 名前 | 説明 |
|---|---|---|
|
=または== |
等しい |
最初のオペランドが2番目のオペランドと等しい場合にTrueを戻します。 |
|
!= |
等しくない |
最初のオペランドが2番目のオペランドと等しくない場合にTrueを戻します。 |
|
> |
より大きい |
最初のオペランドが2番目のオペランドより大きい場合にTrueを戻します。 |
|
>= |
次以上 |
最初のオペランドが2番目のオペランド以上の場合にTrueを戻します。 |
|
< |
より小さい |
最初のオペランドが2番目のオペランドより小さい場合にtrueを戻します。 |
|
<= |
次以下 |
最初のオペランドが2番目のオペランド以下の場合にTrueを戻します。 |
表7-7 条件演算子
| 演算子 | 名前 | 説明 |
|---|---|---|
|
and |
条件付きAND |
両方のオペランドがtrueと評価された場合にtrueを戻します。 |
|
or |
条件付きOR |
いずれかのオペランドがTrueと評価された場合にTrueを戻します。 |
演算子の優先順位とは、コンパイラが演算子を評価する順序のことです。式内の演算子の優先順位は、カッコを使用して変更できます。
Oracle BPMにおける演算子の優先順位は、次のとおりです。
加算、減算
乗算、除算、剰余
プラスおよびマイナス
次より小さい、次より大きい、次以下、次以上
等しい、等しくない
NOT
条件付きAND
条件付きOR
式エディタを使用すると、リストからデータ・オブジェクトおよび演算子を選択して式に挿入し、簡単に式を作成できます。必要に応じて、手動で式を入力することもできます。
図7-6は、式エディタのユーザー・インタフェースを示しています。
次の各項では、Business Process Composerを使用して式を定義する方法について説明します。
Business Process Composerを使用して、条件シーケンス・フローの式を作成および編集できます。条件シーケンスでは、式を使用してプロセスのフローを決定します。
条件シーケンス・フローの式を定義するには:
プロセスを開きます。
プロジェクトの編集がロックされていることを確認します。
条件遷移を右クリックして、「プロパティ」を選択します。
「編集」をクリックします。
式エディタ・ウィンドウが表示されます。
必要なデータ・オブジェクトおよび演算子を追加します。
データ・オブジェクトを式に追加するには:
「データ・オブジェクト」タブを選択します。
リストからデータ・オブジェクトを選択します。
複合データ・オブジェクトの一部である基本データ・オブジェクトを追加する場合は、複合データ・オブジェクトを展開し、追加する基本データ・オブジェクトを選択します。
「式に挿入」をクリックします。
演算子を式に追加するには:
「演算子」タブを選択します。
展開可能なリストから、追加する演算子を選択します。
「式に挿入」をクリックします。
「エラー」タブをクリックし、式にエラーがないことを確認します。
「OK」をクリックします。
Business Process Composerを使用して、データ・アソシエーションの式を作成および編集できます。データ・アソシエーションでは、式を使用して、データ・オブジェクトが入力および出力として受け渡す値を変更できます。
データ・アソシエーションの入力または出力に式を定義するには:
プロセスを開きます。
プロジェクトの編集がロックされていることを確認します。
プロセスでアクティビティを選択し、プロセス・エディタ・ツールバーから「データ・アソシエーション」をクリックします。
「式ビルダーの起動」をクリックします。
必要なデータ・オブジェクトおよび演算子を追加します。
データ・オブジェクトを式に追加するには:
「データ・オブジェクト」タブを選択します。
リストからデータ・オブジェクトを選択します。
複合データ・オブジェクトの一部である基本データ・オブジェクトを追加する場合は、複合データ・オブジェクトを展開し、追加する基本データ・オブジェクトを選択します。
「式に挿入」をクリックします。
演算子を式に追加するには:
「演算子」タブを選択します。
展開可能なリストから、追加する演算子を選択します。
「式に挿入」をクリックします。
「エラー」タブをクリックし、式にエラーがないことを確認します。
「OK」をクリックします。