Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

ビジネス・ルールについて

ビジネス・ルール を使用すれば、非技術系ユーザでも、特定の判断ポイントにおけるビジネス・プロセスの動作を変更できます。ルールのロジックは、管理ポータルでルール・エディタを使用してすぐに変更できます。ルールの変更には、プログラミング・スキルやダイアグラミング・スキルは必要ありません。また、変更内容を有効化するために、プロダクション・コードを変更したり、コンパイルする必要はありません。以下の図は、ビジネス・ルールが機能するしくみについて示しています。

Diagram showing that developers can access the rule engine programmatically and business analysts can access it from the Mana

ある国際企業が、ローン申し込み処理するプロダクションを実行しているとします。判断のプロセスは全世界で共通していますが、企業内の各銀行にはそれぞれ独自の受け入れ基準があり、それは国によって異なる可能性があります。以下で説明するように、ビジネス・ルールは、この地域レベルでの責任範囲をサポートします。

  1. ビジネス・プロセスの開発者は、ビジネス・プロセスの代わりに判断を行うビジネス・ルールに名前を付けて、この判断ポイントを識別します。開発者が、ビジネス・プロセス言語 (BPL) コード内のそのビジネス・ルールのプレースホルダを活用するには、ビジネス・プロセス言語 (BPL) 要素 <rule> を呼び出します。<rule> 要素は、ビジネス・ルール名、および判断結果とその結果の理由 (オプション) を保持するパラメータを指定します。ここでは、このルールを LoanDecision と呼びます。

  2. BPL ビジネス・プロセス内に <rule> 要素が出現するたびに、プロダクション内に対応するルール定義が存在する必要があります。企業のユーザ (通常はビジネス・アナリスト) は、ルール・エディタというブラウザベースのオンライン・フォームを使用してルールを定義できます。このフォームでは、ユーザにメッセージが表示され、LoanDecision と呼ばれるビジネス・ルールの定義で必要とされる簡単な情報を入力するように促します。この情報は、InterSystems IRIS® の構成データベースに保存されます。

    ルール・エディタに習熟している企業ユーザは、管理ポータルにあるこのエディタへのアクセス権を与えられていれば、ルール定義を変更できます。変更は単なるデータベースの更新であるため、実行中のプロダクションに即座に適用できます。したがって、各地域のビジネス・アナリストは、ルール・エディタを実行してルールのコピーを変更することによって、それぞれの地域に適したその地域固有の基準を別途作成できます。

  3. 実行時には、BPL <rule> 文に到達すると、ビジネス・プロセスは、LoanDecision という名前のルールを呼び出します。ルールは、構成データベースから、地域ごとに異なる判断基準を取得します。これらの基準に基づいて、ルールは、ビジネス・プロセスに回答を返します。ビジネス・プロセスは、この回答に基づく実行パスをリダイレクトします。

  4. 進行中の保守が目的である場合については、ルールを変更する必要があっても、ビジネス・プロセス開発者が参加する必要はありません。どのルール定義もビジネス・プロセス・コードとは完全に分離されています。ルール定義は構成データベース内にクラスとして格納され、実行時に評価されます。また、ルール定義は、InterSystems IRIS インストール間でエクスポートおよびインポートできます。

    同様に、ビジネス・アナリストなどの企業ユーザは、ビジネス・プロセスの BPL またはクラス・コードの修正に必要なプログラミングの専門知識がなくても、判断ポイントでビジネス・プロセスのオペレーションを変更できます。

ルール定義は 1 つ以上のルール・セットの集まりです。ルール・セットは 1 つ以上のルールの集まりです。各ルール・セットには、有効期間開始日時と有効期間終了日時があります。ビジネス・プロセスがルール定義を呼び出すと、常に 1 つのルール・セットのみが実行されます。

ビジネス・プロセス、データ変換、およびビジネス・ルールを使用してルール・ワークフローを指定するための、複数のオプションが用意されています。これらのオプションについては、"プロダクションの開発" の “ビジネス・ロジック・ツールの比較” を参照してください。

このドキュメントの以下の各章では、ビジネス・ルールの定義方法について取り上げ、ルール・エディタを使用したルール・セットの作成および使用方法などについて説明すると共に、BPL とビジネス・プロセス・ルーティング・エンジンのそれぞれを使用したルールの呼び出し方法について説明します。

クラスとしてのルール

企業のビジネス・アナリストは、[相互運用性][ビルド][ビジネス・ルール] (または [ルール・エディタ]) ページを使用することによって、ビジネス・プロセスで行う論理的な決定を体系的に構築できます。この構築には、プログラミングのスキルは不要です。

さらに、ビジネス・プロセス開発者は、スタジオを使用してビジネス・ルール定義をクラスとして使用することができます。

/// Business rule responsible for mapping an input location
///
Class Demo.ComplexMap.Rule.SemesterBatchRouting Extends Ens.Rule.Definition
{

Parameter RuleAssistClass = "EnsLib.MsgRouter.RuleAssist";

XData RuleDefinition [ XMLNamespace = "http://www.intersystems.com/rule" ]
{
<ruleDefinition alias="" context="EnsLib.MsgRouter.RoutingEngine" production="Demo.ComplexMap.SemesterProduction">
<ruleSet name="" effectiveBegin="" effectiveEnd="">
<rule name="" disabled="false">
<constraint name="source" value="Semester_Data_FileService"></constraint>
<constraint name="msgClass" value="Demo.ComplexMap.Semester.Batch"></constraint>
<when condition="1">
<send transform="" target="Semester_Data_FileOperation"></send>
<send transform="Demo.ComplexMap.Transform.SemesterBatchToSemesterSummaryBatch"
target="Semester_Summary_FileOperation"></send>
<send transform="Demo.ComplexMap.Transform.SemesterBatchToFixedClassBatch"
target="Semester_FixedClassBatch_FileOperation"></send>
<send transform="Demo.ComplexMap.Transform.SemesterBatchToFixedStudentBatch"
target="Semester_FixedStudentBatch_FileOperation"></send>
<send transform="" target="Semester_FixedStudent_BatchCreator"></send>
<return></return>
</when>
</rule>
</ruleSet>
</ruleDefinition>
}

}

スタジオでビジネス・ルールをクラスとして開き、ドキュメントを編集して、変更内容を保存できます。スタジオで保存した変更内容は、すぐに [ルール・エディタ] ページで使用できます。ただし、これらの変更内容を表示するには、ページの更新が必要になることがあります。

パッケージ・マッピング・ルール・クラス

ルールがクラスである場合は、他のネームスペースにマッピングできます。マッピングする場合は、マッピングしたすべてのルール・クラスを使用先の各ネームスペースでリコンパイルすることによって、各ネームスペースでローカル・メタデータを確実に使用できるようにする必要があります。

詳細は、"クラスの定義と使用" の “パッケージ” の章で “パッケージ・マッピング” を参照してください。

FeedbackOpens in a new tab