IDIOM Decision Suite and Business Rules Beans

Overview

One of the key features of the IDIOM Decision Suite is the range of options available for deployment of the IDIOM decisions. IDIOM generates simple components that can be integrated into most common architectures. With the release of the recent version of Websphere Enterprise Edition, IBM has added a framework for Business Rule Beans. This white paper illustrates how IDIOM and the Business Rule Beans can be integrated within the IBM Websphere environment to offer a comprehensive rules management strategy.

Websphere Business Rule Bean Summary

The Business Rule Beans framework extends the scope of the Websphere Application Server Enterprise Edition to support business applications that externalise their business rules. Business Rule Beans are designed to remove the volatile components of a system (i.e. the business rules) from the application to allow changes to be made to the application without touching the applications system components (user interfaces, database interfaces, business object structure).

Business Rule Beans are implemented as standard Java components (Java Beans or Enterprise Java Beans) which are managed by the Websphere environment (much like an EJB component). To access the Business Rule Bean a program simply needs to implement a trigger point; this trigger point interfaces with the Business Rule Bean framework to execute the business rule that is encapsulated within a particular Business Rule Bean.

Why use IDIOM with Business Rule Beans?

While IDIOM and Business Rule Beans are trying to solve the same basic problem, the two technologies have approached this problem from very different perspectives. IDIOM has focused on the external management of business rules, and the design and development of these rules using an application that is targeted at the business user. Business Rule Beans, on the other hand, has addressed the infrastructure challenges of removing business rules from an application and accessing these rules via an execution framework.

The difference in approach makes the two approaches complementary. IDIOM was specifically designed to make no assumptions on the runtime environment (the system). The IDIOM decisions can be deployed within an Enterprise Java Bean, at the end of a messaging infrastructure, as a web service, or as a direct interface to a Java object. Websphere Business Rule Beans offer a deployment approach that will allow all business rules (whether managed by IDIOM or implemented directly within a Business Rule Bean) to be represented to an application through a common framework.

IDIOM was not designed to manage all business rules. The impetus behind IDIOM was to manage the business rules that a business user owned and understood. So, IDIOM is intended to manage rules such as the discount loading for a type of client, or the approval of an insurance contract, but not to provide a common validation lookup for an account number. As a consequence, an application will need to implement various rules that are not managed by IDIOM - the combination of IDIOM and Business Rule Beans ensures that all business rules will be executed via a common framework.

How to use IDIOM with Business Rule Beans

When an IDIOM repository is generated for release into a target environment, a package of objects is generated. These objects need to be deployed and integrated into an application. At execution time, instructions are given to the IDIOM DecisionServer object indicating which business rules need to be executed. This section will discuss an approach for the encapsulation of the IDIOM generated objects within a Business Rule Bean implementation, and outline the options available for configuring the Business Rule Bean to execute sets of rules within IDIOM.

Runtime interface to IDIOM

The runtime execution of rules within IDIOM is accessed via a single class called the DecisionServer. This class provides a public interface to the decisions and rules that have been defined within the IDIOM environment. The interface to this object is very simple, as illustrated in the following method definitions:

[Note: the code samples may be abbreviated for clarity]

public static void executeDecision(Date effectiveDate,
    List documents,
    String IdiomSystem,
    String IdiomScope,
    String slot,
    String decisionName)

public static void executeScope(Date effectiveDate,
    List documents,
    String IdiomSystem,
    String IdiomScope)

public static void executeSlot(Date effectiveDate,
    List documents,
    String IdiomSystem,
    String IdiomScope,
    String slot)

public static void executeSlots(Date effectiveDate,
    List documents,
    String IdiomSystem,
    String IdiomScope,
    String startSlot,
    String endSlot)

This interface requires you to be able to specify values for the IDIOM environment, such as the system and the scope, in addition to the decision groups, or the individual decision, that you want executed.

<< Back Next >>