views:

205

answers:

4

After some searching in google and wikipedia, I still can not get a clear image about the "difference" between BRMS (Business Rule Management System) and BPM (Business process management)/workflow system.

can those two concepts do the same thing from each other? (theoretically) A "rule" can be modeled as a "process" as well. isn't it?

+2  A: 

A rule is a definition, a process involves steps. Business Rules would be something like defining inventory as LIFO or FIFO, whereas Business Process would be that Joe has to input his inventory numbers, which goes to Linda, who validates it, and then the Business Rule is enacted to adjust it to LIFO, and then it's sent to Ralph who throws it on the 10-Q.

The two are very much intertwined, but they are definitely two separate things.

Edit: I should note that often, before it gets into a BRMS, the business rule is in and of itself a process. Converting inventory to LIFO is a lot of math, but it may be done manually by 3 people instead of systematic. It takes a good analytical mind to break things down between rules and process.

Eric
but Business Rules still can define condition, flow or process. right?then why do I need a Business Process to model and execute them?Is that because of different modeling ability, (development/runtime) tools? Or maybe I should ask: what is the state of the art? :-)
elgcom
In a pure sense, Business Rules only include systematic flow, and do not require any user action other than the initial inputs. Business Processes flow through the organization, requiring multiple user actions, and may include some things that just aren't systematic. Obviously, some software can become hybrids of the two so as to confuse them, but separating the two in your head is paramount to getting to the end result you want.
Eric
+1  A: 

Business Rule Management Systems

An BRMS (of the type sold by ILOG) allows you to set up a set of rules and uses an algorithm such as Rete to match based on the conditions, generate assertions (which can in turn be matched by other rules) or take actions based on these rules. These can be embedded in application and used to support configurable business logic.

Business Process Management Systems

A BPMS (such as MS Workflow Foundation or any of the BPEL engines on the market) steps an application through a series of stages in a workflow. These stages can be assigned to different people. A BPMS can use an embedded BRMS to make decisions on where to direct a workflow. For example, ILOG makes a plugin that allows its rules engine to be used with MS Workflow foundation.

The difference between the two

A rule-engine based application uses an embedded rules engine (BRMS) with a mechanism to read the data record it is working with and hooks for actions directed by the rules engine to be executed by the application. It may (for example) read an XML DOM, matching based on the content of nodes within the DOM and recording assertions as other nodes. Other API's are possible. The application can also have callbacks registered where matches can trigger actions where the rules engine invokes callbacks into the application.

A workflow-aware application will present different screens to one or more users under the control of a process that is defined in the workflow engine. This engine can be external to the application, and a workflow can hop across more than one application. The workflow engine may also manage explicit compensating rollbacks and error handling for applications that cannot directly participate in distributed transactions.

The two items are not mutually exclusive. It is possible to have a workflow-aware application that has an embedded rules engine. It is also possible to have a rules engine driving business logic and instantiating or making branching decisions in a workflow. Many workflow managers come with a rules engine for precisely this reason.

ConcernedOfTunbridgeWells
+2  A: 

I find it easier to think about the difference between decisions and processes. Both decisions and processes can have rules but they are not the same - check out this list of differences in a presentation I gave at IBM's recent IMPACT show. Decisions are related to business rules and proper use of business rules to manage decisions can simplify processes. There's more on this on my blog but stackoverflow won't let me link to it...

James Taylor