第3章 ルールの記述
3.1. アセットエディター リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
3.1.1. Asset Editor (アセットエディター) リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
アセットエディターはアセットに関する情報へアクセスでき、このエディターでユーザーはアセットの編集ができます。
Attribute (属性) タブには、Metadata (メタデータ)、Version History (バージョン履歴)、Description (説明)、Discussion Area (ディスカッションエリア) が含まれています。
図3.1 アセットエディターのビュー - Attributes (属性)
Edit (編集) タブでアセットの編集が可能です。Edit タブで利用可能なオプションは、編集中のアセットにより変化します。
図3.2 アセットエディターのビュー - Edit (編集)
3.1.2. Guided Editor (ガイド付きエディター) とビジネスルール リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ビジネスルールはガイド付きエディターで編集します。ガイド付きエディターで編集したルールは、ビジネスルール言語 (BRL) 形式を使用します。ガイド付きエディターは、編集中のルールのオブジェクトモデルをもとに、ユーザーに入力を求めるプロンプトを出します。
アセットを追加するパッケージがないとルールの作成はできません。また、パッケージへのアクセスができないと、ユーザーは BRL のガイド付きエディターを使用することができません。
例3.1 Guided Editor (ガイド付きエディター)
3.1.3. ルールの構成 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ルールは複数のパーツで構成されています。
- Whenルールの When 部分には、満たすべき条件を入れます。例えば、ローンとして銀行が貸付をする場合、顧客が 21 歳以上であるよう指定する場合があります。これは、顧客が 21 歳以上であることを判断するために when を使用して表現します。
- Thenルールの Then 部分は、ルールの条件部分が満たされた場合に実行すべきアクションが入ります。例えば、when 部分には「顧客が 21 歳以下の場合」、then 部分には「申請者が年齢制限に達していないためローンは却下」などが入ります。
- オプションルールでは、Salience (優先順位) などの任意の属性を定義することができます。
Guided Editor を使うと、ルールの When (あるいは条件) 部分に条件を追加し、Then (あるいはアクション) 部分にアクションを追加することができます。例えば、ローン申請の際に 21歳未満の申請者に保証人がいる場合、銀行がそのローン申請を承認するか決定することができます。
3.1.4. Salience (優先順位) リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ルールごとに Salience の値をもたせることができます。Salience には整数の値が入り、デフォルトは 0 となっています。Salience の値は、ルールの優先順位を表しており、値が高いと優先順位が高くなります。Salience 値は、正負どちらでも利用できます。
3.1.5. ルールへの条件やアクションの追加 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
手順3.1 ルールへの条件やアクションの追加
- ガイド付きエディターの When 部分の + アイコンをクリックして条件を追加するか、ガイド付きエディターの Then 部分の + アイコンをクリックしてアクションを追加してください。
- メニューから条件やアクションを選択して、Ok をクリックします。ルールが属するパッケージに DSL (ドメイン固有言語) 文を含めるように設定した場合、DSL 文をメニューから選択することができます。
- 条件またはアクションに入力 (日付、True または False、整数、その他の入力型) が必要な場合、必要となる値を入力します。
3.1.6. ファクト型へのフィールドの追加 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Guided Editor を使うと、ルールの 'When' (あるいは条件) 部分に条件を追加し、'Then' (あるいはアクション) 部分にアクションを追加することができます。例えば、ローン申請の際に 21歳未満の申請者に保証人がいる場合、銀行がそのローン申請を承認するか決定することができます。
条件に保証人を追加するには、まずその担保モデルの申請書のファクト型に guarantor フィールドを追加する必要があります。
手順3.2 ファクト型へのフィールドの追加
モデルの選択
ナビゲーションパネルから Knowledge Bases を選択します。次にモデルが含まれるパッケージを展開して model を選択します。open をクリックし一覧からモデルを開きます。フィールドの追加
ファクト型の隣にある+マークをクリックしファクト型を展開し、Add Field を選びます。フィールドの詳細を入力
ポップアップダイアログに詳細を追加します。この場合、Field name フィールドに保証人の名称を入力し、Type のドロップダウンメニューから True あるいは False を選択します。File から Save changes を選択し、このモデルに加えた変更を保存します。
保証人フィールドに申請者のファクト型が追加されたため、ルールを変更し保証人を含めることができます。
3.1.7. テクニカルルール (DRL) リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
テクニカルルール (DRL) はテキストとして保存され、これらのルールは JBoss Enterprise BRMS が管理します。DRL ファイルには、1つ以上のルールが含まれています。ファイルにルールが1つのみ含まれている場合は、パッケージ、インポート、ルール文は必要ありません。ルールの条件とアクション部分は、それぞれ "when" と "then" で印付けすることができます。
JBoss Developer Studio には、DRL ファイルの作成、編集、デバッグのツールが含まれており、これらの各目的に使用することができます。ただし、JBoss Enterprise BRMS ユーザーインターフェース内で、DRL ルールは管理することができます。
図3.3 テクニカルルール (DRL)