Chapter 1 Introduction to Decision Manager : Introduction to Decision Manager

Introduction to Decision Manager
Decision Manager, a component of TIBCO BusinessEvents, is an Eclipse-based Rich Client Platform (RCP) application. Its friendly user interface allows business personnel with little or no technical background to author, test, and deploy business rules to the BusinessEvents engine. Decision Manager is the client to a server component called RMS, which is a rules management server. RMS manages the lifecycle of decision projects and provides an approval work flow.
Decision Manager is supported only on Windows. (The server component, RMS, is supported on the same platforms as BusinessEvents.)
Decision Manager simplifies complex business rules by breaking up the logic into multiple simple rules. Each simple business rule is represented by a row in a decision table.
A decision table is an interface with rows and columns for a business user to define threshold values (conditions) and actions in a tabular format. Each row can be thought of as one rule within a table that is made up of many rules.
Terminology note—Rules
In Decision Manager terminology, a rule is a business rule that embodies some business logic. It is not the same as a rule in BusinessEvents. In fact, when a decision table is deployed to BusinessEvents, it forms the body of a BusinessEvents rule function. Like any rule function it can be called by a BusinessEvents rule, act as an event preprocessor, and so on. To learn about BusinessEvents rules and rule functions, refer to TIBCO BusinessEvents User’s Guide.
Virtual Rule Functions and Decision Tables
In order to work with Decision Manager decision tables, a BusinessEvents project must contain one or more virtual rule functions. A virtual rule function (VRF) is a BusinessEvents rule function with no body, similar to a Java interface. VRFs are brought into Decision Manager (using the project EAR file), where decision tables provide the body (that is, the implementation). The implementation classes are then deployed to the BusinessEvents application.
Rule Building with Decision Manager
Decision Manager enables business users to focus on business logic. It breaks complex rule logic into multiple simpler rules. Here is an example of a fairly complex rule:
Condition
criterion.status != "local";
transaction.AccountId == account.Id;
Temporal.Numeric.addAllHistoryDouble(account.Debits,
DateTime.getTimeInMillis(DateTime.addSecond(now(), scalars.OneDay))) + transaction.Amount > criterion.daily_limit;
Action
if (criterion.status == "master") {
account.Status = "Suspended";
// other statements
System.debugOut("##### Account id <" + account.Id + " suspended");
} else if (criterion.status == "contender") {
System.debugOut("##### Account id <" + account.Id + " suggest suspension");
} else {
System.debugOut("##### Unknown criterion");
// other statements
}
In Decision Manager, conditions are presented in a more straightforward manner, for example:
Person.age < Max(20, Parent.age)
Person.creditscore >= Math.function(...)
Person.gender == "female"
The rule action can also be specified in a straightforward way, such as the following:
Application.status = "ACCEPTED"
Application.credit = 4000
sendNotification()
This simplified set of conditions and actions can be easily modeled in a decision table.
RMS and Decision Projects
Using the rules management server (RMS) a more technical user, generally referred to as a rule administrator, builds RMS projects. RMS is also used by technical users to check and approve (or reject) decision tables submitted by business users before they are deployed.
An RMS project consists of the following:
The BusinessEvents project’s ontology model, which is a set of concepts, scorecards, and events that represent the objects and activities in your business. BusinessEvents projects are created using TIBCO Designer
A less technical user, a role referred to as a business user, checks out an RMS project and saves it locally as a decision project. The user works with the decision project—saving, modifying, validating, testing, and so on—before committing it to RMS for approval. See Introduction to Rules Management Server for more information.