Apr 28, 2008

Oracle BPEL: Integrating ILOG JRules

On my journey through the Oracle documentation universe i found this link (Release notes of Oracle BPEL PM 10.1.3.3.0).
On page 25 the integration of Oracle BPEL PM with ILOG JRules and JDeveloper is described. You have to perform only 3 steps:

1. Customize your JDeveloper with just copying one jar-file into a JDeveloper directory:
Perform the following steps at the operating system command prompt:
cd ${JDEV_HOME}/integration
mkdir thirdparty/ilog/lib
cp ${JRULES_HOME}/executionserver/lib/jrules-bres-session-java.jar \
${JDEV_HOME}/integration/thirdparty/ilog/lib

2. You have to change the server.xml:
Search for shared library oracle.bpel.common and add the following JAR files

<code-source path="${JRULES_HOME}
/executionserver/lib/jrules-bres-execution.jar"/>
<code-source path="${JRULES_HOME}
/executionserver/lib/jrules-bres-manage-tools.jar"/>
<code-source path="${JRULES_HOME}
/executionserver/lib/jrules-bres-session-java.jar"/>
<code-source path="${JRULES_HOME}
/executionserver/lib/jrules-engine.jar"/>
<code-source path="${JRULES_HOME}
/executionserver/lib/commons-digester.jar"/>
<code-source path="${JRULES_HOME}
/executionserver/lib/commons-logging.jar"/>
<code-source path="${JRULES_HOME}
/executionserver/lib/sam.jar"/>
<code-source path="${JRULES_HOME}
/executionserver/lib/xercesImpl.jar"/>


3. Start your application server again.
4. Verify that bpel/system/services/config/DecisionServiceConfiguration.xml is configured to ILOG JRules:

<ruleEngine name="Ilog" description="Ilog JRules 6.1">
<ruleEngineClass>
oracle.bpel.services.rules.rpi.ilog.IlogRuleEngine
<ruleEngineClass>
<properties>
<property name="jndiXuConnectorName">
eis/XUConnectionFactory
<property>
<property name="ruleSessionProviderClass">
ilog.rules.bres.session.j2se.IlrJ2SERuleSessionProvider
<property>
<properties>
<ruleEngine>

<factContext name="XOM" description="Ilog JRules 6.1 XOM">
<factContextClass>
oracle.bpel.services.rules.rpi.ilog.XOMFactContext
<factContextClass>
<factContext>


If you want to use ILOG JRules with Oracle BPEL please read the Original release notes to configure your application server. The points 1 to 4 are only an impression of how easy you can integrate JRules to an Oracle BPEL.

But there are some limitations:
Parameter type support — The input and output parameters of the rule set you want to expose as a decision service must be derived from an XML-schema element. The decision service does not currently support type models based on JavaBeans or others.

Deployment of Ilog JRules decision service — Some Ilog JRules specific deployment artifacts must be copied into the Web archive suite of the decision service prior to deployment. This may include configuration files for the JRules XU resource adapter (ra.xml) or any other Ilog specific file. See the Ilog JRules documentation for details.

1 comment:

  1. Greetings and Happy New Year. Aftermath a comprehensive Southern Methodist University (SMU) 2002 Java classes, i have been attending Oracle and IBM enterprise applications deployments with Java, JEE and XML Web Services trainings, many IBM and Oracle technologies overlap.
    In integrating ILOG and BPEL, i found steps outlined here involving configuring server.xml on Apache Tomcat very straight forward. However Oracle has migrated many applications on Tomcat onto Weblogic Application server, why would you recommend weblogic or websphere than Tomact? Thanks.

    ReplyDelete