To use rules that are written in IBM Operational
Decision Manager to process messages in IBM Integration Bus, you first import a rule application
archive into the IBM Integration Toolkit. At run
time, you can retrieve those business rules directly from an external IBM Operational
Decision Manager repository or from a local application,
library, or integration project. For example,
you can use the local copy of the business rules for testing, then
later switch to use the external repository copy. The rules in the
external repository can be updated independently of the local copy
of the rules by business users with IBM Operational
Decision Manager tools.
A
configurable service (DecisionServiceRepository) is provided for you
to connect to the external repository at run time. You can update
the default DecisionServiceRepository configurable service only. You
cannot create multiple DecisionServiceRepository configurable services.
When
you connect to the external repository, you can connect to two components:
a database repository and a management server. The database repository
contains the definitions for the rule applications and rule sets that
are named in the decision service. When you configure the DecisionServiceRepository
configurable service, you must provide connection details for the
database repository. (For information, see Configurable services properties.)
The management server is used to update and monitor the repository.
Configure the connection to this management server if you want the
integration servers (integration servers) to receive updates about changes
to the rule applications in the repository.
To configure the
connection details for the database repository, you create a JDBCProviders
configurable service with the properties to define the JDBC connection.
You then set the JDBCProviderName property of
the DecisionServiceRepository configurable service to the name of
the JDBCProviders configurable service. The JDBCProviders configurable
service provides the details for a connection; however, the integration
servers do not establish a JDBC connection directly. Therefore, no
connection pool is created for this definition.
Optionally,
you can use the DecisionServiceRepository configurable service to
register with the Rule Execution Server management console. If the
management console is configured for TCP/IP notifications, the integration
servers can receive update notifications when the contents of rule
applications change. You can also specify when the configurable service
definition is used.
To create the required configurable services,
and retrieve rule sets from an IBM Operational
Decision Manager repository,
complete the following steps.
- Create a JDBCProviders configurable service with the properties
that define the JDBC connection. You must set the following properties to identify the location and name of the database repository:
- databaseName
- serverName
- portNumber
Ensure that the port number is not used by another application. For example, the default IBM Operational
Decision Manager TCP/IP port is 1883, which is also the default TCP/IP port for WebSphere® MQ Telemetry.
The following properties are also required, but the default values that are provided with the JDBCProviders template are sufficient:
- connectionUrlFormat
- type4DriverClassName
- type4DatasourceClassName
For more information about configuring the JDBCProviders configurable service, see Setting up a JDBC provider for type 4 connections.
- Run the mqsisetdbparms command
to associate a user ID and password with the security identity that
is associated with the database that you want to access.
- Set the securityIdentity property
of the JDBCProviders configurable service to associate the connection
with the security identity that you defined with the mqsisetdbparms command.
- On the DecisionServiceRepository configurable service,
set the JDBCProviderName property to the name
of the JDBCProviders configurable service.
For more
information about the properties of the DecisionServiceRepository
configurable service, see DecisionServiceRepository configurable service.
- Optional: To register for rule application
and rule set notifications, set the resManagementHost and resManagementPort properties
to the location of the Rule Execution Server management console that
manages the database repository. The management.tcpip.port property
of the Rule Execution Server must match the resManagementPort property
of the DecisionServiceRepository configurable service.
To
receive these notifications, the Rule Execution Server management
console must be configured for TCP/IP notifications. For further information
about configuring the management console for TCP/IP notifications,
see the section about Changing the default behavior of the management
console in the IBM Operational
Decision Manager documentation
(IBM Operational Decision Manager product documentation).
- Open the message flow that contains the DecisionService node that is
associated with your decision service.
- On the Basic tab of the DecisionService node, select Use
DecisionServiceRepository configurable service.
When
this property is selected, the node retrieves the business rules from
the external IBM Operational
Decision Manager repository.
When this property is cleared, the node retrieves the decision service
from a local application, library, or integration project.
Alternatively, you
can override this property in the broker archive (BAR) file after
the message flow is deployed.
- Save the message flow.
- Deploy the message flow.
For more information
about deployment, see Deploying resources.
When you are using your decision service to process messages,
you can monitor their behavior by using the activity log and resource
statistics. For more information, see the following topics:
For details of the data that you can capture for decision services,
see the following reference topics: