Rule Engine in Siebel
Adding complex, dynamic business rules in Siebel has never been an easy task (well, for all verticals anyway). Architects and designers have learnt to play around with Siebel SmartScripts, tools/client-side scripts in combination with Siebel Workflows and other business layer validations to achieve the required flexibility and maintainability, but not compromising on performance. But with the advent of newer solutions in the market, the lack of an effective rule engine in Siebel itself can be a hurdle for effective use and maintenance of the solution. This calls for evaluation of third party rule engines that can fill the gap.
Oracle Policy Automation #
This is the defacto rule engine recommended by Oracle, and is positioned as a replacement to Haley business rules that was introduced in Siebel 8. Providing ability to define complex rules using natural language, OPA provides for really good, flexible rules that can be easily authored by users in Microsoft Word documents. OPA can help in driving decisions through its own Q&A screens, and also act as a back-end rule engine through web service interactions.
Use OPA if you have complex, dynamic rules that need a firm business ownership at any point of product’s existence. Do not use OPA for validations, to act as an alternate to SmartScripts/workflow, for assignments and as an alternate to Siebel UI. Be wary of support in offline mode for desktops/laptops, and also plan on how you support mobile devices. OPA is not a one-to-one replacement for Haley Authority, and plan to accommodate for usability, architectural changes.
Oracle has an interesting white paper on when to use OPA
Haley Authority #
Support for Haley engine got introduced in Siebel 8 and was removed in a minor version release of Siebel 8.1. The product came packaged with the license for Haley Authority and packaged as “Siebel Business Rules”. The two products are two distinct products despite the common name. OPA is a descendant of RuleBurst Offlice (later called Haley Office Rules), which was designed by a separate company that acquired Haley Systems.
Use Haley rules if you are planning a stop-gap arrangement in an existing Siebel 8 or 8.1 installation, when you are aligning to a big bad world of implementing rule engines. Do not plan long term solutions the future is OPA.
Oracle Business Rules #
This is a completely different approach to implement business rules. While the previous products are more useful to put control of the logic in the hands of business users, this is more programmer friendly.
Use Oracle Business Rules to implement business rules in the technical space so that the code does not change when the rule does. Although business users can use this product, it does not offer the same flexibility of OPA. Use Oracle Business Rules if you have technical ownership of the rule implementation, and already have Oracle Fusion platform implemented. Else, you might want to wait and watch the fun for some more time.
Pega BPM #
Yes, Pega has its own CRM product. No, this alone does not rule out Pega BPM.
Add the additional complexity of interfacing with Pega BPM if you already have the product in use in the organization, and if you have a longer-term strategy to consolidate business rules in one place in that BPM solution. This usage is complete customization, and plan for any crazy upgrades for Siebel/Pega/everything in between.
Go All Custom #
Well, each of the programming languages have standard rule engines. Drools in Java, Drools.NET/FlexRule for C# and so on come to mind. If you are adventurous the integration with custom frameworks is the way to go. This will not only test your development and management skills across technologies, but also provide a way to “see the light” either in the path of enterprise packaged software or custom implementation.