Oracle® Fusion Middleware Oracle Business Process Management Business Process Composerユーザーズ・ガイド 11g リリース1(11.1.1) B61410-01 |
|
前 |
次 |
この章では、Business Process Composerに含まれるOracle Business Rulesエディタを使用する方法について説明します。この章には、Oracle Business Rulesの全般的な概要および使用するためのタスクを示します。
注意: Business Process Composerを使用して、新しいビジネス・ルールやルール・ディクショナリを作成することはできません。プロジェクト・テンプレートのビジネス・カタログの一部として定義されたルール・ディクショナリを編集することはできます。 |
この章の内容は次のとおりです。
この項では、Oracle Business Rulesの概要について説明します。
ビジネス・ルールは、ビジネス・ポリシーを表す文または重要なビジネスの意思決定を表す文です。たとえば、ビジネス・ルールには次のものが含まれます。
購買ポリシーや承認マトリックスなどのビジネス・ポリシー。
有効な構成や規制上の要件などの絞込み条件。
割引や割増などの計算。
顧客価値に基づいた提案などの推論機能。
たとえば、レンタカー会社では次のようなビジネス・ルールを使用する場合があります。
IF Rental_application.driver age < 21 THEN modify Rental_application(status: "Declined")
航空会社では次のようなビジネス・ルールを使用することがあります。
IF Frequent_Flyer.total_miles > 10000 THEN modify Frequent_Flyer (status : "GOLD")
金融機関では次のようなビジネス・ルールを使用することがあります。
IF Application_loan.income < 10000 THEN modify Application_loan (deny: true)
これらの例は、個別のビジネス・ルールを表します。実際には、Oracle Business Rulesを使用すると、複数のビジネス・ルールを組み合せたり、より複雑なテストを使用できます。
Oracle Business Rulesを使用すると、プロセス・アナリストはルールとして表されているビジネス・ポリシーを変更でき、プロセス開発者の手助けはほとんどまたはまったく不要です。Oracle Business Rulesを使用するアプリケーションは継続的な変化をサポートします。これにより、これらのアプリケーションは、行政の新しい規制、社内プロセスの改善、または顧客とサプライヤの関係の変化に対して適応できます。
ビジネス・ルールはif-then構造に従い、次の2つの部分で構成されます。
IF部分: 条件またはパターン一致。
THEN部分: アクションのリスト。
または、デシジョン表と呼ばれるスプレッドシート状の形式でルールを表すこともできます。
ルールのIF部分は、ファクトを参照する条件式、つまりルール条件で構成されます。例:
IF Rental_application.driver age < 21
条件式では、「次より小さい」比較を使用してビジネス条件(Rental_application.driver age)を数字の21と比較します。
ルール条件は、ファクトの組合せで条件式がtrueになるたびにルールをアクティブにします。ルール条件はRules Engine内の使用可能なファクト全体に対する問合せのようなものであり、問合せから戻される行のそれぞれに対してルールがアクティブになります。
ルールのTHEN部分には、ルールが起動された場合に実行されるアクションが含まれます。ルールは、アクティブ化され、優先度などの競合解消メカニズムを使用してその他のルール・アクティブ化の中で選択されると、起動されます。ルールはいくつかの種類のアクションを実行することがあります。ファクトを追加、変更または削除するアクションがあります。Javaメソッドを実行したり、ファクトのステータスの変更やファクトの生成を行う場合がある関数を実行するアクションもあります。
ルールは同時にではなく順番に起動されます。ルール・アクションにより一連のルールのアクティブ化が変更されることがよくあり、このため次に起動されるルールが変更されることがあります。
デシジョン表は、数多くのルールで数多くのプロパティ値の組合せを分析する必要がある場合に、よりコンパクトかつ直観的に使用できる代替のビジネス・ルール形式です。デシジョン表を使用すると、すべての組合せを網羅する、または競合する2つの組合せが存在しないルールのセットを作成できます。
Oracle Business Rulesでは、ファクトはルールの基礎となるオブジェクトです。各ファクトは1つのファクト・タイプのインスタンスです。ルールを作成する前に、1つ以上のファクト・タイプをインポートまたは作成する必要があります。
Oracle Business Rulesでは、ファクトはクラスのアサートされたインスタンスです。Oracle Business Rulesランタイム、またはRL言語で作成する開発者は、RL言語アサート関数を使用して、ファクトのインスタンスをOracle Business Rulesエンジンに追加します。
ルール・デザイナでは、XMLスキーマ、Javaクラス、Oracle RL定義およびADF Business Componentsビュー・オブジェクトに基づいて様々なファクト・タイプを定義できます。Oracle Business Rulesランタイムでは、このようなファクト・タイプ・インスタンスはファクトと呼ばれます。
バケットセットを作成して、指定したタイプの値のリストまたは値の範囲を定義できます。バケットセットを作成した後、バケットセットを一致するタイプのファクト・プロパティに関連付けることができます。Oracle Business Rulesでは定義したバケットセットを使用して、ルールまたはデシジョン表のファクト・プロパティに関連付けられた値に対する制限を指定します。バケットセットを使用して、可変初期値および関数の戻り値または関数の引数値に対する制限を指定することもできます。
ルールセットは、Oracle Business Rulesにおけるルールおよびデシジョン表のコンテナです。1つのルールセットには、ルールおよびデシジョン表用の、Javaパッケージに類似したネームスペースがあります。また、ルールセットを使用して、ルール起動を部分的に順序付けることもできます。
デシジョン関数によって、JavaまたはSOAから(SOAコンポジット・アプリケーションからまたはBPELプロセスから)ルールを呼び出す規約が提供されます。規約には、入力ファクト・タイプ、実行するルールセットおよび出力ファクト・タイプが含まれます。
Oracle Business Rules SDK (Rules SDK)によってAPIが提供されます。このAPIを使用して、Oracle Business Rulesディクショナリ内のルール(およびディクショナリのすべてのコンテンツ)にアクセス、作成、変更および実行するアプリケーションを作成できます。Rules SDKは、Javaアプリケーションからルールまたはデシジョン表にアクセスおよび実行するデシジョン・ポイントAPIを提供します。
Business Process Composerルール・エディタを使用すると、ルール・ディクショナリを表示および編集できます。ルール・ディクショナリは、プロセス・エディタおよびデータ・アソシエーション・エディタに類似のタブを使用したウィンドウに表示されます。
このウィンドウは、次の2つの主な領域にわかれています。
グローバル、バケットセットおよびルールセットのタブを使用したペインを含むパネル。
各タブの詳細情報を表示するエディタ・パネル。
図8-1は、営業見積サンプル・プロジェクトに含まれるグローバルの情報を表示する「グローバル」タブを示しています。
注意: このタブには、ルール・ディクショナリが作成されたときに最後としてマークされたグローバルのみが表示されます。 |
図8-2は、営業見積サンプル・プロジェクトに含まれるバケットセットの詳細を表示する「バケットセット」タブを示しています。
図8-3は、営業見積サンプルに含まれるルールセットの詳細を表示する「ルールセット」タブを示しています。
次の各項では、Business Process Composerを使用してOracle Business Rulesを表示および編集する特定の手順について説明します。
Oracle Business Rulesは再利用可能なビジネス・カタログの一部として含めることができ、これにより、プロジェクト・テンプレートから作成されたOracle BPMプロジェクトを編集するときにビジネス・ルールを使用できます。
プロジェクト・ナビゲータからビジネス・ルールを開くには:
プロジェクト・ナビゲータで、「ルール」を開き、次に、開くルールを含むルール・ディクショナリを開きます。
ルールをダブルクリックします。
ルール・エディタにビジネス・ルールが表示されます。ルールを編集する場合は、プロジェクトが編集モードになっていることを確認します。図8-1に示すように、デフォルトで「グローバル」タブが表示されます。
Business Process Composerを使用して、ルール・ディクショナリに新規バケットセットを追加できます。
新規バケットセットを追加するには:
バケットセットを編集するルール・ディクショナリを開きます。
「バケットセット」タブを選択します。これにより、図8-2に示すように、ディクショナリ内のバケットセットを一覧表示した表が表示されます。
「バケットセットの追加」ドロップダウン・リストをクリックし、作成するバケットセットのタイプを選択します。
値リスト
範囲リスト
リストからバケットセットを選択し、「バケットセットの編集」をクリックします。
必要に応じてバケットセットを編集し,「OK」をクリックします。
Business Process Composerで「バケットセット」タブを選択すると、ディクショナリ内のバケットセットを一覧表示した表が表示されます。バケットセットを編集するには、適切な行を選択して「編集」アイコンをクリックします。バケットセットのタイプ、範囲、列挙またはLOVに応じて、対応するバケットセットの編集ページが表示されます。
メニュー・バーで「追加」をクリックし、タイプを選択して、範囲バケットセットを作成できます。これにより、バケットセット表に新規行が追加されます。バケットを追加すると、範囲バケットのエンド・ポイントおよびLOVバケットの値がデータ型に基づいて自動的に追加されます。新たに追加されたバケットのエンド・ポイントや値は変更できます。エンド・ポイントまたは値を変更した場合、エイリアスが変更されることに注意してください。
バケットセットを削除するには、行を選択して「削除」をクリックします。
バケットセットを編集するには:
バケットセットを編集するルール・ディクショナリを開きます。
「バケットセット」タブを選択します。これにより、図8-2に示すように、ディクショナリ内のバケットセットを一覧表示した表が表示されます。
適切なバケットセットの行を設定し、「バケットセットの編集」アイコンをクリックします。
バケットセット・エディタを使用して、バケットセットの適切なフィールドを編集します。
「OK」をクリックして変更を確認します。
ルール・ディクショナリを開くと、Business Process Composerによって「グローバル」タブが表示されます。「グローバル」タブには、最後のグローバル変数(「最後」オプションが選択されたグローバル変数)のみが表示されます。
グローバル変数を作成したり削除することはできません。「グローバル」タブから、編集モードで「名前」、「説明」および「値」の各フィールドを変更できます。「値」フィールドでは、式ビルダーを使用して値を設定できます。
グローバルを表示するには:
グローバルを表示するルール・ディクショナリを開きます。
「グローバル」タブを選択します。これにより、図8-1に示すように、このルール・ディクショナリに定義されたグローバルを一覧表示した表が表示されます。
Business Process Composerを使用して、ルールセットのルールを編集、追加および削除できます。
ルールセットにルールを追加するには:
ルールを追加するルールセットを含むルール・ディクショナリを開きます。
編集するルールセットのタブをクリックします。これにより、図8-3に示すように、このディクショナリに定義されたルールセットを一覧表示した表が表示されます。
「新規ルール」アイコンをクリックします。
新規ルールの名前を入力します。
「詳細設定の表示」アイコンをクリックします。
IF領域で、「左の値」式アイコン、演算子のドロップダウン・リスト、「右の値」式アイコンを含む、コントロール、アイコンおよび選択ボックスを使用して条件を変更します。
ルールのTHEN領域でルール・アクションの横にある「アクションの追加」をクリックします。
「エディタ」ツールバーの「保存」をクリックして、ルール・ディクショナリに対する変更を保存します。
Business Process Composerを使用して、デプロイ済のOracle BPMプロジェクトを開くことができます。デプロイ済のプロジェクトを開くと、プロジェクトに含まれているOracle Business Rulesを編集し、Oracle BPMランタイムに変更を再度デプロイできます。
注意: デプロイ済のプロジェクトを編集する場合、そのプロジェクトのOracle Business Rulesのみを編集できます。他のプロジェクト・リソースは表示できますが、編集できません。 |
デプロイ済のプロジェクトを開くには:
「プロジェクト」メニューの「デプロイ済プロジェクトを開く」を選択します。
現在プロジェクトを編集している場合は、変更内容が自動的に保存されます。
「デプロイ済プロジェクト」を選択し、次に、プロジェクト・リストから開くプロジェクトを選択します。
「リポジトリ」を開き、次に、開くデプロイ済プロジェクトを選択します。
「OK」をクリックします。
プロジェクト・ナビゲータで、「ビジネス・ルール」を開き、次に、編集するOracle Business Rulesを含むルール・ディクショナリを開きます。
ルール・エディタで「編集」をクリックします。
必要に応じてルールを編集し、「保存」をクリックします。
ビジネス・プロセスに対して行った変更が有効であることを確認するには、「検証」をクリックします。
「コミット」をクリックして、変更をOracle BPMランタイムにコミットします。
「はい」をクリックします。
「プロジェクト」メニューの「プロジェクトを閉じる」を選択します。
ビジネス・ルール・タスクは、プロセス・モデル内にOracle Business Rulesを取り込むことができるOracle BPMN要素です。
ビジネス・カタログにビジネス・ルールを含むプロジェクト・テンプレートに基づいてプロジェクトを編集する場合、ビジネス・ルール・タスクにビジネス・ルールを割り当てることができます。
ビジネス・ルール・タスクにビジネス・ルールを割り当てるには:
編集するビジネス・ルール・タスクを含むプロセスを開きます。
ビジネス・ルール・タスクを右クリックし、「プロパティ」を選択します。
「実装」タブを選択します。
「変更」をクリックします。使用可能なビジネス・ルールの表を含むビジネス・ルール・ブラウザが表示されます。
表でルールをダブルクリックします。
「OK」をクリックします。