IBM Support

Distribute Decision Validation Service tests on different Rule Execution Server instances

Technote (FAQ)


Question

Can I configure Rules Team Server to distribute the Decision Validation Service tests to multiple application servers?

Cause

With a Rule Execution Server environment defined on a domain with multiple servers it is possible to define which Rule Execution Server instances will be used to execute the Rule Team Server Decision Services

Answer

First remember to pack all your XOMs (eXecutable Object Model) into the ssp.war following the documentation.

Then make sure the SSP (ssp.war) is deployed on each server along with a XU connection factory and the appropriate datasource definition.

Then create your own SSP resolver, add it to the teamserver.war and set the teamserver.defaultSSPResolver.class property to this class following this specification.

By implementing your own method IlrSSPResolver.getSSPURL(String serverName,URL url), you will be able to point to something else than the default provider.

The default provider uses the url of the Rule Execution Server passed in parameter and replaces the application name with testing.

A simple implementation can use the server name to return a specific server URL.

for example you can have 2 servers defined in RTS:

  • testingServer1 http://host1:9080/res
  • testingServer2 http://host1:9080/res

And your SSP provider can evaluate the SSP URL as follow :


if ( serverName.equals("testingServer1") )
{
    return ( new URL( "http://server1:9080/testing" ) );
}
else if ( serverName.equals("testingServer2") )
{
  return ( new URL( "http://server2:9080/testing" );
}
else
  return( new URL( "http://host1:9080/testing" ));

Then when running a DVS test the execution will be dispatched according to the server you choose.

For a more elaborate implementation you can have a dependency with the project being tested so that you can distribute the DVS execution based on a project:


ManagerBean bean = ManagerBean.getInstance() ;  
IlrSession session = bean.getSession();
IlrRuleProject project = session.getWorkingBaseline().getProject();
String pname = project.getName();

.

Related information

Repackaging the XOM for remote testing
IlrSSPResolver

Document information

More support for: WebSphere ILOG JRules
Miscellaneous

Software version: 7.1.1

Operating system(s): Platform Independent

Reference #: 1502095

Modified date: 17 June 2011