[jbpm-dev] jbpm 5 feedback

Kris Verlaenen kverlaen at redhat.com
Mon May 17 19:23:04 EDT 2010


Feedback inlined !

Wim Geeraerts wrote:
> This is the feedback we have at this point:
>
> CORE PROCESS ENGINE
> The time line will be very important for us: which BPMN2 nodes will be
> implemented first?
>   
We're currently looking at supporting the "common executable" subclass 
first.  This is one of the conformance classes that has recently been 
added to the specification and includes the most common node types for 
describing executable processes.  On top of that, some other already 
existing node types will probably be supported as well.

>  It would be great if we have a number of core nodes in a first phase
> and the ability to customize these (both by configuring the core nodes
> and by adding custom nodes)
>  Customization of nodes is key to us, f.e. we want to be able to
> define our own task created within a task node with custom attributes
> and with links to our domain data
>   
The engine is built on the PVM concept, so adding custom node 
implementations is possible.  The use case you are describing seems even 
simpler though, as it does not really seem to be a custom node but 
rather a domain-specific node, which will be even easier to plug in.

>  process instance migration is something we don't want to happen
> always.  In some situations we want our old process instances to use
> old process definitions.  Furthermore process instance migration must
> be extensible since some of the constraints are application specific.
> Jbpm 5 can only provide a good default implementation.
>   
Process instance migration is never automatic.  The default strategy is 
just continue with the old process definition.  If you decide to migrate 
existing instances, we can only provide a fairly simple migration 
strategy (basically map nodes to their existing counterparts in the new 
process), with pluggable strategies for application-specific both data 
and state transformations.

> HUMAN TASK
> good that is is based on a standard
> Will  this be offered as a POJO instead of a webservice?
>   
We want to offer the core engine as a POJO service but provide the WS-HT 
web interface if you want it (the RiftSaw project for example would use 
the WS interface using BPEL).
> Will this be customizable?  (as described above, we want our own
> flavour of tasks to be created)
>   
The human task service is completely pluggable, so you can have your 
custom implementation.  Regarding the customization of the default WS-HT 
service, I suggest you take a look at the WS-HT standard to see whether 
the specification is generic enough to support your use cases.
> Will the task data pattern be implemented?  Having scoped variables is
> important for us.
>   
The task can have input and output / error data associated with it, 
which can be anything you want it to be (translated to byte[] internally 
for storage).
> We need  group assignment / escalation / assignment rules - again this
> should be customizable
>   
These are defined in the spec and we try to follow it as close as possible.
> Human task console / from editor is something which has less priority
> according to us.  If the core is there these tools can be created on
> top of that afterwards.
>   

> PROCESS REPOSITORY
> Versioning of processes is a must.  Also think about how attached
> business logic or rules will be versioned.  What is the link between
> process version and business rule version?
The repository contains both your processes and your rules, so they are part
of the same knowledge set.  At any time, you can see which processes and 
rules
(and associated domain model) are currently used.
> Furthermore if old process instances refer to business logic using class names (as in
> jbpm3 f.e.), they will no longer work if the business code is
> refactored (i.e. the class names are changed).
Yes, we don't recommend using that, domain-specific nodes allow a 
deploy-time binding
of an abstract task node to an implementation.
>   So we need a better
> way to link the business logic / business rules from within the
> process description and version these.
> Dynamically updating processes - how whill this behave if process
> instances are active at that time?  This is a nice feature but with a
> lower priority.
>   
You're actually not removing the old, you're just adding a new definition.
> Scenario testing before deployment - Does this mean we can test the
> application using the new process definitions before they are
> deployed?  Nice feature but again lower priorty according to us.
>   

> BPM CONSOLE / WEB-BASED PROCESSING TOOL
> It would be beneficial to have the same functionality available via
> EJB.  I.e. it would be nice if the web tools would just be a WS layer
> on top of  a set of EJBs (which we could use to create our own
> integrated tools).
>   
They are currently using a REST interface, it would be possible to 
investigate if
they could be exposed for example as EJBs as well.

> SIMULATION
> Something we would use in a later stadium to allow service engineers
> to adapt processes to optimize usage of resources f.e.  But for us
> this has a lower priority.
>
> BAM/BI
> It would be nice if the data that is used to create the BIRT reports
> on is available, so that we can integrate our own BI solution (Oracle
> BI f.e.) on top of this.
>   
The reports are based on the history log, which is accessible from any 
application
if you want to, and customizable.

> We will use this not only to show statistics but also to do trend
> analysis and report changes in trends, f.e. some data normal for one
> site is abnormal for another site
> So again here according to us it is more important to focus on the
> core (make sure the data is there) and a customizable way to consume
> the data (with BIRT as default implementation)
>   

> INTEGRATION
> authentication / authorization: it must be possible to provide our own
> module here.
>   
That is of course the idea.
> JOPR => is there also an integration with RHQ?
>   
The integration is based on JMX, so I think it supports both.

Thanks for the feedback.

Kris


More information about the jbpm-dev mailing list