ビジネス・ルールの構成要素
ビジネス・ルールには、If文とThen文が含まれます。
たとえば:
-
販売オーダーの値が$50、000.00以上である場合は、請求書を送信する前に、担当者が顧客に電話をかけることを確認してください。
Oracle Business Rulesエディタのルールを次に示します。
ノート
-
「If文の左の値」. If文でルールが比較するオブジェクトを指定します。
この例では、Left Valueに文字列が含まれています。
DooSeededOrchestrationRules.DOOFLine
説明
-
DooSeededOrchestrationRulesは、ディクショナリの名前です。 「辞書」は、ルール・セット、ファクト、関数、変数、バケット・セット、リンク、データ・モデルなどに編成されたルールを含むXMLファイルです。
-
DOOFLineは、ディクショナリ内のオブジェクトです。
-
DOOは分散オーダー・オーケストレーションの略称で、以前のリリースで使用されていたオーダー管理という名前です。 これは、オーダー・オーケストレーションと同じ意味です。
-
extendedAmountは、履行明細属性です。 販売オーダーの総額が含まれます。
-
FLineは、履行明細の別名です。
-
DOOFLineには、オーダー・オーケストレーションの履行明細のデータ・モデルが含まれます。 たとえば、DOOFLineには、orderedQty、customerPONumber、creationDateなどの履行明細属性が含まれます。 これらの属性を参照し、その値をルールで使用できます。
-
-
-
「If文の右の値」.
この例では、右の値には次のものが含まれます:
line.extendedAmount more than 50000
If文がtrueかどうかを判断するためにルールで使用される値を指定します。 この例には、リテラル値50000が含まれています。 ディクショナリからオブジェクトを参照することもできます。 オブジェクトを参照する場合、ルールは実行時にオブジェクトに含まれる値を使用して比較を行います。
-
「処理」. ディクショナリにターゲットを追加する方法を指定します。 さまざまなアクションを指定できます。 ファクトをディクショナリに割り当てる手段を割り当てます。
「事実」は、販売オーダーの品目など、ルールで使用されるトランザクション・データです。
-
オブジェクトはこのデータを格納します。 オブジェクトは、ルールの作成時に参照します。
-
オーダー管理は、各ディクショナリの販売オーダーのトランザクション・データに従ってファクトの階層を提供します。
-
各オブジェクト・インスタンスは単一のファクトに対応しています。
-
ルールで使用する前に、各ファクトをアサートする必要があります。 アサートを使用すると、ターゲットのプロパティなど、ルール内の別の場所でファクトを参照できます。
-
-
「ターゲット」. If文がtrueと評価されたときにルールが変更するオブジェクトを指定します。
DooSeededOrchestrationRules.Result.Result
この例では、extendedAmountが50000を超える場合、ルールは結果オブジェクトをファクトとしてDooSeededOrchestrationRulesディクショナリにアサートします。
-
「プロパティの編集」. ターゲットのプロパティを指定します。 ルールでIf文がtrueと評価された場合、ルールでは、これらの値の設定方法に従ってターゲットのプロパティの値が変更されます。 この例がプロパティに使用するコードを次に示します。
DooSeededOrchestrationRules.Boolean.TRUE
説明
-
resultObjは、ターゲットが指定する結果ファクトのプロパティです。
-
Booleanは、DooSeededOrchestrationRulesディクショナリの変数です。
-
TRUEは、ブール変数をTRUEに設定することを指定します。
Then文は、ResultファクトのresultObjプロパティをTRUEに設定します。 この例は分岐条件であるため、オーケストレーション・プロセスは実行時にresultObjの値を調べます。 TRUEが含まれている場合は、営業担当が顧客に電話することを確認するブランチが実行されます。
-