This post originated from an RSS feed registered with Java Buzz
by Weiqi Gao.
Original Post: JBPM At The JUG Tonight
Feed Title: Weiqi Gao's Weblog
Feed URL: http://www.weiqigao.com/blog/rss.xml
Feed Description: Sharing My Experience...
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 Gregg: 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. Gregg: 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.