Mark Newton interviews Tom Baeyens about the current status of the JBoss jBPM project.
Thursday 10th May 2007
| Mark | Tom Baeyens, project lead for JBoss jBPM, welcome! |
|---|---|
| Tom | Thank you |
| Mark | Good to see you again. How are you enjoying JavaOne this year? |
| Tom | Marvellous, so each time when I come here, it's just like, I wonder is it worthwhile the effort of coming here? Just a couple of appointments and a couple of sessions I want to attend. But then while you're here, you're having all these interesting meetings with people that's each time very surprising. |
| Mark | Yeah, I found it's very good this year. There's a lot of people talking together and sharing ideas and it's really good. |
| Tom | Absolutely. |
| Mark | So, with your project, I mean traditionally it's been based around a process engine with support for one language which was jPDL and now you've evolved this to a situation where you have the process engine and 2 languages that are now supported. So you've got BPEL on top of that. |
| Tom | Right, correct. So, that actually happened when I joined the company, so when I joined JBoss. Before that we had only support for one process langauge but JBoss needed to have a BPEL engine as well. And so what we did at the time, we realised that we could actually separate the common parts of the process language from the actual process language specific parts. So and that's when the idea got started on one core engine and multiple process langauges on top. And that work has been evolving since then and is now completed and this is now described on how the core engine components, how that works, that's what we described in the Process Virtual Machine. |
| Mark | Excellent. So why is this important for people who are developing software? |
| Tom | So that's for 2 reasons. So the first reason is, as I said, it's a component model. So it shows you how you can actually build a library that can support multiple process languages natively. Not just import and export but support them natively. And secondly it's the development mindshare. And that is very important because if I say to you 'Relational Database' then you immediately think in terms of tables, columns, foreign keys, primary keys, that sort of thing. Whereas I say 'Workflow', most people here they don't really know what it is. And if 2 people say they know what it is then probably they are talking about different things. And the goal with the Process Virtual Machine is that very soon, as people start to learn these common concepts they will know about workflow or BPM so that actually means a process definition and an execution and they'll have these concepts. So that's actually the goal of the Process Virtual Machine. So we recently published an article about the Process Virtual Machine, it's published OnJava and on our website, so definitely you should check that out. |
| Mark | That sounds good. So that's http://jboss.org?
Editor: The article can be found here: http://jbpm.org/pvm |
| Tom | Yeah. |
| Mark | That's great. And over the last few years you've been involved with workflow and Business Process Management for quite a while now. I mean what are the evolutions you've seen in the marketplace. Have people really begun to understand really what this is really all about? |
| Tom | There is, there is a big change going on lately. So if you look at it a year ago, let's say all BPM and workflow was centered around BPEL and around web service orchestration. And that was the way to go, that was the single process language that's going to make it. At that time we were already long time working on our multi-language approach. And in the market however, at that time there was no question whatever that we ever need something different. And that drastically changed now, recently. As I talk to people here many already realise that BPEL does some parts right, like web service orchestration but it's not so suited for another set of problems. So and that's where we see web services fitting with BPEL but in a web application, a plain Java web application, that's where jPDL the Java Process Language might make more sense. |
| Mark | Right, OK. So this is where you get into the integration with Seam I suppose then. |
| Tom | Yeah, so Seam uses actually 2 process languages of jBPM. So the overall business process language, so the long running typical expense note type of processes, these are covered by the jPDL language and these are reflected into the Seam business process context. But then there's another process language which has a completely different goal. And that is to specify the page flow in a Seam web application. So in that case you're actually going to graphically specify the nodes of your web application and the arrows let's say, or the transitions that indicate the navigation between your web pages. |
| Mark | Ah, very nice. And so we have the tooling as well for this now. |
| Tom | Right, so both languages are supported with tooling so that you can graphically define that. |
| Mark | That sounds great. |
| Tom | It is! |
| Mark | And these tools will be available on JBoss.org as well, eventually in the JBoss Tools project. |
| Tom | Correct, correct. |
| Mark | Excellent, well thanks for your time Tom. |
| Tom | You're welcome. |
| Mark | I think it's time to go. |