Should I use HTDS or MTDS to execute my ruleset deployed to Rule Execution Server through a web service?
LaurentTCT 270002K921 Visits (8810)
Transparent decision services, Hosted Transparent Decision Service (HTDS), and Managed Transparent Decision Service (MTDS), provide immediate integration of ruleset execution with any other application through a web service.
HTDS does not require that you generate any code, but up to JRules V7.1, you must use MTDS if some of the ruleset parameters use complex Java™ types, because HTDS did not support complex Java types.
From version 7.5 of the product (WODM - WebSphere Operational Decision Manager / ODM - IBM Operational Decision Manager), HTDS supports ruleset parameters with complex Java types. Therefore, use MTDS only in the following cases:
The HTDS signature is always derived from the ruleset signature, with the same set of input and output parameters.
By default, the signature of the MTDS web service that is generated by Rule Studio/Rule Designer is the same as the ruleset signature. However, you can remove or add input or output parameters by modifying the accessors and modifiers in the classes that are generated for the requests and responses.
A typical use case is if you want to remove the Decision ID input parameter from the MTDS signature.
By using an MTDS, you can also modify the generated code of the runner implementation class for one of the following purposes:
Note: Up to JRules V7.1, Rule Studio only generates MTDS code for WebSphere Application Server CE and JBoss, but technote Creating a Web service project for RuleApps for WebSphere Application Server V7 provides a way to generate the same for WebSphere Application Server. From version 7.5 of the product, this feature is integrated in Rule Designer.
For more information on the decision service feature, refer to the following documentation sections and technote: