New visual rule builder (Michael Neale) I have been beaving away on a new UI/rule modeller specifically for the web (well, at least the web initially, hopefully we will also do it stand alone in the plug in soon).
The famous golfer riddle - first published (as far as I know) by rule-celebrity Dr. Ernest Friedmann-Hill (creator of the JESS rule engine) in this online-article.
Having just wrapped up the European Business Rules Conference (see my previous posts), I noticed that some misinformation was provided at EBRC around sequential and inferencing execution of business rules. Sadly the misinformation was provided by a vendor
Rules in (and for) the Web have become a mainstream topic since inference rules were marked up for E-Commerce and were identified as a Design Issue of the Semantic Web, and since transformation rules were put to practice for document generation from a cen
Drools is an enhanced Rules Engine implementation based on the ReteOO algorithm, an algorithm adapted from the one originally devised by Charles Forgy. Drools has become quite popular due to performance characteristics and it’s natural language semantic
One consistent question we get from outside the CEP market is: what is the difference between a “standard” Business Rules Engine (or BRE) and a (rule-driven) Complex Event Processing engine? This is particularly interesting because a rule-based CEP en
Using a rule engine provides a framework that allows a way to externalize business logic in a common place. This will in turn empower business users and subject matter experts of the business to easily change and manage the rules. Coding such rules directly into the application makes application maintenance difficult and expensive because the rules change so often. This article goes into detail on how to architect and build a service that uses Drools to provide business decisions. This service can be part of the overall enterprise SOA infrastructure. As such, it can either be a standalone service that is consumed in a one-to-many model by all contracted consumers, or part of a composite service that provides a complex business functionality. To illustrate this point, the article shows how a service using the Drools rule engine can hide the complexity of automating mortgage underwriting decisions that a mortgage company needs to make on a daily basis.
Business Process Management (BPM) und Business Rules Management (BRM) zusammen in einer service-orientierten Architektur (SOA) sind die methodischen und technischen Voraussetzungen, um Geschäftsprozesse zu industrialisieren und agil zu sein. BPM schafft die Automatisierung und Standardisierung von Geschäftsprozessen, BRM die Standardisierung und Transparenz von Management-Politiken und -Prinzipien. Und eine SOA bringt die Service-Orientierung, die uns erlaubt zwischen spezifischen Logiken einzelner Prozesse und prozessübergreifenden Logiken gebündelter Kompetenzen und Dienstleistungen sauber zu trennen. Das schafft Agilität zusammen mit Industrialisierung.
Most BREs today are deployed as “decision services”, and are used in “stateless” transactions to make “decisions” as a part of a business process. A CEP application is instead processing multiple event streams and sources over time, which requires a “stateful” rule service optimized for long running. This is an important distinction, as a stateful BRE for long-running processes needs to have failover support - the ability to cache its working memory for application restarting or distribution. And of course long-running processes need to be very particular over issues like memory handling - no memory leaks allowed!
The one, really big, difference between Complex Event Processing and traditional BRMS tools is that the former is loosely associated with EDA and decisions that are based on multiple events, whereas the latter is more associated with conventional request-reply SOA and automating decisions made in managed business processes.
Rule-processing is just a style of computation. Of course it is used in BRMS, but it is also used in CEP. CEP systems typically employ rules-based processing to infer higher-order events by matching patterns across many event streams within the event ‘cloud’. BRMS’s use rule processing to match patterns within data tuples representing business-orientated data. CEP systems may support the use of advanced analytics to manage predictive analysis, reasoning under uncertainty and other requirements in relation to the event cloud. Some of the better BRMS’s offer similar analytics in regard to processing business data.
Substitute a standard web services interface for a speaking tube, a business rules management system for his encyclopedic knowledge of policies and regulations, data mining or predictive analytics for his customer knowledge and adaptive control for his experimentation and you have Decision Management. The Answerer but on an industrial scale.
Let’s start by recapping decisions services. Decision services are services, generally stateless ones, that answer business questions for other services. Decision Services typically have no side effects so they can be called whenever they are needed without the caller worrying that something will change in the system. This means that database updates, event generation or other actions taken as a result of the decision are taken by the caller not by the Decision Service. This is not 100% true but works as a general rule. To work, Decision Services need to contain all the logic and algorithms necessary to make the decision correctly.
Rob sees three key areas where rules can help:
Tighter warranty controls
Claims processing is improved because financial limits, detailed coverage types, materials return and more can be automated and rapidly changed when necessary. The rules also allow “what-if” testing and impact analysis.
Better built vehicles
The decision making is tracked very closely thanks to rules so you can analyze specific repair types, specific VINs and so on. More effective parts return and generally better information also contribute.
Lower cost repairs
Rules allow goodwill repairs, labor-only repairs and specific kinds of repairs to be managed very precisely. Rules-driven decisioning can reduce the variation of costs between dealers and help intervene, rejecting or editing claims that seem overly expensive. The ability of rules to deploy data mining and predictive analytics can also really help here.
JT has posted his view on rules and decisions and how they relate. Given that James talks more about services than events, I thought it would be worth reviewing his post from both a Complex Event Processing and a TIBCO BusinessEvents event processing platform perspective.
”Decision Services:
Support business processes by making the business decisions that allow a process to continue.
Support event processing systems by adding business decisions to event correlation decisions (they are often called Decision Agents in this context).
Allow crucial and high-maintenance parts of legacy enterprise applications to be externalized for reuse and agility.
Can be plugged into a variety of systems using Enterprise Service Bus approaches.”
The main characteristic to be aware of in these tools is that BE is primarily rule-based (using an embedded rule engine), whereas BW and iProcess are orchestration / flow engines. In BE we can use a state diagram to indicate a sequence of states which may define what process / rules apply, but this is really just another way of specifying a particular type of rules (i.e. state transition rules).
The main advantages to specifying behavior as declarative rules are:
Handling complex, event-driven behavior and choreography
Iterative development, rule-by-rule
The main advantages of flow diagrams and BPMN-type models are:
Ease of understanding (especially for simpler process routes)
Process paths are pre-determined and therefore deemed guaranteeable.
In combination these tools provide many of the IT capabilities required in an organization. For example, a business automation task uses BW to consolidate information from multiple existing sources, with human business processes for tasks such as process exceptions managed by iProcess. BE is used to consolidate (complex) events from systems to provide business information, or feed into or drive both BW and iProcess, and also monitors end-to-end system and case performance.
The SBeaVeR editor is an Eclipse based plugin that allows business modellers and analysts to create fact-oriented business models and rules based on OMG's SBVR (Semantics of Business Vocabulary and Business Rules) standard. It is part of the Digital Busin
F. Bry, T. Furche, C. Ley, B. Linse, and B. Marnette. Proceedings of 22nd Workshop on (Constraint) Logic Programming, Dresden (30th September--1st October 2008), (2008)