Tuesday, May 18, 2010

Oracle Policy Automation (OPA) on Linux

Apart of the business rules engine within SOA Suite, Oracle bought a few years a ago another great rule engine, Haley. This product is rebranded and optimzied to Oracle Policy Automation (OPA). The product is a real tool that can be supplied to business analysts. The rules can be defined by Microsoft Word or by Microsoft Excel. These rules are saved to OPA.

OPA is more or less just an Java application that can be deployed to Weblogic and can be accessed via SOAP or via Java API.

When you deploy OPA to Weblogic, you will run into a deployment error. Deployed applications on WLS are not unpacked, this will result into an error when you want to start the application.

EngineConfigurationException: No rulebase directory 

The issue is can be fixed to set some specific Java configuration properties. This deployment issue can be fixed as follows, assuming you have downloaded OPA and unzipped the file in a directory:

$ cd web-determinations
$ mkdir tmp
$ cd tmp
$ unzip ../web-determinations.war
$ vi WEB-INF/classes/configuration/application.properties
...
load.rulebase.from.classpath=true
rulebase.path=rulebases
...
load.resource.as.resource=true
resources.path=resources
...
load.properties.as.resource=true
properties.path=configuration
...
load.templates.as.resource=true
templates.path=templates
$ zip -r web-determinations.war *

Deploy this new 'web-determinations.war' file to WLS (10g, 11g)