Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Book Review: jBPM Developer Guide

samzenpus posted more than 3 years ago | from the read-all-about-it dept.

Book Reviews 39

RickJWagner writes "jBPM is a mature, open source business process management (BPM) solution. This book, written in a developer-centric manner, guides the reader through the framework and exposes many important considerations for production use. BPM tools are used to define and execute business processes. They usually come with a graphical editor, which is used to drag and drop boxes onto a graph. The boxes represent activities performed by programs, activities performed by humans, and decision points. If this all sounds like 'graphical programming', it isn't. The picture does draw out the desired series of steps, but there's always configuration and maybe some programming involved as well." Read below for the rest of Rick's review.Developers new to the scene will probably draw parallels between BPEL and BPM. While they both allow the designer to orchestrate a series of activities, BPEL uses web services exclusively. (BPM doesn't specify, and often uses Java classes to accomplish desired goals.) BPEL offers support for human-activities (from BPEL4People and WS-HumanTask), but BPM has offered human tasks from the early days, so probably is a better choice if you have lots of them.

The book is true to it's title, it's definitely a book for developers. In the early chapters the reader is guided through implementing their own mini-BPM engine. This is an interesting exercise and helps solidify in the reader's mind the core concepts behind jBPM. It also reinforces the notion that jBPM can be used in a lightweight manner-- it's just as easily embeddable in a standalone Java application as it is deployed in a JEE container.

Speaking of JEE containers, jBPM is a JBoss product, so it's natural that it makes use of available infrastructure like Hibernate, poolable data sources, and enterprise beans for enterprise use. These are all optional-- if you want to write a minimal application that sits outside of JBoss, that's fine. But if you have heavyweight needs, heavyweight infrastructure is readily available. The book covers these important options in detail, which will be useful for developers writing real-world applications.

jBPM is popular enough that it's mentioned in quite a few SOA books as an enabling technology for process management. Most of these books provide coverage of the minimal, embedded use of jBPM. This book differs in that it provides good explanations of the 'enterprise' use.

Normally I strongly prefer paper books to electronic versions, but in this case I'd recommend you might consider the eBook. I say that because the book is much more useful if it's used in conjunction with the source code found on the publisher's site. The book shows source code in each example, but it's just a snippet out of context. I found the content much easier to understand when it was viewed next to all the related artifacts, so you can understand how they relate. (By the way, the toolkit used includes Maven and Eclipse. The reader is given adequate instruction in the front part of the book on setting these up.)

There's not much fluff in the book. It runs about 350 pages. Heavy Developer-type stuff starts after about 40 pages and never really gets lighter after that. Screen shots and diagrams are given where necessary, but mostly it's code and text. Sometimes books are criticized for being light on technical content and overstuffed with pictures and basic diagrams. This criticism does not apply in this case.

A big part of jBPM development is in data handling-- how do you get data into your process instance, and how do you get data out? The author explains this well, and it is a necessary discussion.

You might wonder why you should be interested in this book, which covers jBPM 3.2.6. After all, jBPM 5 was just released. What about jBPM 4? I believe this book will be relevant for quite a while yet, as jBPM 4 is not going to be included in JBoss's support cycle. They'll stay with jBPM 3 (the current supported standard) and will eventually move on to jBPM 5 (after it's gone through the 'community trial by fire' on it's way to productization.) jBPM 5 is going to be a big change from the current landscape-- it's converging with the rules engine Drools. For these reasons, I expect there will be a lot of jBPM 3 development done for a while yet.

So, who would I recommend this book for? I'd say it's a good book for anyone supporting a jBPM 3 deployment, or anyone considering developing a process-centric application. jBPM is a good product, and this book can help a reasonably skilled Java developer get off the ground. I would not recommend the book for someone just out trolling for a technology book to pick up, or an analyst charged with developing the graphical process depictions. As the title says, this is a book for developers.

You can purchase jBPM Developer Guide from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

cancel ×

39 comments

Sorry! There are no comments related to the filter you selected.

Developers new to the scene (4, Insightful)

CajunArson (465943) | more than 3 years ago | (#35223962)

Developers new to the scene will probably draw parallels between BPEL and BPM.

    Damn straight... BPEL is totally east coast while BPM is rockin' the hood west sieede.
      Or maybe "developers new to the scene" won't have any idea what the hell two obscure acronyms stand for and maybe.. just maybe.. you could provide a bit of context?
      And for the people who are going to whine about Googling for the answer... if I can google for the answer, why bother buying this book or reading the review to begin with?

Re:Developers new to the scene (0)

Anonymous Coward | more than 3 years ago | (#35224006)

It's a great book (I'm guessing) if you're interested in learning about a dead project. You'd be better off looking at Activitii, imo.

Re:Developers new to the scene (3, Informative)

xero314 (722674) | more than 3 years ago | (#35224110)

It's a great book (I'm guessing) if you're interested in learning about a dead project.

If by dead you mean latest release was three weeks ago, then yes it's about a dead project. jBPM5 was just released, based off of knowledge learned from jBPM 3, the orphaned jBPM4 and Drools Flow. I'm not saying which is better, just saying jBPM is far from dead.

Re:Developers new to the scene (0)

Anonymous Coward | more than 3 years ago | (#35224408)

Based upon your comment, I can see why the pp may have thought it was dead, though. And the GP still have a reasonable question. I'm not "new to the scene" as a developer, but I still have no idea what either of the acronyms mean.

Re:Developers new to the scene (1)

xero314 (722674) | more than 3 years ago | (#35228062)

jBPM has been in active development since at least version 3 which started well over 4 years ago. So there really is not reason the GP would have thought it was dead.

I'm not "new to the scene" as a developer, but I still have no idea what either of the acronyms mean.

There are a lot of developers who don't know what Business Process Management(BPM) is. But if you don't know what it is, you probably don't have any need for this book. I'm not saying the review was a good review, but it is pretty valid to assume that anyone interested would know what BPM is. Business Process Execution Language (BPEL) on the other hand is really not necessary to understand BPM, but it is core to understanding jBPM. (I even wrote it wrong the first time I wrote it as BP Expression L).

Re:Developers new to the scene (0)

Anonymous Coward | more than 3 years ago | (#35267972)

Thanks admin very nice postAs a well-spent day brings happy sleep, so a life well spent brings happy death.
http://www.evdenevenakliyatcim.net/ankara-evden-eve-tasimacilik-nakliyat.html

RickJWagner and Packt Publishing (1, Informative)

Anonymous Coward | more than 3 years ago | (#35224008)

1) RickJWagner: check!
2) Book by Packt Publishing: check!
3) Rating of either 7/10 but still recommend book: check!

Nice shilling, bro! How much does Packt pay you to keep shilling their books?

Thank God for samzenpus (4, Funny)

Anonymous Coward | more than 3 years ago | (#35224032)

This book review is exactly what I needed!

You know, I often find myself asking how I can increase my ROA through CRM and different SOA BEAs. Our MIS is SOL unless we can RQT it ASAP. JEE is the route to go for SMB because you just can't rely on those lousy SNEs to BTN the TMP. jBPM is obviously TRM but does it integrate PDI for our ODBC?

TFT. T. F. T.

Re:Thank God for samzenpus (0, Funny)

Anonymous Coward | more than 3 years ago | (#35224356)

If you doubled those acronyms you'd be close to a typical WoW conversation.

Re:Thank God for samzenpus (-1)

Anonymous Coward | more than 3 years ago | (#35224440)

i loled.

Classic. (0)

Anonymous Coward | more than 3 years ago | (#35225094)

Love it.

Wow. (-1)

Anonymous Coward | more than 3 years ago | (#35224084)

What a snoozer.

Define your terms! (5, Insightful)

wild_berry (448019) | more than 3 years ago | (#35224092)

This is a really terrible review. You could have said that Business Process Management (BPM) and Business Process Execution Language (BPEL) are important to know for this book. Or it's so esoteric that, if you need to know what BPM is, you already know BPM.

Re:Define your terms! (0, Troll)

Desler (1608317) | more than 3 years ago | (#35224120)

But that's not the point of this review. The point is to shill for Packt Publishing and recommend people buy a book no matter whether it gets a 9/10, 7/10, etc. RickJWagner has yet to NOT recommend a Packt book regardless of his score.

Re:Define your terms! (2)

dgatwood (11270) | more than 3 years ago | (#35224284)

Agreed. I read the blurb part of this review, and I was wondering what the heck business processes had to do with beats-per-minute (BPM) calculations. You should ALWAYS define acronyms explicitly upon first use.

Re:Define your terms! (1)

mvdwege (243851) | more than 3 years ago | (#35229032)

In which case I posit you're an illiterate, because it is right there in the very first sentence of the summary.

Mart

Re:Define your terms! (1)

wild_berry (448019) | more than 3 years ago | (#35235320)

That was added after (in response to?) my comment post. The mods can do that, and thumbs up to them for improving this content-free front-page post.

Re:Define your terms! (1)

dgatwood (11270) | more than 3 years ago | (#35236154)

In which case I posit you're an illiterate, because it is right there in the very first sentence of the summary.

It wasn't in the summary when I posted my comment (half a day before you posted your reply). These sorts of problems tend to get fixed by the editors after people complain. Then a new crop of people comes in later, and they say, "Huh?" because the problem has already been fixed. And then people have to explain to those people that the editors changed the summary. It happens every time.

This is why we really ought to have the ability to post in a separate area to complain about problems with the summary itself. Alternatively, the summary could have a change log at the bottom (e.g. an italicized, bulleted list of corrections). Or both.

Re:Define your terms! (1, Offtopic)

msauve (701917) | more than 3 years ago | (#35224312)

Undefined TLAs (Three Letter Acronyms) really make my blood boil, which is why I was interested in an article about Blood Pressure Monitors.

Re:Define your terms! (-1)

Anonymous Coward | more than 3 years ago | (#35224378)

Hmmm, and I thought you were talking about Beats Per Minute... for a minute...second there! I must of skipped a beat

Re:Define your terms! (0)

Anonymous Coward | more than 3 years ago | (#35230776)

Be back in a minute...

Re:Define your terms! (0)

Anonymous Coward | more than 3 years ago | (#35225218)

If you're bothered by acronyms, you need to GTFO BPM ASAP or else you'll be all OMGWTFBBQ XML?

Oh, THAT kind of BPM (-1)

Anonymous Coward | more than 3 years ago | (#35224140)

The next time someone decides to use acronyms in an article, make sure that the acronym is typed out. On first read, I understood "BPM" as "Beats Per Minute".

Wait...did I miss a month? (2, Insightful)

bigredradio (631970) | more than 3 years ago | (#35224404)

I just checked the calendar. Is it April 1st? That would suck because I really like March.

Re:Wait...did I miss a month? (0)

Samantha Wright (1324923) | more than 3 years ago | (#35224528)

You are alone in the world.

Re:Wait...did I miss a month? (0)

king_grumpy (1685560) | more than 3 years ago | (#35224850)

Hell yeah. My birthday is in March.

Stay Tuned! (-1)

Anonymous Coward | more than 3 years ago | (#35224472)

Stay Tuned, I will publish the new version of this book updated for jBPM5 and Drools 5 in June! I'm already working on it!
Greetings and thanks for the review! In the mean time I'm publishing a Free Community training for jBPM5 in my personal blog:
http://salaboy.wordpress.com

Hey look! (-1)

Anonymous Coward | more than 3 years ago | (#35224520)

It's an IBM ad!

Well, I suppose it's very nice... (0)

Chris Mattern (191822) | more than 3 years ago | (#35224774)

...but why would I need software for Beats Per Minute?

Re:Well, I suppose it's very nice... (-1)

Anonymous Coward | more than 3 years ago | (#35224836)

So you can sync up your tracks. Isn't it essentially what AcidLoops and other DMS (digital music studio) and DJ software is all about?

Re:Well, I suppose it's very nice... (0)

Anonymous Coward | more than 3 years ago | (#35225126)

If you're syncing up disparate sources, you'll probably want to use a SMPTE (Society of Motion Picture and Television Engineers) track rather than BPM (Business Process Management)..er (Bananas, Pears and Mangoes)..um..no..(Beats Per Minute).

Re:Well, I suppose it's very nice... (1)

xero314 (722674) | more than 3 years ago | (#35228096)

So you can sync up your tracks. Isn't it essentially what AcidLoops and other DMS (digital music studio) and DJ software is all about?

I didn't know that the Daughters of Jesus (DJ) even had software, let alone that it's used for syncing up tracks.

Did I tell you about the onion on my belt? (1)

Hognoxious (631665) | more than 3 years ago | (#35229150)

Every few years someone invents an awesome new methodology that's basically warmed up flowcharts with a bit of CASE and charges mucho $$$$$ for it.

Needless to say the PHBs lap it up.

Re:Did I tell you about the onion on my belt? (1)

NightWhistler (542034) | more than 3 years ago | (#35229266)

jBPM is open source and free software, as pretty much all of the JBoss stuff is.

That being said, I would not use jBPM for a new project anymore. It uses it's own proprietary modeling language as opposed to the more standard BPMN2.0 notation, and a lot of the original developers left the project to start Activiti [activiti.org] .

Activiti does use BPMN2.0 for it's notation, meaning you have much more choices in editing software.

As to the whole concept of BPM itself: it's very specialized software in that it allows you to do 1 thing: model business processes, and specifically those that require one or more human steps. Typical scenarios are where you call a company with some kind of request (say you want to upgrade your internet line speed), which will take them some time to complete. BPM software will handle the information transfer between the various people involved in the process, and also allow for easy tracking of the status of your request (e.g. our credit office is waiting for the results of your background check).

Re:Did I tell you about the onion on my belt? (0)

Anonymous Coward | more than 3 years ago | (#35229456)

The Activiti developers left JBoss because they disagreed with JBoss' decision to ignore their work in favor of another group's approach.
JBoss transitioned another project, Drools, into the jBPM 5.0 moniker, completely ditching the jBPM 4.0 code that the core JBoss developers had expected to be productized.

jBPM nee Drools is a mature project that has a more powerful engine than Activiti. It is not behind on standards. It supports BPMN 2.0 notation. It also has a leg up in terms of Business Rules Management. It has integrated the Drools Flows engine as it Business Rules Management engine, while last time I checked, Activiti did not have a rules engine at all.

That said, Activiti has an advantage in terms of visual process modeling. It has a coalition of companies supporting it who have contributed a suite of powerful modeling tools.

Re:Did I tell you about the onion on my belt? (1)

xero314 (722674) | more than 3 years ago | (#35229488)

It uses it's own proprietary modeling language as opposed to the more standard BPMN2.0 notation

jBPM 5 uses BPMN 2.0 exclusively (though I imagine the process engine could support other languages as well). jBPM 4 also supports BPMN 2.0 though it was not the primary target.

and a lot of the original developers left the project to start Activiti

Yes it was certainly a sad lose that Tom and others went over to Activiti, but it's also great competition and hopefully we will end up with two great choices in the near future.

it allows you to do 1 thing: model business processes

That may only be one thing, but it is a very broad topic. In also allows you to model more than just business processes, it's pretty capable of modeling most human processes.

and specifically those that require one or more human steps

We use BPM at my company to model many processes that have no human intervention. As a mater of fact we are using BPM to drive fully automating our systems and removing human tasks where ever possible.

Don't limit yourselves. BPM, or what should really just be Process Management, is useful in many scenarios.

Now excuse me while I see if Activiti has matured enough to be a viable option to add to my skill set and technology stack.

Re:Did I tell you about the onion on my belt? (0)

Anonymous Coward | more than 3 years ago | (#35229688)

"In also allows you to model more than just business processes, it's pretty capable of modeling most human processes."

As are flowcharts, like the man said.

Problems posting submissions (1)

JR0cket (1986408) | more than 3 years ago | (#35253532)

Is anyone else having problems posting book reviews to slashdot? I have tried four times in the last week and each time the book never shows up in the pending list of book reviews. The reviews have the bookrevew tag and the book review topic icon appears on the submission. The book details never show up on the preview of the submission or after I have pressed the "Save" submission button. I have read through the book review page several times, very carefully. There are several inaccuracies in the book review page about submissions, as there is not a drop down box to select book review, the only way I get the relevant fields is by entering bookreview as a tag. Any advice would be welcome. Thank you
Check for New Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>