[jbpm-dev] Re: jBPM 4 limitations

Tom Baeyens tbaeyens at redhat.com
Mon May 11 05:03:58 EDT 2009



Burr Sutter wrote:
> 
> 
> Tom Baeyens wrote:
>> 2 more
>>
>> * no user provided hibernate sessions
>> * no user provided jdbc connections
>>
> Would our jBPM3 customers think these are "losses"?

in my estimation, I think that less then 1% of our users uses this feature.

>> regards, tom.
>>
>>
>> Tom Baeyens wrote:
>>> Burr,
>>>
>>> In jBPM 4 one of the main goals is to improve the supportability.  
>>> Therefor we are seriously expanding the QA capabilities in the project.
>>>
>>> Another part of that is clearly indicate what environments and 
>>> configurations we support and which not.
>>>
>>> Here are a couple of limitations that I'ld like to start with from a 
>>> product perspective:
>>>
>>> * only one jBPM instance on a jboss server
> Can I have several .wars or .ears that all use that jBPM instance? 

yes

>>> * only installation and configuration of jbpm as in the soa platform
> What does this statement mean?

configuration of transaction related stuff:
  - jbpm configured to bind to JTA
  - jbpm command interceptor with JTA required semantics
  - jbpm configured to use hibernate's current session
  - jbpm configured to not create hibernate transactions
  - hibernate configured with a xa datasource
  - job executor configured as in the soa platform

we create a set of configurations for jBPM, app server and hibernate so that it 
works.  users have to stick with the configuration we provide and for which we have 
QA set up.

we saw in jbpm 3 that a lot of users burned their fingers if they start messing with 
these transactional settings.  e.g. let spring manage the transaction.

jbpm 4 has improved conofigurability.  but we must only support those configuration 
sets for which we have QA running.

>>>  - distribution ships with an ant based installer that installs jbpm 
>>> into jboss
> Do we limit the support of jBPM to just JBoss EAP & SOA-P?  
> Historically, we've supported BEA, IBM, Tomcat, J2SE, etc.

Yes.  Unless we have QA set of for it in the project.

With the infrastructure we have in place now, it should be pretty straightforward to 
add such a container like e.g. Tomcat.  But it takes work that has lower priority 
then embedding jBPM 4 into SOA-P 5.

This is just a resource issue.  In the project, next target (after SOA-P 5) would be 
Tomcat.  I don't know know when we'll be able to deliver on that as SOA-P 5 takes 
precedence.

>>>  - jbpm is installed in jbpm as a service archive
> jBPM is already be pre-installed inside of SOA-P, is there anything in 
> jBPM4 that requires it to be in a .sar?

jBPM 4 installation is a combination of a sar, libs, configs and some ejbs.

the sar part is necessary to publish the central jbpm ProcessEngine object into JNDI 
when JBoss boots.

>>>  - jbpm ProcessEngine is published in JNDI
> Sounds good
>>>  - hibernate session factory configuration as part of the jbpm 
>>> installation
> Does this mean that a user can't "hijack" the hibernate session and 
> "work around" jBPM's use?

They can but we should not support those scenarios until we have QA set up for these.

>>>  - jta transaction integration
> excellent
>>>  - timer and async message run through our JobExecutor
>>> * only jboss idm identity component integration
> Will the JBoss Identity component ship with EAP5? Or is this a component 
> that jBPM will include in its own jars?

It is targetted to ship with SOA-P 5.  They seem to be on track as well.

>>> * no async messaging through JMS
> That will make some jBPM3 users unhappy. NTT feels this will add 
> scalability, especially in a cluster.

Same here.  We have all functional components in place, but except for QA.  Setting 
that up requires productization resources which we don't have.  So that work is now 
serialized and will have to be prioritized after GA.

>>> * no timer support through EJB Timer
>>> * no spring transaction integration.
>>>
>>> We might be offering those to the community in order to get feedback 
>>> and flesh these out.  But until those extra features get stable and 
>>> we have the necessary QA build out, I would like not to introduce 
>>> those into the product.  This focus will help us to deliver in time.
>>>
>>> Do these seem reasonable limitations to you ?
> Will these items ship in the .jars/.zips that we send to customers?

Good question.  We're building the userguide docs so that those can be shipped as-is 
to customers.

But in terms of disabling actual features as part of the sanetization process, i 
didn't give that much thought yet.

>>> Do you see other jBPM aspects that need clarification if they are 
>>> supported or not ?
> Martin P would be one of the best resources to ask what should be "in" 
> vs "out".

-- 
regards, tom.




More information about the jbpm-dev mailing list