jBPM 5 Developer Guide Paperback – 17 Dec 2012
|New from||Used from|
- Choose from over 13,000 locations across the UK
- Prime members get unlimited deliveries at no additional cost
- Find your preferred location and add it to your address book
- Dispatch to this address when you check out
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
About the Author
Mauricio Salatino (a.k.a. Salaboy) has been an active part of the Java and open source software community for more than eight years. He got heavily involved in the JBoss jBPM and Drools projects as a community contributor five years ago. After publishing his first book about jBPM for Packt Publishing, he was recognized as a valuable member of both projects at the JBoss Community Awards 2011.
During the last three years, Mauricio has being teaching and consulting on jBPM and Drools in America and Europe. In 2010, he co-founded Plugtree (www.plugtree.com), which is a company that provides consultancy and training around the world. Since then, he has participated in international conferences such as Java One, Rules Fest, Jazoon, JBoss In Bossa, and RuleML, as the main speaker. He is now a Drools and jBPM Senior Software Developer at Red Hat / JBoss, fully dedicated to moving these projects forward.
Mauricio is now based in London. In his free time, he passionately promotes the open source projects he is using, and he is very active in the community forums on these projects. He also runs his personal blog (http://salaboy.com) about jBPM, Drools, and artificial intelligence.
Esteban Aliverti is an independent IT Consultant and Software Developer with more than eight years of experience in the field. He is a fervent open source promoter and developer with meaningful contributions to JBoss Drools and jBPM5 frameworks. After he got his Software Engineer degree in Argentina, he started working at local IT companies fulfilling different roles ranging from Web Developer to Software Architect. In 2009, while working for Plugtree, he was introduced to the JBoss Drools and jBPM5 projects. Over the next three years, he became one of the lead consultants inside Plugtree, providing services to its most important clients all around the world.
A former Professor of Java and object-oriented programming at Universidad de Mendoza, Argentina, he decided to continue with his passion for education outside the academic field by co-authoring the jBPM5 Community Training and Drools 5 Community Training online courses. The urge to share his knowledge and experience led him to participate as a speaker and co-speaker at several international conferences, such as Java One Brazil, RuleML, October Rule Fest, and various Drools and jBPM summits.
In JUDCon 2012, Esteban was recognized as a JBoss Community Leader during the JBoss Community Recognition Awards, as a way to acknowledge his contributions to Drools framework.
Currently located in Germany, he works as an independent Drools/jBPM Consultant and Developer. During his free time, he enjoys contributing to Drools and jBPM projects and in helping other people to embrace these technologies. In addition, Esteban has a personal blog (http://ilesteban.wordpress.com), which he uses to publish his work and discoveries on his journey through the open source world.
Top customer reviews
Most helpful customer reviews on Amazon.com
I am still attempting to find an optimal scalable architecture for a global implementation!
After buying this book, I had the rule task figured out in under 30 minutes. It showed the code needed to get everything working, and explained all the important lines. As an absolute novice with Drools, it was extremely helpful. It also gives an introduction to the working of Drools rules, so I could actually write some rules I understood.
But there's more.
The book also provides excellent reasons why business processes are important, and how to capture the requirements so that the end product meets the real world need. It also explains the advantages of using jBPM5 over implementing in Java. The book also goes into the technical side of implementation, with enough detail to be helpful to a relative novice (me) but not so much detail that it's painful and time consuming to read.
If you need to decide, or help the company decide, whether or not to use jBPM5, this book is for you. If you then need to implement the solution, this book is definitely for you.
After reading the book I have learned many new things, which I missed before. The book clearly describes motivation for learning and reasons for adopting BPM techniques. What I found most useful were the tips given by the authors, how to convince the employees of the target company to deploy such BPM solution instead of their traditional paperwork. I can imagine how hard this task may be as I have also some experience from developing and deploying a network management information system. The book is written from the developer's perspective and gives you hints how to deal with these early problems, which you will surely face (as the IT experts).
Business process basics
From the start the book is not limited only to jBPM, but business processes are described in general. The same applies for the general description of the whole business process management system. jBPM 5 uses Business Process Management and Notation (BPMN) 2.0 standard and that's one of the biggest differences from the last widely used version jBPM 3. The chapter about BPMN 2.0 could have also contained references to other books, which describe business process modeling more in depth, because one chapter cannot cover everything. In later chapter the jBPM 5 components are described, including differences from jBPM 3. Unfortunately sometimes I found some parts of the text describing too obvious things, which were easily visible from the many pictures. From these jBPM 5 components only the Designer is described in depth in its own chapter. The steps how to draft a business process are described from simple processes to complex ones, with advanced concepts like for example swimlanes, messages, events and subprocesses.
Features important for everyone
If you were already familiar with some of the business process suites you could have skipped the previous chapters without severe complications, but chapters describing service tasks, human tasks, persistence and transactions are a must to read. The stress is put on the features, which can be implemented by a developer on its own on the top of the existing APIs. Author explains that you are not tied to the offered tooling, for example proposes you a way how to define your own frontends to your human tasks. These chapters also contain description of the services which are not present in the current jBPM 5.4 yet, but can be implemented in the future versions, so you can be prepared for these future features as well. Or which you can implement just now on your own.
Benefit of business rules and complex event processing
Next two chapters are more advanced topics, which you may or don't have to use. It's up to you and your use cases. They describe how to take advantage of the well working integration of jBPM with the rule engine Drools Expert and Drools Fusion (complex event processing). Rule engine is useful for evaluating complex business logic which may often change (for example mortgage calculations, complex discount logic, ...) and event processing agent can be used to detect a complex event from an event stream and based on that start a business process (for example detecting a fraud and launching business process for its investigation).
To sum it up - it's definitely a very good book for everyone who is new to the jBPM 5 and its ecosystem. The information, guides and problem solutions are often scattered from documentation, wiki pages, blogs to user forum and this book gives you all important information nicely put together in one place.
- All important information nicely put together, currently there is nothing better to start learning jBPM 5 from
- Developer's perspective and hints
- Not only about jBPM, but also describes business rules, complex events and integration options to give a complete picture
- Sometimes there are empty sentences telling nothing new
- Some Java code examples are not obvious and easy to understand
- Lack of clustering topics, steps how to scale jBPM
The previous review showed a lack of editing, but this time it is a professional manuscript. There could be a better use of references and the addition of a bibliography as many links are just included in-line which disturbs the flow of learning for a reader.
The authors state that they are targeting java developers and architects. I found that they dive fast and deep into topics like BPM, jBPM and Java technical concepts that you need to consider this book as targeting advanced or senior Java developers and technical architects. It is really meant for those implementing jBPM projects and less for those evaluating jBPM as a potential BPM solution.
The price online right now is just over 20 euros for the e-book and 38 euros for the printed version, contains 364 pages, it is good value for the money. It reads easily and if you are familiar with the content you can easily jump to sections that interest you without worrying about missing material from earlier chapters.
Chapter 1 - Why do we need BPM
Authors start with a theoretical background of BPM as to why you would do this and attempts to position the 'business' aspect of BPM. It is then strange that the authors state, "If you hate the word 'business' as much as I do, please feel free to mentally skip it or replace it..." This warns us of the authors views being technical or developer centric in their focus.
The rest of the chapter is a light dusting of how to get to the point where the focus of this book lies, coding your BPM project. If you are interested in this facet of BPM within your organization then you would be well served to dig deeper elsewhere. Would have been nice if a few references were provided for readers looking for more.
Chapter 2 - BPM systems structure
he authors dive in head first, taking you into the BPM core engine and process concepts without being shy about putting code samples in front of you. It is exactly what a senior developer is looking for to get her head around jBPM for a project. You will need to pay close attention as concepts are dealt with that do not appear in jBPM5 as we know it (token based approach in designing a process engine) which might confuse readers. The internals are exposed to the reader on the hand of a basic process to try and keep the code snippets as small as possible.
As we continue the chapter we are taken through the HT, BAM, history, persistence, transactions, and data mining tools as related to BPM. This marches right into the Knowledge api's as jBPM5 is very closely tied into the Drools project; KnowledgeBuilder, KnowledgeBase, and KnowledgeSessions.
The authors then turn off the path a bit with a tour of SOA, BPEL, ESB, Rule engines, event driven architecture, and CEP. As you can see, this chapter is a whirlwind tour of placing BPM into the architectural complexities that you might be faced with in your organization. Again, you would be well served by references to these topics where the authors only lightly touch on them.
Chapter 3 - Using BPMN2 to model business scenarios
Designing your business processes with BPMN2 might not really be what you are interested in, but understanding some of the concepts within this standard can be helpful. This chapter walks through some of the basic elements, but for more complete coverage the authors should have pointed the readers to other content (such as Bruce Silver BPMN Method and Style).
We are then taken by the hand through a hospital emergency example scenario which is an excellent way to mentor the reader through a process project. The various decisions and concepts covered so far are explained and the reader is walked through the process, including details around what actual BPMN2 XML process definition code looks like.
Chapter 4 - Knowing your toolbox
In this chapter we are introduced to our BPM tooling, with something called a Business Logic integration Platform (BLiP). I have never heard of this term BLiP (again, no references are provided), so can only assume the authors are introducing the concept but fail to define it to my satisfaction.
The chapter gets you rolling by installing the jBPM5 Platform and summarizing the components; JBoss app server, Guvnor, process server, GWT console, web designer, and how to get started with the samples in an Eclipse IDE. You will have not only the platform up and running, but also your development environment configured with an example process that you will build and run in the jBPM GWT console.
Chapter 5 - The process designer
We tour the process designers available to us in this chapter; jBPM Eclipse plug-in designer, web process designer, and finally the Native Eclipse project called the BPMN2 Modeler (incorrectly referred to in this chapter as the Eclipse BPMN2 Plugin). Again a shame that the authors did no include references to the designer projects discussed.
The rest of the chapter takes up on a more detailed tour of the web process designer, arguably the best component in the jBPM5 project. This is done based on an example process for emergency hospital bed allocation, keeping in-line with the running hospital theme in the book. this is done in three iterations, an excellent example of real world refining of your process project as it evolves over time. You should be properly amazed by the end of this chapter and able to design your first process with relative ease.
Chapter 6 - Domain specific processes
Domain specific processes is covered in the detail that most will need to expand their processes with custom nodes. This is a very important topic and the authors cover the various nuances that will be very important to the readers and their process projects. Having used this feature several times, I can verify that I could have used this chapter. The example project used to highlight the various concepts is not for beginners, but if you got this far you have shown that you are a developer of some experience.
Chapter 7 - Human interactions
We dive into another very important topic, human interaction with your processes. Interaction with the HT service is explained with an example project and runs over into building your own UI to interact with your tasks.
It can argue that this is beyond the scope of the target subject of this book, but in this case reality is that organizations are building their own interfaces to have a consistent look and feel. The authors taking the time to elaborate on the functionality exposed to allow you to create your own task interfaces is extremely interesting.
Chapter 8 - Persistence and transactions
This chapter walks through the persistence and transaction functionality as it applies to jBPM 5. Not only do we find out how it works, but we are shown how to configure it to our needs.
Chapter 9 - Smart processes using rules
Here is where the authors add intelligence to our business processes by showing us how to integrate rules or decisions into our processes by leveraging the Drools Rule Engine.
I got excited when I first saw the section 'Multi-process instance evaluations' as I thought they would detail the issues with using a single StatefulKnowledgeSession. I was interested in how multiple instances can interfere with each others facts as inserted into working memory, where we then have one process instance farther along that requests a rule evaluation (fireAllRules) thereby removing all facts and/or modifying facts in working memory. This will effect the second instance that tries to request a rule evaluation only to find the fact as she inserted them have mysteriously vanished. The only real option is to manage process execution so that process instances have their own individual StatefulKnowledgeSession.
The authors side-step this here, but as we will find out later it is revisited in chapter 11.
Chapter 10 - Reactive processes using Drools Fusion
A chapter covering rules or decisions using a temporal element. Reasoning over time, or better known as Complex Event Processing (CEP). The authors also introduce Event Driven Architectures (EDA), but this is not woven into the rest of the chapter nor are there references made for further reader research.
The technology from within Drools Fusion project is covered in deep technical detail, giving you a strong basis should you wish to add these concepts to your processes.
Chapter 11 - Architectural and integration tips
This chapter covers designing your architecture based on how your process project requirements pan out. Here the authors state, "Most of the time, we don't exactly know what our applications will look like until we start coding and narrowing down its requirements..." This is a very ad-hoc developer oriented take on process projects that would never gain traction within enterprise process projects. I suggest we all try to take these comments that we encounter in this book with a grain of salt.
The authors spend considerable effort trying to convince the reader of the importance of where the KnowledgeSession needs to reside in your architecture. I think the real value in this chapter starts at the section "One session per process instance", so read from this point onwards with great attention to detail. I was looking for this discussion in chapter 9, but it is of extreme interest to anyone trying to develop processes in anything but the simplest of architectures.
Look for similar items by category