This session was a quick overview of business rules. Business rules, Michael says, represent the constraints and behaviors of your business – your policies, not just your IT rules like database integrity rules. Business rules are owned by the business – eligibility, pricing, CRM practices and so on. Michael divided these rules up into things like rate calculation rules, decision or eligibility rules, recommendation rules, personalization or localization rules, configuration rules and more. Historically these have been stored in databases or code (if automated) and in tacit know-how and documents (if manual). Obviously manual rules can be hard to scale or apply consistently while automated ones are opaque to the business. Challenges:
- Zero visibility into decisions
Even though the business “own” these rules and are accountable for them they cannot understand the software
Business rules often change more rapidly than software and so tying them into a software release cycle and an SDLC is a real problem
- Human experts are expensive
Hard to scale, expensive to train and hard to maintain knowledge
- Scattered knowledge
Most companies use all the various approaches so there is not central place to manage rules leading to compliance issues, consistency issues etc.
Business rules management allows you to externalize the rules, allowing them to change more rapidly, automate critical decisions, apply them consistently and puts the business in charge of maintaining the rules (though there are challenges with this as I discussed in this post on business usage of this kind of technology and have discussed in this brief).
SAP got into the rules business by acquiring YASU, an independent rules vendor, and used their expertise to build a complete rules environment inside Netweaver. Michael used a warranty claims process example from YASU to show how decision automation can work – the rules-based solution saved nearly $2M while processing time was reduced by 80%.
Netweaver Business Rules is part of the Netweaver Composition Environment (CE). It allows you to model rules as:
- If then rules
Simple English-like statements supporting and/or logic
- Decision tables
Tabular format, looks kind of like a spreadsheet and 7.2 actually allows you to use Excel. This is technically what I call a rule sheet not a decision table but that’s OK.
- Rule flows (or what I prefer to call decision flows) from 7.2
The rules can use a fairly natural language style and run against either Java objects or XML. All of this shares an environment and navigation with the rest of Netweaver – they work together or separately but are integrated when used together.
End to end support is offered within the environment, integrated into Eclipse-based tools. Also a web-based collaborative tool with role-based access to manage and deploy rules. Version management and traceability are also supported. The Rules Manager allows roles-based extension of the rules through a web-based interface so different users can have different permissions for different rules. Comparison tools and rule verification are also supported in this environment to help business users make changes safely.
One of the key features of business rules is their reusability and SAP allows the Netweaver BRM rules to be built into composite applications, exposed as web services, linked to business processes or even linked to the legacy SAP programming language ABAP. The integration with Netweaver BPM allows you to bring in decision services, the best way to use rules by the way, but you can also use the rules to support human activities, to handle mapping and transforms.
Michael ran through a demo. This started with the Eclipse-based environment which was, as you would expect, pretty developer-friendly. The various artifacts could be easily created and the rule flow or decision flow was nicely based on BPMN which I thought was a smart idea, given the integration with Netweaver BPM. Some quick and easy tools to help developers with testing and verification, deployment and so on.
The current version of the Business Rules Management component is pretty good but there are some nice features coming in 7.2. 7.2 adds the rule flow, integrates with Excel, generates web services for a ruleset easily, version management, HTML reporting, rule effectivity and the web interface for business users.
In the future SAP plans to add various features:
- 7.2 is coming at the end of the year with its new features
- Q3 2010 will see a more expressive rule language, improved rule testing and debugging, better integration as well as localization and improved reusability
- Vision is for what-if scenarios, rule-based event correlations and event responses, and integration with the enterprise service repository.
Some good thought has gone into the SAP Netweaver BRM capability and I look forward to finding out more in subsequent sessions.