Tuesday, January 12, 2010

jBPM Developer Guide review - chapters 1 to 6 (part II of III)

Click on book to buy!
Back to jBPM Developer Guide review part I

This book makes the promise with the title that it will be giving us developers an in depth look at jBPM. This is the measure I am using when reviewing each chapter, asking myself if it fills a need I have as a developer. This is not a beginners book is the impression I had when looking at the cover. Also of note, this is not a cheap book, running over 48 Euro + shipping costs, so I would expect value for that kind of money.

I will jump right into the review, providing my impressions of each of the first six chapters:

Chapter 1
This is an introduction chapter that tosses out lots of technological terms for the new jBPM developer.

This chapter you can skip.

Chapter 2
This chapter attempts to take you through some basic BPM functionality for implementing a process engine (just a very basic one). It is kind of fun to see happen, but not needed for jBPM usage.

This is also a chapter you can skip without missing anything important for your jBPM development experience.

Chapter 3
This chapter is going to get into the nitty gritty with a jBPM deep dive. This is the feeling I am getting. A small comment, the jBPM background/history is a bit on the thin side and not founded in facts. Also first we are forced to take a walk through the jboss.org community stack, nothing to do with jBPM yet.

On page 75, the real business starts, we dive into jBPM and build it via Maven and SVN. I really like this, as most books on community projects fail to give even a simple Maven explanation. You will have no excuses to not have a running jBPM check out from the community projects repository after this chapter. We are off and running!

From page 75 onwards, this is a must read chapter.

Chapter 4
In depth dive into jPDL, nothing but good things to say about this.

A must read chapter.

Chapter 5
A real example project is setup, starting from the business side which is nice for the beginners but a bit of a waste for the developers. We never are involved with this part of the project and have to make do with the results.

The only let down on this chapter is the finishing section, which requires you to download the provided projects code to see how you can create an initial unit test to march through the process as designed in this chapter. This is such a fundamental step in every project you will do in jBPM that I am a bit disappointed that the author did not walk us through the code snippets in the chapter itself.

This is a must read chapter.

Chapter 6
Persistence and all things devoted to how jBPM uses this and how you set it up. Very good detail and clarity.

A must read chapter.

I will post a final part soon with chapters 7 - 12 and my final conclusions. I also want to keep a running list of questions and impressions that arise during my reading/reviewing. I will list older items in italics, new items in normal text and remove items as they are resolved.

Impressions and questions:
  • no resources or references section in the book
  • lots of Wikipedia references in-line, never a good thing to use as a primary reference
  • in handling of a Nodes and Transitions I am wondering if dynamic transitions will be handled?
  • are there any best practices to be given when implementing jBPM projects?
  • I don't understand why all these technologies have been used in a jBPM Developer Guide (Drools, ESB, Maven, MySQL, Eclipse and SVN)
  • the author gives us "homework" in the first three chapters, but then it just stops until the ninth chapter, rather a shame
  • miss exception handling as an advanced feature?
Stay tuned for the final part III of this review series, coming soon!

Onwards to jBPM Developer Guide review part III