You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by Johan Stuyts <jo...@hippo.nl> on 2004/03/16 11:16:55 UTC
Response to workflow
I'm glad to see a healthy discussion about workflow. Here are my responses
to multiple posts.
Scope
-----
I still think the scope of the project is the first thing that must be
decided upon before discussing which solution is the best. There are lots
of options here and covering them all is impossible.
The scope I am interested in is (see the worfklow page on the Wiki):
- a solution for developers;
- although initially we were planning on using workflow for document
management (object lifecycle), we might need a solution which can be used
to implement more general processes too;
- whether a general workflow instance can be attached to a single object
is questionable. A generalized workflow will involve many
documents/objects (some of which will only be used by that workflow
instance). I think that in a generalized workflow framework the workflow
instance itself must be an object with which the developer interacts
directly instead of the workflow instance being hidden.
I really would like to see more use cases appearing from which we can pick
a set to implement using different technologies. I will add more use cases
in the near future.
Standards
---------
Thank you Andreas for putting up the list with standards. We can use these
for input and reflection upon our decisions.
Conforming to standards is an honourable goal and it has its pros and
cons. Pros:
- make use of available tools;
- people outside of Cocoon are probably more interested;
- no reinvention of the wheel. The standards are complex because they were
defined by people with a lot of experience in the field. Chances are that
if you start out small you end up with the same complexity after several
years.
Cons:
- it's not easy to use for simple use cases. A period of learning is
unavoidable;
- huge effort to build a compliant solution.
Interface
---------
The interface provided by Guido makes things more concrete, but, although
I like state machines very much, I think too much terminology of state
machines is in the interface.
Also the interface assumes there will only be changes from one state to
another state, but in concurrent state machines and generalized workflow a
single trigger can cause multiple state changes including forking and
syncing.
I think the scope needs to be clearer before we can start thinking about
the interface. Otherwise it might change too often as more requirements
are added.
Implementation
--------------
In my opinion no particular technology, e.g. Flow, must be a requirement
for a workflow implementation. I thought the workflow provider would be an
Avalon service. This makes it accessible from everywhere and usable
outside Cocoon.
Conclusion
----------
IMHO there should be more consensus about what is needed and what is
feasible in a relatively short time, e.g. half a year to a year.
I think building a generalized workflow based on a standard is too
ambitious. Leaving out some more complex constructs decreases usability.
It might be an option to choose a (proper) subset of a standard with which
a large percentage (definitely more than 80%. Having to resort to another
solution in one of four situations is not acceptable) of use cases can be
implemented.
--
Johan Stuyts, Software Department
Hippo Webworks
Grasweg 35
1031 HW Amsterdam
The Netherlands
Tel +31 (0)20 6345173
Fax +31 (0)20 6345179
johan(at)hippo(dot)nl / www.hippo.nl
Re: Response to workflow
Posted by Guido Casper <gc...@s-und-n.de>.
Johan Stuyts wrote:
> I'm glad to see a healthy discussion about workflow. Here are my
> responses to multiple posts.
>
> Scope
> -----
> I still think the scope of the project is the first thing that must be
> decided upon before discussing which solution is the best. There are
> lots of options here and covering them all is impossible.
>
> The scope I am interested in is (see the worfklow page on the Wiki):
> - a solution for developers;
> - although initially we were planning on using workflow for document
> management (object lifecycle), we might need a solution which can be
> used to implement more general processes too;
> - whether a general workflow instance can be attached to a single object
> is questionable. A generalized workflow will involve many
> documents/objects (some of which will only be used by that workflow
> instance). I think that in a generalized workflow framework the workflow
> instance itself must be an object with which the developer interacts
> directly instead of the workflow instance being hidden.
>
> I really would like to see more use cases appearing from which we can
> pick a set to implement using different technologies. I will add more
> use cases in the near future.
>
> Standards
> ---------
> Thank you Andreas for putting up the list with standards. We can use
> these for input and reflection upon our decisions.
>
> Conforming to standards is an honourable goal and it has its pros and
> cons. Pros:
> - make use of available tools;
> - people outside of Cocoon are probably more interested;
> - no reinvention of the wheel. The standards are complex because they
> were defined by people with a lot of experience in the field. Chances
> are that if you start out small you end up with the same complexity
> after several years.
Well, the same can be said about CMSs or many other things. Does that
mean there is no simple solution?
It very much depends how your code evolves when meeting new
requirements. In Open Source things might be different. If you start
complex, chances are higher that no community appears and the code ends
up unused and unmaintained.
Maybe your complex problem might be partitioned into several simpler
ones. But if you start by throwing a complex solution at it you might
never find out.
Let me give you an example. Taking my workflow again :-)
------------ ------------- --------
|tobereviewed|------>|beingreviewed|------>|released|
------------ ------------- --------
/|\ | |
| | |
| \|/ \|/
-------------- ------------- ------
|beingprocessed|<--->|tobeprocessed|<------|online|
-------------- ------------- ------
/|\ | |
| \|/ |
| -------- |
--------------->|archived|<-------------
--------
There is a problem (likely to be present in almost any workflow) that
you probably would call: parallel (or nested) states. If a document goes
from "online" into "tobeprocessed", it continues to be online. The
solution I took is (of course :-) simple. Besides a "state" property
there is a second property "live-state" that gets set to "online" by the
OnlineAction and gets set to "offline" by the ArchivedAction. The
workflow engine (or the state objects for that matter) itself is not
aware of it as the "live-state" property is only evaluated by a separate
scheduler process.
Now I can imagine people jumping up: "Hey that must be modeled in our
diagram". But I don't want to. This does neither my communication nor my
development process any good.
I appreciate the fact that rule engines and the like are starting to
blur the line between developer and user. However I think that such
needs might be solved by a simple solution on top of another simple
solution. That would make them easier to maintain and evolve.
>
> Cons:
> - it's not easy to use for simple use cases. A period of learning is
> unavoidable;
> - huge effort to build a compliant solution.
>
> Interface
> ---------
> The interface provided by Guido makes things more concrete, but,
> although I like state machines very much, I think too much terminology
> of state machines is in the interface.
>
> Also the interface assumes there will only be changes from one state to
> another state, but in concurrent state machines and generalized workflow
> a single trigger can cause multiple state changes including forking and
> syncing.
>
> I think the scope needs to be clearer before we can start thinking about
> the interface.
I think the scope won't get much clearer by just discussing (but I may
be wrong and my scope being just too limited :-).
> Otherwise it might change too often as more requirements
> are added.
But that's perfectly fine. Nobody pushes us to settle on the interfaces
prematurely. I prefer starting small and refactor if the need emerges
(there shouldn't be many people not knowing that by now so I shut up
now on that issue :-).
Guido
>
> Implementation
> --------------
> In my opinion no particular technology, e.g. Flow, must be a requirement
> for a workflow implementation. I thought the workflow provider would be
> an Avalon service. This makes it accessible from everywhere and usable
> outside Cocoon.
>
> Conclusion
> ----------
> IMHO there should be more consensus about what is needed and what is
> feasible in a relatively short time, e.g. half a year to a year.
>
> I think building a generalized workflow based on a standard is too
> ambitious. Leaving out some more complex constructs decreases usability.
> It might be an option to choose a (proper) subset of a standard with
> which a large percentage (definitely more than 80%. Having to resort to
> another solution in one of four situations is not acceptable) of use
> cases can be implemented.
>
--
Guido Casper
-------------------------------------------------
S&N AG, Competence Center Open Source
Tel.: +49-5251-1581-87
Klingenderstr. 5 mailto:gcasper@s-und-n.de
D-33100 Paderborn http://www.s-und-n.de
-------------------------------------------------
Re: Response to workflow
Posted by Michael Wechner <mi...@wyona.com>.
Guido Casper wrote:
> Michael Wechner wrote:
>
>> Johan Stuyts wrote:
>>
>>>
>>>
>>> Conclusion
>>> ----------
>>> IMHO there should be more consensus about what is needed and what is
>>> feasible in a relatively short time, e.g. half a year to a year.
>>>
>>> I think building a generalized workflow based on a standard is too
>>> ambitious. Leaving out some more complex constructs decreases
>>> usability. It might be an option to choose a (proper) subset of a
>>> standard with which a large percentage (definitely more than 80%.
>>> Having to resort to another solution in one of four situations is
>>> not acceptable) of use cases can be implemented.
>>
>>
>>
>>
>> I would suggest to start on an existing code base, e.g. Lenya or
>> whatever, make
>> an appropriate Cocoon block out of it (there had been a list of
>> requirements to meet)
>> and start from there.
>
>
> If that goes along with some documentation :-) and an isolated sample
> I'm +1
agreed. In case we agree on the Lenya workflow as initial workflow bloc,
then we should
probably work down the list provided by Carsten:
http://article.gmane.org/gmane.comp.cms.lenya.devel/2902
Michi
>
> Guido
>
>> Else I guess discussions just keep going forever ;-)
>>
>> The existing code base might not satisfy everybody, but at least it's
>> something
>> concrete to start with, even if it will be totally modified resp.
>> refactored in the end.
>>
>> Michi
>>
>>
>
--
Michael Wechner
Wyona Inc. - Open Source Content Management - Apache Lenya
http://www.wyona.com http://cocoon.apache.org/lenya/
michael.wechner@wyona.com michi@apache.org
Re: Response to workflow
Posted by Guido Casper <gc...@s-und-n.de>.
Michael Wechner wrote:
> Johan Stuyts wrote:
>
>>
>>
>> Conclusion
>> ----------
>> IMHO there should be more consensus about what is needed and what is
>> feasible in a relatively short time, e.g. half a year to a year.
>>
>> I think building a generalized workflow based on a standard is too
>> ambitious. Leaving out some more complex constructs decreases
>> usability. It might be an option to choose a (proper) subset of a
>> standard with which a large percentage (definitely more than 80%.
>> Having to resort to another solution in one of four situations is not
>> acceptable) of use cases can be implemented.
>
>
>
> I would suggest to start on an existing code base, e.g. Lenya or
> whatever, make
> an appropriate Cocoon block out of it (there had been a list of
> requirements to meet)
> and start from there.
If that goes along with some documentation :-) and an isolated sample I'm +1
Guido
> Else I guess discussions just keep going forever ;-)
>
> The existing code base might not satisfy everybody, but at least it's
> something
> concrete to start with, even if it will be totally modified resp.
> refactored in the end.
>
> Michi
>
>
--
Guido Casper
-------------------------------------------------
S&N AG, Competence Center Open Source
Tel.: +49-5251-1581-87
Klingenderstr. 5 mailto:gcasper@s-und-n.de
D-33100 Paderborn http://www.s-und-n.de
-------------------------------------------------
Re: Response to workflow
Posted by Michael Wechner <mi...@wyona.com>.
Johan Stuyts wrote:
>
> Good idea, I have made a start:
> http://wiki.cocoondev.org/Wiki.jsp?page=WorkflowImplementationComparison.
cool
> Michael, could you add the information about Lenya workflow?
yes, I will try to do so
>
>
> I won't be able to respond to messages the next two weeks fortunately.
> I will be on holiday in (hopefully) sunny Turkey. I'll be back April 5.
enjoy your vacation :-)
>
>>
>> Makes sense?
>>
>> Michi
>>
>>>
>>>> +1 to start with Lenya workflow.
>>>>
>>>> Guido
>>>> (How long until Andreas returns from vacation? :-)
>>>>
>>>>>
>>>>> Michi
>>>>>
>>>>>
>>>>
>>>
>>
>>
>
--
Michael Wechner
Wyona Inc. - Open Source Content Management - Apache Lenya
http://www.wyona.com http://cocoon.apache.org/lenya/
michael.wechner@wyona.com michi@apache.org
Re: Response to workflow
Posted by Johan Stuyts <jo...@hippo.nl>.
On Thu, 18 Mar 2004 00:19:09 +0100, Michael Wechner
<mi...@wyona.com> wrote:
> Johan Stuyts wrote:
>
>>
>> I view choosing for Lenya workflow as choosing to build/use a
>> Cocoon-independent solution (with an adapter to make it accessible in
>> Cocoon) instead of building a solution using Cocoon-specific
>> technology. There are a number of existing implementations which can be
>> used as a starting point for a Cocoon-independent solution. I feel
>> other implementations are more mature than Lenya workflow and will be a
>> better choice to use as a starting point. I think OSWorkflow is a good
>> option, but jBpm looks very promising (I suggest to give the demo a
>> try). Both these technologies are license-compatible with Cocoon.
>
>
> yes, from a license point of view the choice seems to come down to
>
> jBpm
> OSWorkflow
> Lenya
>
> Maybe we should try to characterize the differences and similarities
> within
> the Wiki in order to get a better picture (at least I need to do this
> for myself ;-)
Good idea, I have made a start:
http://wiki.cocoondev.org/Wiki.jsp?page=WorkflowImplementationComparison.
Michael, could you add the information about Lenya workflow? If anybody
thinks a property/capability or implementation is missing, please add it
to the table.
At Hippo we are interested in how Stefano's implementation using Flow
would look like, and how Peter's implementation using XSLT would look
like. Could you post a sample of how you expect the code would look like
if the framework was already there? Thanks.
I won't be able to respond to messages the next two weeks fortunately. I
will be on holiday in (hopefully) sunny Turkey. I'll be back April 5.
>
> Makes sense?
>
> Michi
>
>>
>>> +1 to start with Lenya workflow.
>>>
>>> Guido
>>> (How long until Andreas returns from vacation? :-)
>>>
>>>>
>>>> Michi
>>>>
>>>>
>>>
>>
>
>
--
Johan Stuyts
Re: Response to workflow
Posted by Michael Wechner <mi...@wyona.com>.
Johan Stuyts wrote:
>
> I view choosing for Lenya workflow as choosing to build/use a
> Cocoon-independent solution (with an adapter to make it accessible in
> Cocoon) instead of building a solution using Cocoon-specific
> technology. There are a number of existing implementations which can
> be used as a starting point for a Cocoon-independent solution. I feel
> other implementations are more mature than Lenya workflow and will be
> a better choice to use as a starting point. I think OSWorkflow is a
> good option, but jBpm looks very promising (I suggest to give the demo
> a try). Both these technologies are license-compatible with Cocoon.
yes, from a license point of view the choice seems to come down to
jBpm
OSWorkflow
Lenya
Maybe we should try to characterize the differences and similarities within
the Wiki in order to get a better picture (at least I need to do this
for myself ;-)
Makes sense?
Michi
>
>> +1 to start with Lenya workflow.
>>
>> Guido
>> (How long until Andreas returns from vacation? :-)
>>
>>>
>>> Michi
>>>
>>>
>>
>
--
Michael Wechner
Wyona Inc. - Open Source Content Management - Apache Lenya
http://www.wyona.com http://cocoon.apache.org/lenya/
michael.wechner@wyona.com michi@apache.org
Re: Response to workflow
Posted by Johan Stuyts <jo...@hippo.nl>.
On Wed, 17 Mar 2004 09:09:55 +0100, Guido Casper <gc...@s-und-n.de>
wrote:
> Michael Wechner wrote:
>> Stefano Mazzocchi wrote:
>>
>>>
>>>>
>>>> The existing code base might not satisfy everybody, but at least it's
>>>> something
>>>> concrete to start with, even if it will be totally modified resp.
>>>> refactored in the end.
>>>
>>>
>>>
>>> 100% agreement.
>>>
>>> Doing design without a codebase takes forever on a open community
>>> because it's much easier to disagree with email than with code ;-)
>>>
>>> it's a do-ocracy after all, then we polish from there.
>>
>>
>>
>> what do others think (beside Guido and Stefano)?
>>
>> I don't know if there are any other existing code-bases beside the ones
>> listed at
>>
>> http://wiki.cocoondev.org/Wiki.jsp?page=Workflow
>>
>> whereas the type of license reduces the choice even more
>
> Community-wise the Lenya workflow package is certainly the best bet. We
> should just try to keep the interfaces neutral so that others might be
> integrated.
>
I view choosing for Lenya workflow as choosing to build/use a
Cocoon-independent solution (with an adapter to make it accessible in
Cocoon) instead of building a solution using Cocoon-specific technology.
There are a number of existing implementations which can be used as a
starting point for a Cocoon-independent solution. I feel other
implementations are more mature than Lenya workflow and will be a better
choice to use as a starting point. I think OSWorkflow is a good option,
but jBpm looks very promising (I suggest to give the demo a try). Both
these technologies are license-compatible with Cocoon.
> +1 to start with Lenya workflow.
>
> Guido
> (How long until Andreas returns from vacation? :-)
>
>>
>> Michi
>>
>>
>
--
Johan Stuyts
Re: Response to workflow
Posted by Michael Wechner <mi...@wyona.com>.
Guido Casper wrote:
>
> Community-wise the Lenya workflow package is certainly the best bet.
> We should just try to keep the interfaces neutral so that others might
> be integrated.
sure, it's very important that other people start using it and hence help
improving and refactoring
>
> +1 to start with Lenya workflow.
>
> Guido
> (How long until Andreas returns from vacation? :-)
about two more weeks (beginning of April). Andreas would certainly be of
great help, but I think we should try to start anyway
Michi
>
>>
>> Michi
>>
>>
>
--
Michael Wechner
Wyona Inc. - Open Source Content Management - Apache Lenya
http://www.wyona.com http://cocoon.apache.org/lenya/
michael.wechner@wyona.com michi@apache.org
Re: Response to workflow
Posted by Guido Casper <gc...@s-und-n.de>.
Michael Wechner wrote:
> Stefano Mazzocchi wrote:
>
>>
>>>
>>> The existing code base might not satisfy everybody, but at least it's
>>> something
>>> concrete to start with, even if it will be totally modified resp.
>>> refactored in the end.
>>
>>
>>
>> 100% agreement.
>>
>> Doing design without a codebase takes forever on a open community
>> because it's much easier to disagree with email than with code ;-)
>>
>> it's a do-ocracy after all, then we polish from there.
>
>
>
> what do others think (beside Guido and Stefano)?
>
> I don't know if there are any other existing code-bases beside the ones
> listed at
>
> http://wiki.cocoondev.org/Wiki.jsp?page=Workflow
>
> whereas the type of license reduces the choice even more
Community-wise the Lenya workflow package is certainly the best bet. We
should just try to keep the interfaces neutral so that others might be
integrated.
+1 to start with Lenya workflow.
Guido
(How long until Andreas returns from vacation? :-)
>
> Michi
>
>
--
Guido Casper
-------------------------------------------------
S&N AG, Competence Center Open Source
Tel.: +49-5251-1581-87
Klingenderstr. 5 mailto:gcasper@s-und-n.de
D-33100 Paderborn http://www.s-und-n.de
-------------------------------------------------
Re: Response to workflow
Posted by Michael Wechner <mi...@wyona.com>.
Stefano Mazzocchi wrote:
>
>>
>> The existing code base might not satisfy everybody, but at least it's
>> something
>> concrete to start with, even if it will be totally modified resp.
>> refactored in the end.
>
>
> 100% agreement.
>
> Doing design without a codebase takes forever on a open community
> because it's much easier to disagree with email than with code ;-)
>
> it's a do-ocracy after all, then we polish from there.
what do others think (beside Guido and Stefano)?
I don't know if there are any other existing code-bases beside the ones
listed at
http://wiki.cocoondev.org/Wiki.jsp?page=Workflow
whereas the type of license reduces the choice even more
Michi
--
Michael Wechner
Wyona Inc. - Open Source Content Management - Apache Lenya
http://www.wyona.com http://cocoon.apache.org/lenya/
michael.wechner@wyona.com michi@apache.org
Re: Response to workflow
Posted by Stefano Mazzocchi <st...@apache.org>.
Michael Wechner wrote:
> Johan Stuyts wrote:
>
>> Conclusion
>> ----------
>> IMHO there should be more consensus about what is needed and what is
>> feasible in a relatively short time, e.g. half a year to a year.
>>
>> I think building a generalized workflow based on a standard is too
>> ambitious. Leaving out some more complex constructs decreases
>> usability. It might be an option to choose a (proper) subset of a
>> standard with which a large percentage (definitely more than 80%.
>> Having to resort to another solution in one of four situations is not
>> acceptable) of use cases can be implemented.
>
> I would suggest to start on an existing code base, e.g. Lenya or
> whatever, make
> an appropriate Cocoon block out of it (there had been a list of
> requirements to meet)
> and start from there. Else I guess discussions just keep going forever ;-)
>
> The existing code base might not satisfy everybody, but at least it's
> something
> concrete to start with, even if it will be totally modified resp.
> refactored in the end.
100% agreement.
Doing design without a codebase takes forever on a open community
because it's much easier to disagree with email than with code ;-)
it's a do-ocracy after all, then we polish from there.
--
Stefano.
Re: Response to workflow
Posted by Michael Wechner <mi...@wyona.com>.
Johan Stuyts wrote:
>
>
> Conclusion
> ----------
> IMHO there should be more consensus about what is needed and what is
> feasible in a relatively short time, e.g. half a year to a year.
>
> I think building a generalized workflow based on a standard is too
> ambitious. Leaving out some more complex constructs decreases
> usability. It might be an option to choose a (proper) subset of a
> standard with which a large percentage (definitely more than 80%.
> Having to resort to another solution in one of four situations is not
> acceptable) of use cases can be implemented.
I would suggest to start on an existing code base, e.g. Lenya or
whatever, make
an appropriate Cocoon block out of it (there had been a list of
requirements to meet)
and start from there. Else I guess discussions just keep going forever ;-)
The existing code base might not satisfy everybody, but at least it's
something
concrete to start with, even if it will be totally modified resp.
refactored in the end.
Michi
--
Michael Wechner
Wyona Inc. - Open Source Content Management - Apache Lenya
http://www.wyona.com http://cocoon.apache.org/lenya/
michael.wechner@wyona.com michi@apache.org