Overview: Operational Decision Manager v8.0.1


ODM components

ODM enables businesses to respond to real-time data with automated decisions. IT and business users manage the business decision logic. Components include...

To run Decision Center samples and tutorials you must install both components on the same computer.

By default, both components share the same Installation Manager package group directory.


Decision Center

Decision Center is a scalable decision management server and repository with a collaborative web environment for managing business rules and events.

Decision Center includes...


Rule Designer

Develop rule applications based on Java or XML and deploy them to WebSphere Application Server.

Use Rule Designer to...


Business policies

Make decisions such as...

For example, the business policy...

...can be implemented with the following business rule...

Business logic is packaged and then called from applications.


Business Event Processing

Use event rules to...

  1. Sense when a business event has occurred.
  2. Coordinate a response or action.

For example...

For example, on a retail web site, if a customer adds a book to a shopping basket (event A) and views the delivery information page (event B) but does not complete the purchase at the online checkout (event C) within one week, then send an E-mail to this customer (action X). After one more day has passed, update the customer favorites database with the book details (action Y), and send a message to the Sales department to tell them this customer did not complete the purchase (action Z).

Distributed business teams can collaborate to create business rules and events using ODM's web-based IDE.

Example use cases...

Use case Decision management
Business rules Event rules
Car insurance - Determine whether to make an offer.
- If so, for what
- Tailor price based factor combinations
- Monitor customer behavior
- Identify the timing for a promotion
- Detect quote request over a period of time
- Detect quote requests not accepted
- Follow up on customer promotional offers
Credit card services - Detect whether transactions exceed a threshold
- Allow or reject the transaction
- Notify customers based on behavior
- Detect events on credit cards
- Aggregate data on credit cards
- Compute an accept or reject decision


Business rule application development

To create a business rules application...

  1. Design a data model
  2. Orchestrate ruleset execution
  3. Author, review, and test rules
  4. Deploy app to Java SE, Java EE, z/OS or .NET


Business Action Language

Business rules leverage Business Action Language (BAL), a natural human-readable language. Technical rules can be written using the ILOG Rule Language (IRL) and require programming skills.

You can create...


Deploy business rule applications

Deployments of business rule applications can be done from the Rule Designer or the Decision Center.

  1. Package rulesets into a RuleApp executable archive.
  2. Write the code to run the rule engine on this RuleApp.
  3. Expose the RuleApp to the calling application.
  4. Configure Rule Execution Server for the chosen application server.
  5. Deploy the RuleApp to Rule Execution Server.
  6. Use the the Rule Execution Server console to manage the RuleApps.
  7. Enable test execution.
  8. For scenario testing, deploy the Scenario Service Provider (SSP) and the XOM to the Rule Execution Server storage.


Rule Execution Server

To administer Rule Execution Server, use...

To monitor use...


Ruleset auditing

Trace data can provide an audit trail of past decisions The Decision Warehouse stores detailed reports on rulesets for which monitoring is enabled. Create Key Performance Indicators (KPIs) to target business conditions and improve performance.


Event rule application development

To create event rule applications...

  1. Design a data model
  2. Orchestrate event execution
  3. Author, review, and test events
  4. Deploy event application to Java SE, Java EE, or z/OS platforms.

The data model consists of business objects that...

Event objects construct business objects, which in turn, create action objects.

  1. In Event Designer, create event assets in an event project.

  2. Create a sub-folder for each business system to integrate.

  3. In each business system folder, create the following elements:

    • Events and event objects for events that initiate processes between business systems.
    • Actions and action objects for actions that might be performed when an event occurs.

  4. Define event connectors to pass data to the event runtime and action connectors to retrieve data from the event runtime.

    The following types of connectors are available:

    • Email
    • File system
    • FTP
    • HTTP
    • JMS
    • Relational database
    • SOAP
    • User Console

  5. Define data connections (relational databases).

    For example, the logic might use the customer service level, but that data might be available only in a DB2 database containing a master customer table.

  6. Author the business logic in Event Designer.

    • Create event rules, which determine how to interact with different business systems. For example, an event rule can state that when a customer makes a large financial transfer from the Transaction Processing business system, the Customer Service business system must contact the customer, and offer an investment alternative.

    • An event rule group consists of one or more event rules. Each event rule is triggered by an event and can trigger one or more actions. Optionally, you can use filters to share logic among rules.

  7. Deploy the data connections and the event assets into the event runtime.

    • The event runtime monitors events as they enter the system and tracks the progress of events and corresponding actions as they move through a process.

    • When an event occurs in a business system and potentially requires one or more actions in another system, the relevant data (field name, field type, and value) is called an event payload.

      The connector for the business system passes this event payload to a JMS queue. The event runtime retrieves the message from the JMS queue and populates the appropriate business objects with the values contained in the event payload. The event runtime parses the event, identifies the event rule groups that reference the event, and determines whether any filters exist that require further evaluation.

      • If an action includes an event rule, the event runtime attempts to evaluate it to determine whether the conditions for an action are met. If any values are missing, the event runtime attempts to retrieve the missing information from an external data connection. The action is initiated only if the condition is true.

      • If the action does not include any conditions, the appropriate action is initiated.

  8. Test using the Event Tester widget

    • Test the event logic in a business process
    • Define and evaluate an event template
    • View results of evaluated filters
    • View execute actions
    • View time-based events that have yet to be evaluated
    • View time-based actions that have yet to be executed

  9. Test using Event Capture and Event Replay widgets.

    • Capture events from a production system
    • On test system, replay events

  10. Monitor business event processing in the runtime environment.

    • To gather statistics on performance, enable PMI on WebSphere Application Server

    • Use the Event Chart widget to view charts in real time that display the history for events, actions, and filters used in event rule group evaluation

  11. Administer the development and runtime environments.

    • In the Administration browser-based interface, monitor the development and runtime environments.

      View system events and event rule group processing to ensure that the application is processing events and generating actions as designed. You can also run reports and view context processing.

    • Define user authentication and access to Event widgets.


Decision Center process flow

  1. Developers publish rule projects to Decision Center.

  2. Analysts author and manage business rules using the Decision Center console.

  3. From Decision Center, analysts deploy business rules to Rule Execution Server

Use branches to...

Use queries to define smart folders, a business-oriented way of viewing the contents of a rule project in the Decision Center console.

Use Decision Center to validate the business logic against well-defined usage scenarios, by running tests and simulations against their rules. The Scenario Service Provider (SSP) calls Rule Execution Server to execute the rulesets and produce a report. The report provides details of the tests that passed and failed from a test suite or a simulation.

You can store the results of execution (input data, output data, execution flow, and which rules were executed) in Decision Warehouse, a Rule Execution Server facility

Decision Center provides history and versioning services that support auditing and rollback of business rules


Publish event projects to Decision Center

By using the Decision Center repository, analysts maintain the event rules. Reporting tools are available in Decision Center. Policy managers then deploy the event rules to the event runtime from Decision Center, either directly or by a staged process in cooperation with a system administrator.

Developers publish event projects to Decision Center. Policy managers and rule authors author event rules using the Decision Center Business Console.

Use the Event Testing widgets in Decision Center to test event logic in a business process. Use the Event Capture Event Replay widgets, to capture events from a production system and replay a sequence of one or more of them, typically on a test system

Use the Decision Center console to administer user access and the configuration of the Decision Center repository. Decision Center provides history and versioning services that support auditing and rollback of business rules In the Event Chart widget, you can also view real-time charts which display the history for events, actions, and filters used in the evaluation of event rule groups

Deploy event assets to the event runtime from the Decision Center console.


ODM install overview

ODM makes use of the basic Installation Manager features, including:

The following set of products can be installed on a distributed platform:


IBM Decision Server

Module Description
Rule Designer Business rule application development tool
Rule engine Evaluate business rules against objects to determine which rules are eligible to be executed.
Scorecard Modeler Extend capabilities of Rule Designer. Provides predefined scoring and reasoning strategies.
Rule Execution Server Managed business rule execution platform that embeds the rule engine.
Application server archives Archives for each supported application server.
Event runtime Real-time business event coordination. Deployed to WebSphere Application Server.
Event Designer Available only on Windows. Design, develop, test, deploy, maintain, and monitor event applications.
Event Capture Widget
Event Replay Widget
Used by business users for testing.


IBM Decision Center

Module Description
Decision Center - Decision Center Enterprise console
- business console
- shared repository.
Rule Solutions for Office Add-ins for Microsoft Word and Microsoft Excel. Used to create mixed rule and non-rule content in a RuleDoc.
Event Capture widget
Event Replay widget
Capture events from a production system, and replay on test system.
Event Tester widget Test the event logic in a business process.
Event Chart Manager widget
Event Chart widget
Event Layout widget
Display charts that show system activity in real time, including...

  • event processing
  • action creation
  • event rule group evaluation
  • total and average values of numeric fields
Events User Console Integrate human activities into the process flow.
Decision Center Java EE deployment archives One for each supported application server.


Security

In secure mode, an application server:

By default, Rule Execution Server is installed with a minimum of security. The Rule Execution Server Console application defines three specific roles:

There is no specific permissions implementation for Rule Execution Server MBeans. All that is required to access the MBeans using JMX are the correct credentials.

Java 2 Security can be disabled and enabled independently of global security.

The Installation Settings wizard helps you create...

ODM has been certified to support Federal Information Processing Standards FIPS 140-2. The FIPS 140-2 standard is an information technology security accreditation program to certify cryptographic modules for use in government departments and regulated industries that collect, store, transfer, share, and disseminate sensitive but unclassified information.


Communication protocols

Rule Execution Server supports HTTP and HTTPS. Communication with Rule Execution Server can occur from Decision Center or Rule Designer. You can customize the protocol factory.

You can customize the communication in two ways:


Secure mode

By default, HTTPS supports only trusted certificates. As a consequence, when you communicate with Rule Execution Server in secure mode, you cannot connect using a demo certificate that is not trusted by the default JVM. Your application server raises an SSL handshake exception if you try to connect using a nontrusted demo certificate. To enable communication to work with nontrusted certificates, add the following Java system property in the start script of the application server:

To allow HTTPS on nontrusted self-signed certificates for Ant tasks, set the Java system property ilog.rules.res.allowSelfSignedCertificate to true, as follows:


Custom protocols

You can customize the protocol factory for a specific protocol using the following system properties:

Launch the JVM that initiates the HTTP communication with these system properties and your implementation of the protocol factory class...

...in the class path.

The protocol factory specified in...

...is instantiated and registered if both the following conditions are satisfied:

You can implement the protocol in one of the following ways:


Third-party tools

ODM includes a number of third-party open-source libraries and tools. The packages are not supported by IBM and IBM does not endorse their suitability for production use. For support, refer to the relevant user community through the Home Page for each package.


Eclipse

Optionally, you can install Eclipse if you do not already have a version of this IDE installed.

The standard ODM installer provides Eclipse as an optional environment for the convenience of users. Eclipse is required for successful application development with ODM, but users can choose to install ODM onto an existing, version compatible, Eclipse installation. You do not have to incorporate Eclipse into applications that you develop using ODM. However, certain features might require that specific Eclipse libraries be included in the final application.


Apache Ant

Apache Ant Version 1.7.1 is provided in...


Software Asset Management system

Include the sam.jar file in the class path of any business rule applications that you develop. Software Asset Management (SAM) is the license enforcement system of ODM. The sam.jar file is specific to a particular customer, but it can be used on multiple machines belonging to that customer.

The ODM installer creates or updates sam.jar files to include purchased licenses. The license details are based on the installer used (evaluation or commercial version) and the installation passwords that you provided.


Make the SAM license visible

After you have installed a module, make the SAM license visible in the class path of this module.

To be able to use the product, you must make sure that the license details are visible in the SAM file for each module.

To make the license visible:

  1. Install the module on your machine.

    The installer inserts a license file in the installation. The license file is included in the sam.jar.

  2. Make sure the JAR file is in the appropriate class path such that the license files within the JAR are visible when you run the ODM modules.

    If you use the classpath_*.xml file to set your class path, the license file is automatically included. The classpath_*.xml file is located in the lib subdirectory of the corresponding ODM component.


Licenses and archive repackaging

If you repackage the module archives containing the sam.jar file, you must repackage this file, too.

For information on Decision Center repackaging, see the configuring and deployment documentation for your application server.


Licenses and multiple rule applications

If you develop more than one business rule application, a message is displayed in the console output when you run your application. In this case, specify the SAM application name for each application.

Depending on the components that you include in your application, you can specify the SAM application name in any of the following ways:


Synergies with other IBM products


ODM integrates with the following IBM products:

See IBM ODM SupportPacs.


Accessibility

Accessibility features enable people with disabilities, such as restricted mobility and limited vision, to work successfully with ODM.

You can navigate through the different ODM environments and their documentation using keyboard shortcuts. The rule management environments, including Eclipse and Microsoft Office, provide documentation on accessibility features. You can also find topics that cover keyboard shortcuts in the documentation for ODM. Magnification

You can use the settings of display systems to magnify development interfaces and supporting documentation

You can use a screen reader with a digital speech synthesizer, such as IBM Easy Web Browsing, to hear what is displayed on your screen.