Most of you will have heard something about Business Rule Engine by now, some more, some less. When I talk to people about it, they are usually quite interested, listen to me talking about the general idea, a little about the programming concepts involved and how we plan to make it a future of SAPERION. After I stop for a moment to catch my breath, I am usually told the following:”That is all very interesting, what a nice concept, we might see more of that in some future, BUT, why would “I” need a Rule Engine?” After working in this field for over a year now, I have seen a lot of examples (some closer to reality than others), exchanged ideas with other professionals and even had a few of my own.
In this post I would like to share a couple of them with you.
Before I start, I would like to explain a little about the general idea, mentioned in the introduction.
Business Rule Engines (RE) are use to separate business logic from the rest of the programming. A comparable approach was taken, when databases were introduced, as means to encapsulate data storeage and functionality. The main benefits of today’s detachment can be understood, once realising that not only do business rules and programming code have different life-cycles, but are also created and maintained by two different sets of people. Business Rules are used to describe processes, conditions and constraints within a company’s daily work, and should not be hard coded within the programming code, but vendor interdependently, for the sake of flexibility and clean programming. An RE (Rule Engine) is an external, closed collection of libraries that may be called via an interface by other programmes.
Automating / Simplifying recurring Processes
Especially in collaboration with a Workflow Engine this bears great possibilities. While the workflow describes the different steps and dependencies within a process, the RE can focus on the single step and may be used to set or manipulate computable or attribute base values. This speeds up the process and reduces error-proneness.
Classification of documents
Based on properties, characteristics and possibly content, an RE may be used to classify a document, in order to threat it accordingly to its type. Among others areas, this poses particular value to the field of compliance.
Incorporating features like location, division or post an RE may grant or deny access to an area or specific document.
Mail / Invoice in-box
This scenario is close to the document classification, although this time the focus is on the recipient. This becomes a very realistic case regarding invoices, when taking different cost centres with different authority limits of different employees into account.
Identify next actor (workflow)
This example is tightly coupled with the Automation, or In-box example respectively. Within a workflow an RE bears great potential for delegating or forwarding a document or task, based on runtime properties like for e.g. cost centre, invoice amount or customer class.
After evaluating things like receiver, sender and keywords in subject or content, an RE may decided whether that email is to be send and if there should be an automated CC or BCC.
Load balancing / Contact allocation
If a new customer is acquired, a Rule Engine could be used to allocate a specific representative permanently to that customer. This decision may be based on current load, experience and professional skills. Should the situation change, or even the representative leave the company, the RE would automatically search for the most suitable replacement and carry out the required updates.
Computing attribute base Values
This is a very general example and an extension of the Automation scenario.Whenever dealing with frequently changing, computable or attribute based values, an RE provides a viable solution. Common situations are discounts, interests, taxes and dues.
This list is by far not complete, nor does it try to be, but is meant to be an excerpt from all the possible scenarios I have come across so far, focusing on those, I have thought to be most viable in a business environment.
Even if few to none of them fit Your particular business, I still hope you gained a general idea about possible applications of a Rule Engine and are inspired to think about “What a Rule Engine could do for YOU”, especially in the context of our SAPERION ECM and BPM Suites.