jBPM Developer guide book review

I’m glad to post my review about jBPM developer guide book, written by Mauricio Salatino.

Mauricio is well known in the jBPM community as he’s always engaged in the forums encouraging developers to take interest in the jBPM framework and answering their queries.

So this book has the great advantage to be written by somebody in close touch with the Community and in many part of the book he tries to shed some light on many common asked questions, for example what’s the difference between jBPM and a process engine, how to set up a web/standalone application with jBPM, how the persistence service supports jBPM and many others.

Going in detail, the book is divided into 12 chapters: the first 3 are focused on the main theoretical notions about jBPM. Eclipse IDE is the basic development tool used, but if it is also shortly introduced how to use Maven2 to build your project/framework.

Chapter 4-5 are about the jPDL language, showing deep understanding of JPDL, the preferred process language, to know how your processes must be defined and implemented. Here the author first introduces the basic nodes, concerned with wait conditions, leaving to chapter 10 additional information about other nodes.

In chapter 5 you can see a real-world example of how you should set-up your process, starting from analyzing business requirements, setting up a formal definition of the process, choosing the technical environment (Web,Standalone application) and finally running and testing your example. This is the most important part of the book and it’s really good that’s written in a clear and simple way otherwise the reader won’t be able to continue through the next sections, which are more advanced.

Chapters 6-8 are about the persistence service and Human Tasks. Here the author discusses about the persistence service and human interactions inside business processes. The author shows important concepts using a simple language with the aid of clear examples and images. In particular it’s nice to see in the 8th chapter how the initial Recruiting Process example is configured to be used in real-life process.

Chapters 9 is analyzes where to store the critical information about the process. This chapter provides many interesting strategies to make a good choice to decide where to store all contextual information

Chapter 10 completes the jPDL language adding information about fork and join nodes, super state nodes, email nodes and parameterized actions.

Chapter 11 completes the Recruiting Process example by introducing superstate nodes and asynchronous execution, showing in concrete what are the changes introduced by these new activities.

Chapter 12 is the last chapter of the book and is dedicated to show how to configure some common Java EE services used by jBPM (such as JTA) along with others not so well known as the JobExecutor services, the Timer and reminders interfaces.

My opinion about the book is that the writing is clear and enjoyable throughout. I like the idea of presenting an extended example of a Recruiting Process which carries forward throughout the book. This helps the concepts fit together and build upon one another. jBPM developer guide is highly informative and, as most Packt Publishing titles, a practical guide. I highly recommend it