jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "(Berry) A.W. van Halderen" <b.vanhalde...@hippo.nl>
Subject Re: Are "Workflows" supported by Jackrabbit?
Date Tue, 07 Aug 2007 13:47:58 GMT
On Tue, Aug 07, 2007 at 03:23:11AM -0700, gsoap wrote:
> Are workflows supported by Jackrabbit?
> Can we define workflows using Jackrabbit?

The JCR specification does not include methods for workflow.  This is not
considered a lack of functionality by most, as ideas line workflow are very
application domain specific.  It would be very hard to agree upon a "mother
of all kinds" of workflow interface that fits all application uses.
For this, the different application domains are too diverse.

JCR itself should be seen only has the core of a storage layer.  Business
intelligence can extend or use this common layer to provide more advanced
features such as workflow.  Many CMSes do this (Nuxeo, Magnolia, CRX, Hippo)
and extensions to a basis of JCR, but extended.

JackRabbit being a reference implementation of JCR performs those actions
to implement JCR and a few things that are planned for next-gen JCR
specifications.  It does not (or should not IMHO) target more advanced
uses being a reference implementation.

JackRabbit can however be extended to implement workflows.  We are
implementing just this using JDO<>JCR persistency allowing for workflows to
be implemented using Plain Old Java Objects without any knowledge of JCR
itself.  This workflow can then be dynamically added and accessed to an
"extended" interface (which falls outside of the scope of JCR).  This way
the basis is still JCR/JackRabbit.

Another alternative would be to implement a workflow using the JCR API and use
the workflow just at the application side.  Then there is no generic interface
of a workflow needed as it is combined directly with your application.  Most
people are moving a bit away from workflow engines such as os-workflow and
these can be quite limiting and have their deployment problems.

So for workflows, you have to go implementation specific and this will likely
remain so for quite some time.  It would be a good idea to then choose for an
open source alternative (as we do) as this will provide you with most
accessibility to insert your own workflows and suit the engine to your need.

Berry A.W. van Halderen           b.vanhalderen@hippo.nl / berry@halderen.net
Disclaimer: the above is the author's personal opinion and is not the opinion
or policy of his employer or of the little green men that have been following
him all day.

View raw message