<< August 10, 2006 | Home | August 12, 2006 >>

JBPM At The JUG Tonight

Tonight at the St. Louis JUG Raj Patel presented about JBPM, the Java Business Process Management system, now a part of JBoss's offerings.

I have used JBoss 2.0 and 3.0 in past projects. But I haven't been following JBoss's latest maneuvers on their product strategies. So I only have a cursory knowledge about JBPM (I watched the 20 minute video of dragging and dropping and web pages magically appearing, for example.)

Raj's presented at quite a detailed level. He started off with the graphical process designer (JBoss IDE), went through the XML language that underlies the graphics and its major elements, showed Java code that is hooked into the key points in the process where the JBPM API is used to communicate with the engine, and demoed a few processes running inside the container.

Unfortunately, the process Raj built on stage failed to deploy into the container and he had to use a pre-deployed processes as demoes.

I can't say I'm sold on the product. And judging from the questions of the audience, neither are they. Even Raj himself sometimes sounded a little tentative (yet I still prefer this to a vendor's technical sales person's sureness of their new pointy-clicky products). But we are very curious as to the inner workings of the engine. Can it be transactional? Can it be used as the core processing engine of an application? Can a programmer get at the internal states of an instance of a process?

Here's the notes I took during the presentation. I can't make any sense of them now. Maybe someone more familiar with the BPM thing can fill me in on some of the details:

  • Business Process Management
  • Programming. No more programming
  • BPEL
  • Process design
  • Process execution
  • Process monitoring
  • Graph oriented programming
  • Domain specific languages
  • Workflow
  • Orchestration
  • IdentityContext
  • JbpmContext
  • Each fork has own set of variables, the first one wins when they join
  • pyxie
  • jPDL, the native mark up language of JBPM
  • Also supports BEPL, strange license
  • PageFlow
  • States
  • Node
  • Transition
  • Execution
  • fork
  • BEPL has good error handling

Some chats at the JUG (unrelated to the presentation):

Kyle: How do you think about the turn out
Me: It declined a little
Kyle: Why is that?
Me and Jeff: Java has matured. Some people don't feel the need to come any more. Some may have moved on to other things.
Kyle: Have you been to the Ruby User's Group? It's overflowing with attendees. Just like the JUG when we started at Novell.
Me: Ruby definitely is happening.
Kyle: There are many former Java people at RailsConf. James Duncan Davidson, who invented Ant, kept apologizing for it.
Jeff: Finding good topics for the JUG has also become harder
Kyle: How about "How can Java programmers survive when Java becomes the COBOL?"
Me: That'll be the last talk of the JUG. We started with "Java, What's All the Excitement About?" We might as well end with "Where has all the excitement gone?" :)

That last sentence was a joke. We have plenty of speakers lined up for the JUG: Jeff Brown will talk about Grails next month. Alex Miller will talk about implementing domain languages in Java in October, and Kyle Cordes will talk about scripting in Java in November. Do come!


We has some Mac OS X on Intel Core Duo iMac ==> Windows XP in Parallel ==> VNC in a secure server, ssh tunnelling fun today.

Tags :