Hummmm!
Workflow engines and rules engines are two complementary technologies that
are usually used together and not as a replacement of one another.

Workflows are used to model/define your business process steps, rules are
(or can be or ought to be) used for the business logic to apply during some
particular step or at every step.

It is always cleaner to separate that out (think of it as MVC at the
enterprise level).  Now you can always mix it up and write any kind of
spaghetti code in any language!

The advantage of separating it out allows you to switch to a better
component when you outgrow it or have reached its limitations.
This is true for Rools and OpenWFE (regardless of what John or I would say)

My take is that you really want to keep it as simple as possible until you
reach that point.

Pat.


> From: John Mettraux <[EMAIL PROTECTED]>
> Reply-To: <[email protected]>
> Date: Tue, 30 Oct 2007 20:53:44 +0900
> To: <[email protected]>
> Subject: [openwferu-users] Re: Beginner questions
> 
> 
> On 10/30/07, Sacrilege <[EMAIL PROTECTED]> wrote:
>> 
>> My apologies for such simple questions, but I'm new and trying to
>> understand how this might fit in with a project that I have in mind.
>> 
>> I think I have a handle on what BPM & workflow engines are.  I'm a bit
>> confused about how they relate to rules engines like Rools, if they
>> even do relate.  It seems to me that the rules that one would define
>> for a rules engine would be included in the process definitions of the
>> BPM engine.  So are BPM engines like OpenWFEru meant as "better"
>> replacements for older rules engines?
> 
> Hi,
> 
> I don't think it's a "simple" question... Because it calls for a long answer.
> 
> I don't think bpm engines are replacement for rules engines.
> 
> We may speak of workflow engines and rules engines as interpreters for
> some programs.
> 
> Rules engines handle programs that are like mathematical functions,
> given an input, there is an output. It's timely, the computation may
> take time and be complicated, but there are no side effects.
> 
> Workflow engines interpret programs that coordinate work among participants.
> 
> I think that you are right when saying that rules can get into process
> definitions, but that make for fatter process definitions.
> There is also another issue, sometimes, there are smarter algorithms
> for processing rule sets, like for example the RETE algorithm
> (http://en.wikipedia.org/wiki/Rete_algorithm)
> 
> If favor cases where the process definition refers to rulesets based
> decisions (a service performed by a rule engine) as participants to
> the process definition.
> Often, in a process definition, a workitem is routed to a human
> participant and he adds information to the workitem, this information
> is a decision, then the workflow engine uses that information to
> choose a branch in the process definition.
> Should it matter that the decision was taken by a human participant or
> an automated one (a rules engine) ?
> (I started writing about all of this at
> http://openwferu.rubyforge.org/decision.html)
> 
> Workflow engines are meant to run/interpret business process that may
> last days, months, years. Rule engines are usually asked to produce an
> answer as soon as possible.
> 
> Small decisions are OK within a process definition, but I think
> they're better off of it, it makes for more concise process
> definitions, and a "business decision [service]" can be reused among
> process definitions (or other applications).
> 
> "Business decisions" can be taken by Rule engines with more or less
> complex algorithms or by things like 'decision tables', it's also
> perfectly feasible to implement it via a piece of Ruby code (or Cobol
> or Java or by hiring someone to take the decision).
> 
> A fine piece of opinion on this :
> http://kswenson.wordpress.com/2007/09/25/decisions-vs-business-decisions-in-a-
> process/
> Routing decisions in process definitions vs Business Decisions in a
> rule engine/system. Ie the workflow engine just applies decisions.
> 
> Two or three years ago, I worked with a student who implemented a rule
> engine with forward chaining and he did that with the OpenWFE process
> definition language. The resulting engine was very slow but it worked.
> It was for his Master Thesis, it was kind of fun.
> 
> 
> This is just my opinion, quickly expressed, hope this helps, best regards,
> 
> -- 
> John Mettraux   -///-   http://jmettraux.openwfe.org
> 
> > 



--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"OpenWFEru users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/openwferu-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to