Discussion:
[werkflow-user] let's set this thing on fire
Brian Topping
2004-01-30 03:34:39 UTC
Permalink
Bob, Jason and I just spent some quality time on IRC. I was explaining that
I need a workflow system that is going to be able to handle interactive task
delegation to users of a live system, and was contemplating what needed to be
done to get Werkflow up to what I need as well as something that is general
enough that it's worth checking into HEAD.

My Aalst book came in finally after a three-week wait as well, so I'm less
<clueless/>, as the case may be (never underestimate how <clueless/> i am
though...)

A few names came up as having some code that may be of interest. Mark
Wilkinson on Plexus, Bart (???) on persistence, someone else that is escaping
me (courtesy of mIRC and Heineken). Does anyone that have code that they
want to have as a part of the system? It's a minor irritant to have someone
implement something in HEAD with different code than what you already wrote
to solve the same problem, so before putting a lot of effort into breaking
your respective forks, I wanted to see if anyone wanted to get stuff in the
mix. Or if things are on branches, understand what they are.

Most of my issues revolve around making modular access to persistent storage
and auth -- i.e. I've got this grand object model that doesn't have any
relation to your grand object model and both of them ought to be able to work
without caring a bit about either. General persistence is a no-brainer. For
example, JBPM seems to be one of the two or three best Java/OSS interactive
workflow solutions out there right now, but it's got a real tight coupling to
the database (Hibernate .hbm.xml's checked into the source tree even!) I'd
personally rather see solid DAOs providing pluggable persistence. Same with
auth. I guess I'm looking at this from a perspective of adoption; if the
system can be used in a two-tier MVC app and run under J2EE container-managed
auth, it makes the system a lot more pluggable. CMA isn't the most intuitive
thing and has it's issues, but the bar has to be set somewhere, and it's a
lot easier to give a secure implementation of workflow to someone integrating
it if they know that the middleware is going to do the right thing with the
login context.

The actual Petri code isn't high on my list of things I want to touch. Maybe
there are some coloring aspects once there is some more contextual
information, but it's a way out.

Hopefully people can take a minute to chime in. If the discussion dies down
by mid to late next week (or never takes off), I'll just presume that
everyone has been heard that's interested in the subject. I'm going to chew
on some authentication/authorization code in the mean time.

thanks,

-b
Mark H. Wilkinson
2004-01-30 10:38:01 UTC
Permalink
Post by Brian Topping
Bob, Jason and I just spent some quality time on IRC.
Damn; missed it! Does anyone have a log, if there's interesting stuff in
their?
Post by Brian Topping
A few names came up as having some code that may be of interest. Mark
Wilkinson on Plexus, Bart (???) on persistence, someone else that is escaping
me (courtesy of mIRC and Heineken). Does anyone that have code that they
want to have as a part of the system?
I've got no changes sitting in my source tree at the moment. I've
integrated werkflow into the system I'm working on, but should be able
to track changes.
Post by Brian Topping
Most of my issues revolve around making modular access to persistent storage
and auth
I'm using werkflow to orchestrate message-driven integration between
systems, so my main interests right now are:
* message initiation and correlation
* persistent storage of case state
* transactional reliability for case state changes
* scaling to handle large numbers of processes and cases
I'd be interested in the interactive workflow stuff you're thinking
about too (presume you're meaning the kind of stuff you'd build an
inbox-type application around), but my main aim at the moment is
orchestration of message processing.

Off the top of my head the things I think might need tackling at the
moment are:

The lifecycle of a case isn't particularly easy to follow; there are a
few places where a case can be created, woken up or terminated, but the
code to actually do the work is scattered around. It might be easier if
there were some basic primitives that could be applied to process cases
(create, sleep, wakeup, etc. perhaps). Practical up-shot of this: at the
moment, having a process call another process doesn't work because
there's a chunk of code missing to create the sub-process instance, plus
there's no mechanism for recognising that the sub-process has
terminated.

When a case does get woken up the state changes seem to happen in a few
different places, and (possibly more of a problem) in different threads.
This might make it difficult to group all the state changes into a
database transaction, for example.
Post by Brian Topping
I'd personally rather see solid DAOs providing pluggable persistence.
Agreed. The data model that underpins a workflow system is simple enough
that I think OR-mapping is a bit over the top.
Post by Brian Topping
I guess I'm looking at this from a perspective of adoption; if the
system can be used in a two-tier MVC app and run under J2EE container-managed
auth, it makes the system a lot more pluggable.
Yup; from an adoption point of view I think one of the problems with
werkflow at the moment is that it's too generic: out of the box it won't
actually do very much, and it takes a bit of imagination to see how to
exploit it. I think that's probably put people off. Anything that
packages the core as a solution for a particular use case has to be
good.

Running werkflow in a J2EE container could be a bit of a problem at the
moment: it uses threads internally to schedule activities, and you're
not supposed to create new threads within a J2EE container. There may be
some leeway here though - I've not actually looked into whether specific
application servers allow threads to created under restricted
conditions. I'm also not sure whether J2EE 1.4 begins to provide some
kind of scheduling services to J2EE components.

-Mark.
Peter Courcoux
2004-01-30 17:36:39 UTC
Permalink
Hi,

I have an inbox type app working to some extent. I have an inbox, which
lists cases deployed and called from a web-app. The app is based on
turbine and werkflow is deployed by an apache-avalon-merlin container.
I've had this for six weeks now and just need to write a flow and link
it to some pages.

Its getting high priority again so it shouldn't take long to have
something worth submitting as an example.

Is any of this of interest?

Regards,

Peter
Post by Mark H. Wilkinson
Post by Brian Topping
Bob, Jason and I just spent some quality time on IRC.
Damn; missed it! Does anyone have a log, if there's interesting stuff in
their?
Post by Brian Topping
A few names came up as having some code that may be of interest. Mark
Wilkinson on Plexus, Bart (???) on persistence, someone else that is escaping
me (courtesy of mIRC and Heineken). Does anyone that have code that they
want to have as a part of the system?
I've got no changes sitting in my source tree at the moment. I've
integrated werkflow into the system I'm working on, but should be able
to track changes.
Post by Brian Topping
Most of my issues revolve around making modular access to persistent storage
and auth
I'm using werkflow to orchestrate message-driven integration between
* message initiation and correlation
* persistent storage of case state
* transactional reliability for case state changes
* scaling to handle large numbers of processes and cases
I'd be interested in the interactive workflow stuff you're thinking
about too (presume you're meaning the kind of stuff you'd build an
inbox-type application around), but my main aim at the moment is
orchestration of message processing.
Off the top of my head the things I think might need tackling at the
The lifecycle of a case isn't particularly easy to follow; there are a
few places where a case can be created, woken up or terminated, but the
code to actually do the work is scattered around. It might be easier if
there were some basic primitives that could be applied to process cases
(create, sleep, wakeup, etc. perhaps). Practical up-shot of this: at the
moment, having a process call another process doesn't work because
there's a chunk of code missing to create the sub-process instance, plus
there's no mechanism for recognising that the sub-process has
terminated.
When a case does get woken up the state changes seem to happen in a few
different places, and (possibly more of a problem) in different threads.
This might make it difficult to group all the state changes into a
database transaction, for example.
Post by Brian Topping
I'd personally rather see solid DAOs providing pluggable persistence.
Agreed. The data model that underpins a workflow system is simple enough
that I think OR-mapping is a bit over the top.
Post by Brian Topping
I guess I'm looking at this from a perspective of adoption; if the
system can be used in a two-tier MVC app and run under J2EE container-managed
auth, it makes the system a lot more pluggable.
Yup; from an adoption point of view I think one of the problems with
werkflow at the moment is that it's too generic: out of the box it won't
actually do very much, and it takes a bit of imagination to see how to
exploit it. I think that's probably put people off. Anything that
packages the core as a solution for a particular use case has to be
good.
Running werkflow in a J2EE container could be a bit of a problem at the
moment: it uses threads internally to schedule activities, and you're
not supposed to create new threads within a J2EE container. There may be
some leeway here though - I've not actually looked into whether specific
application servers allow threads to created under restricted
conditions. I'm also not sure whether J2EE 1.4 begins to provide some
kind of scheduling services to J2EE components.
-Mark.
_______________________________________________
werkflow-user mailing list
http://lists.codehaus.org/mailman/listinfo/werkflow-user
--
Peter Courcoux <***@courcoux.biz>
David Wynter
2004-01-30 18:01:34 UTC
Permalink
Hi Peter,

It is to me. I too have a product based on Turbine, although intend to move
to Plexus. I need simple inbox workflow management for tasks escalated from
automated data tranformations that fail due to data anomolies. I am
interested to see what you think about how you couple the page flow to the
underlying workflow.

Regards,

David
-----Original Message-----
Courcoux
Sent: 30 January 2004 17:37
Subject: Re: [werkflow-user] let's set this thing on fire
Hi,
I have an inbox type app working to some extent. I have an inbox, which
lists cases deployed and called from a web-app. The app is based on
turbine and werkflow is deployed by an apache-avalon-merlin container.
I've had this for six weeks now and just need to write a flow and link
it to some pages.
Its getting high priority again so it shouldn't take long to have
something worth submitting as an example.
Is any of this of interest?
Regards,
Peter
Post by Mark H. Wilkinson
Post by Brian Topping
Bob, Jason and I just spent some quality time on IRC.
Damn; missed it! Does anyone have a log, if there's interesting stuff in
their?
Post by Brian Topping
A few names came up as having some code that may be of interest. Mark
Wilkinson on Plexus, Bart (???) on persistence, someone else
that is escaping
Post by Mark H. Wilkinson
Post by Brian Topping
me (courtesy of mIRC and Heineken). Does anyone that have
code that they
Post by Mark H. Wilkinson
Post by Brian Topping
want to have as a part of the system?
I've got no changes sitting in my source tree at the moment. I've
integrated werkflow into the system I'm working on, but should be able
to track changes.
Post by Brian Topping
Most of my issues revolve around making modular access to
persistent storage
Post by Mark H. Wilkinson
Post by Brian Topping
and auth
I'm using werkflow to orchestrate message-driven integration between
* message initiation and correlation
* persistent storage of case state
* transactional reliability for case state changes
* scaling to handle large numbers of processes and cases
I'd be interested in the interactive workflow stuff you're thinking
about too (presume you're meaning the kind of stuff you'd build an
inbox-type application around), but my main aim at the moment is
orchestration of message processing.
Off the top of my head the things I think might need tackling at the
The lifecycle of a case isn't particularly easy to follow; there are a
few places where a case can be created, woken up or terminated, but the
code to actually do the work is scattered around. It might be easier if
there were some basic primitives that could be applied to process cases
(create, sleep, wakeup, etc. perhaps). Practical up-shot of this: at the
moment, having a process call another process doesn't work because
there's a chunk of code missing to create the sub-process instance, plus
there's no mechanism for recognising that the sub-process has
terminated.
When a case does get woken up the state changes seem to happen in a few
different places, and (possibly more of a problem) in different threads.
This might make it difficult to group all the state changes into a
database transaction, for example.
Post by Brian Topping
I'd personally rather see solid DAOs providing pluggable persistence.
Agreed. The data model that underpins a workflow system is simple enough
that I think OR-mapping is a bit over the top.
Post by Brian Topping
I guess I'm looking at this from a perspective of adoption; if the
system can be used in a two-tier MVC app and run under J2EE
container-managed
Post by Mark H. Wilkinson
Post by Brian Topping
auth, it makes the system a lot more pluggable.
Yup; from an adoption point of view I think one of the problems with
werkflow at the moment is that it's too generic: out of the box it won't
actually do very much, and it takes a bit of imagination to see how to
exploit it. I think that's probably put people off. Anything that
packages the core as a solution for a particular use case has to be
good.
Running werkflow in a J2EE container could be a bit of a problem at the
moment: it uses threads internally to schedule activities, and you're
not supposed to create new threads within a J2EE container. There may be
some leeway here though - I've not actually looked into whether specific
application servers allow threads to created under restricted
conditions. I'm also not sure whether J2EE 1.4 begins to provide some
kind of scheduling services to J2EE components.
-Mark.
_______________________________________________
werkflow-user mailing list
http://lists.codehaus.org/mailman/listinfo/werkflow-user
--
_______________________________________________
werkflow-user mailing list
http://lists.codehaus.org/mailman/listinfo/werkflow-user
Brian Topping
2004-01-30 18:00:55 UTC
Permalink
-----Original Message-----
Subject: Re: [werkflow-user] let's set this thing on fire
Is any of this of interest?
yes definitely.
Federico Spinazzi
2004-02-03 16:29:05 UTC
Permalink
Post by Brian Topping
Bob, Jason and I just spent some quality time on IRC. I was explaining that
I need a workflow system that is going to be able to handle interactive task
delegation to users of a live system, and was contemplating what needed to be
done to get Werkflow up to what I need as well as something that is general
enough that it's worth checking into HEAD.
[...]

While not expert in workflow systems and even if I can't evaluate any
product against any other product I'm really interested in any work will
take place in werkflow and I'd love to help.
I'd like to use a tool like werkflow as a service running in a container
in such a way that one can receive events from the net and
transactionally publish end getting processed them in werkflow (!).
Well, this is what I think I need ...
Thanks,
Federico

Loading...