467,118 Members | 988 Online
Bytes | Developer Community
Ask Question

Home New Posts Topics Members FAQ

Post your question to a community of 467,118 developers. It's quick & easy.

Workflow engine?

Hi,

In a couple of weeks I'm starting a medium-size project (using a web
framework) involving a workflow implementation. Are you aware of any
open source workflow engines/libraries that I could base the project
on? Google returns hist for GoFlow (Django only, from what I can tell),
itools.workflow, spiff (AFAIK tied to a CMS), but not much else. I don't
think I'll have enough time to get acquinted with Plone and its offer
of products. Has anyone here tried any such code? What would you recommend?

TIA,
GS
--
Grzegorz Staniak <gstaniak _at_ wp [dot] pl>
Nocturnal Infiltration and Accurate Killing
Nov 8 '08 #1
  • viewed: 5387
Share:
11 Replies
On 08.11.2008, Tino Wildenhain <ti**@wildenhain.dewroted:
>In a couple of weeks I'm starting a medium-size project (using a web
framework) involving a workflow implementation. Are you aware of any
open source workflow engines/libraries that I could base the project
on? Google returns hist for GoFlow (Django only, from what I can tell),
itools.workflow, spiff (AFAIK tied to a CMS), but not much else. I don't
think I'll have enough time to get acquinted with Plone and its offer
of products. Has anyone here tried any such code? What would you recommend?

I would recommend to start with a problem, rather then with a solution.
There is not so much magic in workflows as you might seem to think.

After all its "just" maintaining a state and rules for possible transitions.
Sure, and I know more or less how I'd do it if I had to code from scratch.
On the other hand, I don't want to code from scratch - if there are other
viable options. I'm not a genius, but I think I'd manage to write a web
framework too - do you really think it would be a good idea to start
writing another one? I'd much prefer an existing workflow project that
I could use, test, and contribute to, just as I decided on TG for the
web thing.

GS
--
Grzegorz Staniak <gstaniak _at_ wp [dot] pl>
Nocturnal Infiltration and Accurate Killing
Nov 8 '08 #2
Grzegorz Staniak schrieb:
On 08.11.2008, Tino Wildenhain <ti**@wildenhain.dewroted:
>>In a couple of weeks I'm starting a medium-size project (using a web
framework) involving a workflow implementation. Are you aware of any
open source workflow engines/libraries that I could base the project
on? Google returns hist for GoFlow (Django only, from what I can tell),
itools.workflow, spiff (AFAIK tied to a CMS), but not much else. I don't
think I'll have enough time to get acquinted with Plone and its offer
of products. Has anyone here tried any such code? What would you recommend?
I would recommend to start with a problem, rather then with a solution.
There is not so much magic in workflows as you might seem to think.

After all its "just" maintaining a state and rules for possible transitions.

Sure, and I know more or less how I'd do it if I had to code from scratch.
On the other hand, I don't want to code from scratch - if there are other
viable options. I'm not a genius, but I think I'd manage to write a web
framework too - do you really think it would be a good idea to start
writing another one?
I think Tino was more referring to the fact that state machines are too
trivial to write in Python to merit a whole framework.

http://www.google.de/search?q=python+state+machine

Stefan
Nov 8 '08 #3
On 08.11.2008, Stefan Behnel <st*******@behnel.dewroted:
>>>In a couple of weeks I'm starting a medium-size project (using a web
framework) involving a workflow implementation. Are you aware of any
open source workflow engines/libraries that I could base the project
on? Google returns hist for GoFlow (Django only, from what I can tell),
itools.workflow, spiff (AFAIK tied to a CMS), but not much else. I don't
think I'll have enough time to get acquinted with Plone and its offer
of products. Has anyone here tried any such code? What would you recommend?
I would recommend to start with a problem, rather then with a solution.
There is not so much magic in workflows as you might seem to think.

After all its "just" maintaining a state and rules for possible transitions.

Sure, and I know more or less how I'd do it if I had to code from scratch.
On the other hand, I don't want to code from scratch - if there are other
viable options. I'm not a genius, but I think I'd manage to write a web
framework too - do you really think it would be a good idea to start
writing another one?

I think Tino was more referring to the fact that state machines are too
trivial to write in Python to merit a whole framework.

http://www.google.de/search?q=python+state+machine
To be exact, I used the words "engine/library", not "a whole framework".
Thanks for the link, I've googled for articles and recipes myself and
as I said, I more or less know what to do - I just thought it might be
a good idea to ask whether perhaps the wheel has already been invented.
Apparently I was wrong.

GS
--
Grzegorz Staniak <gstaniak _at_ wp [dot] pl>
Nocturnal Infiltration and Accurate Killing
Nov 8 '08 #4
To be exact, I used the words "engine/library", not "a whole framework".
Thanks for the link, I've googled for articles and recipes myself and
as I said, I more or less know what to do - I just thought it might be
a good idea to ask whether perhaps the wheel has already been invented.
Apparently I was wrong.
I think that was part of the problem.. you asked if the wheel had
already been invented, rather than tell us about the stones you have
to haul up a mountain, and whether a wheel is what you need. It's
difficult to answer your original question.. someone could have just
as easily said that you should consider Sharepoint and not bother
writing any code.

Eric
Nov 8 '08 #5
On 08.11.2008, Eric Wertman <ew******@gmail.comwroted:
>To be exact, I used the words "engine/library", not "a whole framework".
Thanks for the link, I've googled for articles and recipes myself and
as I said, I more or less know what to do - I just thought it might be
a good idea to ask whether perhaps the wheel has already been invented.
Apparently I was wrong.

I think that was part of the problem.. you asked if the wheel had
already been invented, rather than tell us about the stones you have
to haul up a mountain, and whether a wheel is what you need. It's
difficult to answer your original question.. someone could have just
as easily said that you should consider Sharepoint and not bother
writing any code.
Aw, come on. The problem was only mentioned, but the question was pretty
specific: could you comment on/recommend an open source python workflow
engine/module (implied: to go with a web app). Sharepoint doesn't match
the description. I think one could assume that if I'm asking about wheels,
I need a pointer to a wheel shop, and I'm not instead making a disguised
request for people to analyze my problem for me.

GS
--
Grzegorz Staniak <gstaniak _at_ wp [dot] pl>
Nocturnal Infiltration and Accurate Killing
Nov 8 '08 #6
Grzegorz Staniak pisze:
Hi,

In a couple of weeks I'm starting a medium-size project (using a web
framework) involving a workflow implementation. Are you aware of any
open source workflow engines/libraries that I could base the project
on? Google returns hist for GoFlow (Django only, from what I can tell),
itools.workflow, spiff (AFAIK tied to a CMS), but not much else. I don't
think I'll have enough time to get acquinted with Plone and its offer
of products. Has anyone here tried any such code? What would you recommend?
There are some packages for zope on pypi:
Products.DCWorkflow - zope2, cmf
hurry.workflow and some extensions - zope3
zope.wfmc - zope3 (not many dependencies on zope3)
Nov 8 '08 #7
After all its "just" maintaining a state and rules for possible transitions.

I've implemented my own web framework (just like every other
Python developer ;-) and I've done my own finite-state-machines
for workflows. Web Frameworks are large, error-prone and have a
lot of nuanced details. Workflows done with FSMs are much more
transparent and require far less work. Each time I've created an
FSM, it's been a custom solution exactly matching the
problem-domain, and taking less than an afternoon to implement
(both coding the solution, and populating the state & transition
tables). Thus I'd say a web framework is multiple orders of
magnitude more complex than a custom rule engine.

-tkc


Nov 9 '08 #8
On 08.11.2008, Piotr Chamera <pi***********@poczta.onet.plwroted:
>In a couple of weeks I'm starting a medium-size project (using a web
framework) involving a workflow implementation. Are you aware of any
open source workflow engines/libraries that I could base the project
on? Google returns hist for GoFlow (Django only, from what I can tell),
itools.workflow, spiff (AFAIK tied to a CMS), but not much else. I don't
think I'll have enough time to get acquinted with Plone and its offer
of products. Has anyone here tried any such code? What would you recommend?

There are some packages for zope on pypi:
Products.DCWorkflow - zope2, cmf
hurry.workflow and some extensions - zope3
zope.wfmc - zope3 (not many dependencies on zope3)
Thanks, I'll have a look at them.

GS
--
Grzegorz Staniak <gstaniak _at_ wp [dot] pl>
Nocturnal Infiltration and Accurate Killing
Nov 9 '08 #9
On 09.11.2008, Tino Wildenhain <ti**@wildenhain.dewroted:
>>I think that was part of the problem.. you asked if the wheel had
already been invented, rather than tell us about the stones you have
to haul up a mountain, and whether a wheel is what you need. It's
difficult to answer your original question.. someone could have just
as easily said that you should consider Sharepoint and not bother
writing any code.

Aw, come on. The problem was only mentioned, but the question was pretty
specific: could you comment on/recommend an open source python workflow
engine/module (implied: to go with a web app). Sharepoint doesn't match
the description. I think one could assume that if I'm asking about wheels,
I need a pointer to a wheel shop, and I'm not instead making a disguised
request for people to analyze my problem for me.

Well if we can see you are asking for "what is the best wheel ..."
and we can deduct from your mail that you are tying to build a
sleigh
I can't see how possibly you could deduce anything like that from
what I wrote. I need to implement workflow, I asked about workflow.
If I was to continue with the metaphor: I asked about a wheel shop
and the reply was "better think about the rest of the cart, building
yourself a set of wheels is a trivial task". Which of course may be
true, and of course people with much more experience than I have
may implement the required FSMs in half an hour, but that's not what
I asked about.

[...]
And so if you are asking about the "best workflow engine to base the
work on" you are obviously in a similar situation. This question
implies that you are maybe not really aware of what a workflow engine
is and does apart from the nice word.
I'm sorry, but you're misrepresenting my words. I didn't say anything
about "best workflow engine", I asked for _any_ suggestions or comments.
Most of them happened to be along the lines of "phew, that's too easy,
go bother yourself with the rest of the stuff".
The common denonimator of a workflow (state engine) is so simple, the
only complexity comes from the environment it needs to drive.

So in short: I doubt there is a general solution to the problem.
Well, from the little research I did it seems some people try anyway.
I doubt they are all just trendy buzzwords lovers.

GS
--
Grzegorz Staniak <gstaniak _at_ wp [dot] pl>
Nocturnal Infiltration and Accurate Killing
Nov 9 '08 #10
2008/11/10 Grzegorz Staniak <gs******@wp.pl>:
On 09.11.2008, Tino Wildenhain <ti**@wildenhain.dewroted:
>The common denonimator of a workflow (state engine) is so simple, the
only complexity comes from the environment it needs to drive.

So in short: I doubt there is a general solution to the problem.

Well, from the little research I did it seems some people try anyway.
I doubt they are all just trendy buzzwords lovers.
I really don't know what a workflow engine is, but I kind of doubt that :)

"implements your critical intellectual property management processes
in an automated and easy to use manner"
"Implement multiple roles-base workflow processes in one application"
"Provide multiple endpoints representing the types of multi-faceted
decision making typical of intellectual property management"
-- InnovationQ

"The workflow engine kernel supports configurable LRU caching of
active workflow objects for high load scenarios."
"standard implementation completely based on WfMC specifications using
XPDL (without any proprietary extensions !)"
-- Java XPDL

"what makes Dalma interesting is that it's using continuation, and
thereby eliminate event-driven style programming (and associated state
persistence.)"
-- Dalma

"The Avantage BPMN process model definition is automatically executed"
"Meets all the construct requirements of the demanding workflow market"
-- Advantage

"fuses integrated asset management, workflow automation, and security
control into a single system to deliver a business-wide solution for
post production and broadcast customers of any size"
-- Avid Interplay

"hurry.workflow is a simple workflow system. It can be used to
implement stateful multi-version workflows for Zope 3 applications."

No wonder they are almost all written in Java.
--
mvh Björn
--
mvh Björn
Nov 10 '08 #11
BJörn Lindqvist wrote:
"standard implementation completely based on WfMC specifications using
XPDL (without any proprietary extensions !)"
Ah, it's based on WtfMC. That explains everything. :-)

--
Greg
Nov 11 '08 #12

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

2 posts views Thread by Sajid | last post: by
3 posts views Thread by ABC | last post: by
reply views Thread by Philipp via DotNetMonster.com | last post: by
1 post views Thread by Mr.Bean | last post: by
7 posts views Thread by lukasz | last post: by
reply views Thread by RoninZA | last post: by
reply views Thread by wangjunwei | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.