In a recent BrainStorm San Francisco conference, IBM hosted an Innovation Workshop titled The Business Rules Advantage for Process Improvement. Included in the content was a section around understanding the synergies for Business Rules Management and Business Process Management including a live demo. You may also wish to watch the video companion to this entry. Below, let's run through how this demo was created and presented with a focus on the integration itself. We will not address the reasons to use BRM and BPM, a good idea for a future entry ;) ...
Our use case is eligibility claims processing. For this integration between BPM and BRMS, we assume we have a rule-based decision service ready and waiting to be executed along with a business process that will use that rule-based decision service. For more on creating a rule-based decision service, you might see this post. Using IBM WebSphere Process Server and ILOG JRules, we will apply a common, integration lifecycle including:
- Review business rules
- Automate creation of SCA component from rules
- Review business process
- Test business process using SCA component
- Change business rules and see instant change
Developer Review of Business Rules
First, we can review the business rules available in ILOG Rule Studio, both a standard business rule (BAL rule) and a decision table:
Automated SCA Component creation
Once we have an idea of the rules available, we can reuse these rules in a few different manners within our business process. Web Services are a nice, loosely coupled option and easily available with the Hosted Transparent Decision Service (HTDS) in ILOG JRules where a WSDL is auto-generated with no code deployment. For this integration, we chose another option: an SCA Component. For more on SCA Components, see this developerWorks article. In short, "Service Component Architecture (SCA) is a set of specifications which describe a model for building applications and systems using a Service-Oriented Architecture." Further, "SCA encourages an SOA organization of business application code based on components that implement business logic, which offer their capabilities through service-oriented interfaces...."
With IBM WPS and ILOG JRules, we have a tight integration available via the LA71 SupportPac: WebSphere ILOG JRules Integration for WebSphere Process Server. Installed in ILOG Rule Studio and IBM WebSphere Integration Developer (in the same Eclipse workbench), we can easily generate an SCA Component for a RuleApp (or deployable set of rules). First we select the SCA Component from RuleApp wizard:
Then, we provide the RuleApp and select the rule-based decision service:
Finally, we provide a few more naming details:
And Presto! We have all the necessary SCA interfaces and resources generated to call the rule-based decision service within a business process.
Developer Review of Business Process
Let's take a look at the business process next and see where we can use this SCA Component to call the ILOG BRMS. Here is the business process:
And here is the specification of the Invoke block in the above process using the SCA component and rule-based decision service named Eligibility:
Developer Testing of Business Process
From here, we can easily test our process within WebSphere Integration Developer and see some output from the server logs:
Business Changes to the Business Rules
Now, if the business needs to make a change to the business rules without modifying the process, they can login to ILOG Rule Team Server and view the rules in a easy and powerful interface specifically for business users. Here is an example of the same decision table in Rule Team Server:
The business needs to make two changes to the rules:
- Washington state now requires a manual review similar to CA.
- Males are now allowed to be 16 instead of 18.
Here is the updated decision table after the changes were made:
The rules can then be deployed from Rule Team Server using a simple wizard as depicted below:
See Change in Business Process
Once the new rules are deployed, the process can be immediately invoked and the new rules are taken into account with new resulting output in the server logs. Below is a sample of the log output with the same input data as above, where we can see that now WA state has a manual process where it did not earlier:
Above, and in the video companion to this entry, we see how managing business rules separate from business process allows dynamic changes to decision logic within an organization. By combining IBM WebSphere Process Server and IBM WebSphere ILOG JRules, true business process improvement is realized! Thank you for reading and feel free to provide feedback in the Comments section.