In recent times, the need to follow government regulations and identify fraud to avoid financial loss as become more prominent. This forced companies in financial and health care domains to implement stricter business processes. The need to adapt and build better business process requires to use Business Rules Management System (BRMS) which will allow to modify and implement the business rules on the fly. In technical terms, it established a need to use BRMS. IBM offering of the BRMS is IBM Operational Decision Manager (ODM). In any given architecture to make a component reusable and abide to modular design is to integrate the component to Enterprise Service Bus. This will allow to improve the system with minimal impact to other systems.
Why to integrate Datapower XI 52 with WebSphere Operational Decision Manager (ODM)?
Both the products complement each other well. The core competence of the Datapower XI 52 is capability to process XML fast, good security options and integration capability with different systems.
Advantages of Integration
- Flexibility: Ability to expose rules as JSON over REST, as of writing ODM only provides ability to expose rules as XML over JSON.
- Security: Avoid exposing the ODM directly outside the enterprise. Datapower has capability to block Distributed Denial of Service (DDoS) attack
- Unified Process: The integration helps to orchestrate the processes better. This will allow build as unified process with check and balances for calls related to BRMS.
One way of integration Datapower to ODM
ODM exposes rules using Hosted transparent Decision Service Interface (HTDS). HTDS will allow any deployed rules package to expose rules using REST. For our demonstration, we will use a Datapower XI 52 Virtual Machine (Version 6) with Operational Decision Manager (Version 8.5) with complete mini loan rules app.
Step 1: Deploy the rules app
You can build the Mini loan rules app using the tutorial provide by the IBM here and complete the deployment.
Step 2: Download WADL or WSDL
Once application is deployed open the Rule Execution Server Console.
Go to Explorer -> Click corresponding rules set -> click RetrieveHTDSDescriptionFile (as shown below)
Select Latest Rules Set and Latest RuleApp version and click download.
Step 3: Setup a pass through Multi-Protocol Gateway
This will act as pass through for now but can be used for XML to JSON conversion, security setup and other use cases.
Step 4: Test
We are using POSTMAN plugin in chrome to test this service.
Using the WADL we download we can build the request for the service.
The request URL looks like
http://<DatapowerHostAddress>:<MPGPort>/DecisionService/rest/v1/myruleapp/myruleproject?Accept=application/xml&Accept-Language=en
Sample Input
<par:Request xmlns:par=”http://www.ibm.com/rules/decisionservice/Myruleapp/Myruleproject/param”>
<!–Optional:–>
<par:DecisionID>test5</par:DecisionID>
<!–Optional:–>
<par:borrower>
<creditScore>600</creditScore>
<!–Optional:–>
<name>string</name>
<yearlyIncome>80000</yearlyIncome>
</par:borrower>
<!–Optional:–>
<par:loan>
<amount>25000</amount>
<approved>true</approved>
<duration>240</duration>
<yearlyInterestRate>0.05</yearlyInterestRate>
</par:loan>
</par:Request>
Sample Output:
<?xml version=”1.0″ encoding=”UTF-8″?><par:Response xmlns:par=”http://www.ibm.com/rules/decisionservice/Myruleapp/Myruleproject/param”>
<par:DecisionID>test5</par:DecisionID>
<par:loan>
<amount>25000</amount>
<approved>true</approved>
<duration>240</duration>
<yearlyInterestRate>0.05</yearlyInterestRate>
</par:loan>
</par:Response>
Execution Trace
By this test we are successfully tested the integration between Datapower XI 52 and ODM. The sample loan application execution trace shows the rules trigged when service is hit.
References
- Using Hosted Transparent Decision Service Interface (HTDS) in IBM Operational Decision Manager
- Mini loan Web application