On Mon, Mar 1, 2010 at 12:51 PM, John Mettraux <[email protected]> wrote:
> On Mon, Mar 1, 2010 at 10:48 AM, viatropos <[email protected]> wrote:
>> Thanks a lot, that's all I needed to know.  I'm going to study those
>> articles and stick with AASM.
>
> For the sake of completeness.
>
> Lance pushing the discussion somewhere else :
>
>  http://stackoverflow.com/questions/2353564/what-problems-have-you-solved-using-a-workflow-engine

I took the time to answer the question in some way or the other.

Here is a copy of my answer, for the sake of completeness, again.

  
http://stackoverflow.com/questions/2353564/what-problems-have-you-solved-using-a-workflow-engine/2367921#2367921

---8<---
I'm biased, I'm one of the authors of ruote.

variant 1) state machine attached to a resource (document, order,
invoice, book, piece of furniture).

variant 2) state machine attached to a virtual resource named a task

variant 3) workflow engine interpreting workflow definitions

Now your question is tagged "BPM" we can be expanded into "Business
Process management". How does that kind of management occur in each of
the variant ?

In variant 1, the business process (or workflow) is scattered in the
application. The state machine attached to the resource enforces some
of the aspects of the workflow, but only those related to the
resource. There may be other resources with their own state machine
following the same business process.

In variant 2, the workflow can be concentrated around the task
resource and represented by the state machine around that resource.

In variant 3, the workflow is enacted by interpreting a resource
called a workflow definition (or business process definition).

What happens when the business process changes ? Is it worth having a
workflow engine where business processes are manageable resources ?

Most of the state machine libraries have 1 set states + transitions.
Workflow engines are, most of them, workflow definition interpreters
and they allow multiple different workflows to run together.

What will be the cost of changing the workflow ?

The variants are not mutually exclusive. I have seen many examples
where a workflow engine changes the state of multiple resources some
of them guarded by state machines.

I also use variant 3 + 2 a lot, for human tasks : the workflow engine,
at some points when running a process instance, hands a task
(workitem) to a human participant (resource task is created and placed
in state 'ready').

You can go a long way with variant 2 alone (the task manager variant).

We could also mention variant 0), where there is no state machine, no
workflow engine, and the business process(es) are scattered and/or
hardcoded in the application.

You can ask many questions, but if you don't take the time to read the
answers and don't take the time to try out and experiment, you won't
go very far, and will never acquire any flair for when to use this or
that tool.
--->8---


-- 
John Mettraux   -   http://jmettraux.wordpress.com

-- 
you received this message because you are subscribed to the "ruote users" group.
to post : send email to [email protected]
to unsubscribe : send email to [email protected]
more options : http://groups.google.com/group/openwferu-users?hl=en

Reply via email to