Overview: Operational Decision Manager v8.0.1
ODM enables businesses to respond to real-time data with automated decisions. IT and business users manage the business decision logic. Components include...
Decision Server Rule execution server Decision Center Rule management and authoring Rule Designer Rule application development
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 is a scalable decision management server and repository with a collaborative web environment for managing business rules and events.
Decision Center includes...
- role-based security
- history maintenance
- custom metadata
Develop rule applications based on Java or XML and deploy them to WebSphere Application Server.
Use Rule Designer to...
- Create rule projects in Eclipse.
- Package business rules into rulesets.
Applications pass data to rulesets, and read data returned from the ruleset.
- Define the vocabulary used in business rules...
Top-down manner: Map the BOM to the XOM Bottom-up manner Generate the BOM from the XOM, and then customize the BOM
- In the rule project...
- Organize a rule package structure
- Define a ruleflow to specify the flow of execution for the business rules
- Create rule model extensions that define properties for managing business rules,
- Set up up business user validation tools using the Decision Validation Services.
Make decisions such as...
- pricing for insurance or loan underwriting
- eligibility approvals for social services
- product recommendations for online purchases
For example, the business policy...
Customers who spend a lot of money in a single transaction need an upgrade.
...can be implemented with the following business rule...
customer category is Gold
value of customer shopping cart is more than $1500
change customer category to Platinum
route customer to a preferential service
apply additonal security to transaction
Business logic is packaged and then called from applications.
Business Event Processing
Use event rules to...
- Sense when a business event has occurred.
- Coordinate a response or action.
events A and B occur and event C does not occur in <time frame>,
do actions X, Y and Z after time frame
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...
- Design a data model
- Orchestrate ruleset execution
- Author, review, and test rules
- 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...
- Business rule templates
- Vocabulary categories
- Rule authoring extensions
Deploy business rule applications
Deployments of business rule applications can be done from the Rule Designer or the Decision Center.
- Package rulesets into a RuleApp executable archive.
- Write the code to run the rule engine on this RuleApp.
- Expose the RuleApp to the calling application.
- Configure Rule Execution Server for the chosen application server.
- Deploy the RuleApp to Rule Execution Server.
- Use the the Rule Execution Server console to manage the RuleApps.
- Enable test execution.
- 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...
- Rule Execution Server console
- Ant scripts
To monitor use...
- Enterprise management tools such as IBM Tivoli or HP OpenView
- JMX MBeans
- Archived execution results in Decision Warehouse
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...
- Design a data model
- Orchestrate event execution
- Author, review, and test events
- Deploy event application to Java SE, Java EE, or z/OS platforms.
The data model consists of business objects that...
- Identify where data comes from (event objects, data connections)
- Where the results of business event evaluation are sent (action objects)
Event objects construct business objects, which in turn, create action objects.
- In Event Designer, create event assets in an event project.
- Create a sub-folder for each business system to integrate.
- 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.
- 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:
- File system
- Relational database
- User Console
- 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.
- 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.
- 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.
- 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
- Test using Event Capture and Event Replay widgets.
- Capture events from a production system
- On test system, replay events
- 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
- 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
- Developers publish rule projects to Decision Center.
- Analysts author and manage business rules using the Decision Center console.
- Decision Center Enterprise console
- Decision Center Business console
- Rule Solutions for Office
- From Decision Center, analysts deploy business rules to Rule Execution Server
Use branches to...
- work on multiple releases of the business logic
- write queries on the business rules in their rule project
- create reports to review the results of the queries
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:
- Select a language pack within the installer
- Update an existing product package
- Modify an existing product package
- Roll Back a product package
- Uninstall a product package
The following set of products can be installed on a distributed platform:
- IBM Decision Server
- IBM Decision Center
- IBM Business Rules Embedded
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.
In secure mode, an application server:
- Checks access to the class resources using the Java reflection mechanism
- Manages access rights including access to Rule Execution Server Console.
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...
- The correct groups in your application server
- The correct type of database schemas
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.
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:
- Support nontrusted certificates in secure mode.
- Support custom protocols
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:
<property name="ilog.rules.res.allowSelfSignedCertificate" value="true"/>
You can customize the protocol factory for a specific protocol using the following system properties:
- custom.protocol.factory: The fully qualified name of the protocol factory.
- custom.protocol.scheme: The protocol name for which the protocol factory is customized.
- custom.protocol.defaultPort: The default port used for the protocol if no port is specified in the URL.
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:
- The HTTP client is instantiated.
- The protocol in the URL used for communication is the same as the value of the property custom.protocol.scheme.
You can implement the protocol in one of the following ways:
- Execute an Ant task with the system properties:
- Add the properties to the build.xml file:
<property name="custom.protocol.factory" value="com.ilog.MyProtocolFactory"/>
<property name="custom.protocol.scheme" value="https"/>
<property name="custom.protocol.defaultPort" value="443"/>
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.
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 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.
- If you are granted extra access over previously installed modules (an evaluation extension, for example), launch the installer to reinstall the modules with the new rights.
- If you are granted access to extra modules, launch the installer to install them and to update all the SAM JARs for the entire file tree to include the new access, typically, to the SAM JARs of the old and the new modules. To benefit from the extra access beyond the installed tree, in Eclipse or on an application server), redeploy from the updated tree.
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:
- Install the module on your machine.
The installer inserts a license file in the installation. The license file is included in the sam.jar.
- 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:
- By setting a property within your ruleset: see the IlrPropertyNames interface
- By using the IlrRuleset.setApplication(java.lang.string) method
- By setting the Java system property ilog.sam.application when starting your application
- By using the ruleset property ilog.sam.application in the Rule Execution Server Console
Synergies with other IBM products
ODM integrates with the following IBM products:
IBM Business Process Manager Supports rule authoring and execution features similar to ODM. BPM's Business Action Language (BAL) is used for for authoring if-then rules in the Intellirule Editor. Process Designer users can export and import rule projects. IBM Process Designer and Integration Designer also include wizards to integrate existing business rule applications into business processes. IBM Business Monitor The Business Process Manager Advanced SupportPac (LA71) provides integration with IBM Business Process Manager. The integration with IBM Business Monitor provides real-time monitoring of business decisions. The Business Monitor SupportPac (LB01) provides integration with IBM Business Monitor. IBM SPSS Provides business predictive analytics. The Predictive Analytics SupportPac (LB02) provides integration with IBM SPSS.
See IBM ODM SupportPacs.
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.