jBPM5 Developer Guide

jBPM5 Developer Guide
eBook: $29.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 15%!
Print + free eBook + free PacktLib access to the book: $79.98    Print cover: $49.99
save 6%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Learn to model and implement your business processes using the BPMN2 standard notation
  • Model complex business scenarios in order to automate and improve your processes with the JBoss Business Process Management framework
  • Understand how and when to use the different tools provided by the JBoss Business Process Management platform

Book Details

Language : English
Paperback : 364 pages [ 235mm x 191mm ]
Release Date : December 2012
ISBN : 1849516448
ISBN 13 : 9781849516440
Author(s) : Mauricio Salatino, Esteban Aliverti
Topics and Technologies : All Books, Networking and Servers, Java, JBoss, Open Source

Table of Contents

Chapter 1: Why Do We Need Business Process Management?
Chapter 2: BPM Systems Structure
Chapter 3: Using BPMN 2.0 to Model Business Scenarios
Chapter 4: Knowing Your Toolbox
Chapter 5: The Process Designer
Chapter 6: Domain-specific Processes
Chapter 7: Human Interactions
Chapter 8: Persistence and Transactions
Chapter 9: Smart Processes Using Rules
Chapter 10: Reactive Processes Using Drools Fusion
Chapter 11: Architectural and Integration Tips
  • Chapter 1: Why Do We Need Business Process Management?
    • Theoretical background
      • Standard specifications – introduction, analysis, and explanations
      • jBPM5 – technical details and common practices
    • BPM conceptual background
      • Business processes
      • Sequence of business activities
      • Activities are performed by business users and business applications
        • Humans and systems/applications behave differently
        • Humans and systems/applications can be classified differently
      • Achieving a business goal
    • The Business Process Management (BPM) discipline
      • BPM stage 1 – discovering your business processes
      • BPM stage 2 – formalizing your new processes
      • BPM stage 3 – implementing your technical assets
        • Business entity model
        • Coordinating and orchestrating activities
      • BPM stage 4 – runtime
      • BPM stage 5 – monitoring
      • BPM stage 6 – improvements
    • Applying BPM in the real world
      • BPMS checklist
    • Summary
    • Chapter 2: BPM Systems Structure
      • Key components in a BPMS
        • BPMS core
          • The semantic module
          • The process engine
          • Process instance structures
          • Process engine execution mechanisms
          • Facts about the two approaches
        • Transactions and persistence
        • Human Task Component
          • Human tasks – life cycle
          • Human tasks – APIs
          • The identity component
          • Audit/history logs
        • Process engine components summary
      • Components inside jBPM5
        • Knowledge-centric APIs
          • Knowledge Builder
          • Knowledge Base
          • Knowledge Session
      • BPM systems surrounding topics
        • Service-oriented architecture
        • WS-BPEL and service orchestration
        • Enterprise Service Bus
        • Rule engines
          • Classic BPM system and rule engine integration
        • Event-driven architecture and complex event processing
      • Summary
      • Chapter 3: Using BPMN 2.0 to Model Business Scenarios
        • BPMN 2.0 introduction
          • Process Modelling Conformance
          • BPMN elements
            • Flow objects
            • Connecting objects
            • Data
            • Grouping
            • Artifacts
          • Task types
          • BPMN 2.0 introduction summary
        • Modelling business scenarios with BPMN 2.0
          • Hospital emergency scenario
        • Technical perspective
          • Hospital emergency technical overview
      • Summary
        • Chapter 4: Knowing Your Toolbox
          • Setting up our environment
            • Downloading the jBPM5 installer
            • Running the jBPM5 installer
            • Installed tools' description
              • JBoss Application Server
              • Drools Guvnor
              • jBPM5 process server
              • jBPM5 GWT console
              • Web process designer
              • Eclipse IDE – evaluation sample project
            • jBPM GWT console – evaluation sample process
              • jBPM GWT console summary
            • Drools Guvnor and web process designer
          • Frequently asked questions
          • Summary
          • Chapter 5: The Process Designer
            • An IDE for our processes
              • So many jBPM Designers, which one should I use?
                • The JBPM5 Eclipse plugin
                • Web Process Designer
                • The Eclipse BPMN 2.0 plugin
              • Interacting with Web Process Editor
                • Creating new processes
                • Accessing an existing process
                • Modifying the existing processes
                • Deleting the existing processes
            • Implementing our first process
              • The Web Process Designer sections
                • Toolbar
                • Shape Repository
                • Editing canvas
                • The Properties panel
                • Footer
            • Emergency Bed Request Process First Design
              • Configuring the process properties
                • Configuring the Start Event node
                • Configuring sequence flow elements
                • Configuring task nodes
              • Testing the process definition
            • Emergency Bed Request Process V2
              • Configuring process properties
                • Configuring the Exclusive Gateway node
                • Configuring the Sequence Flow elements
                • Configuring task nodes
                • Configuring the End Event nodes
              • Testing the process definition
            • Emergency Bed Request Process V3
              • Configuring process properties
                • Configuring Intermediate Signal events
                • Configuring the Terminate End events
              • Testing the process definition
              • Process modeling summary
            • Web Process Designer advanced topics
              • Importing process definitions
              • Visual process validation
              • Domain-specific tasks
              • Work Item definition editor
              • Using Work Item Definitions in the Web Process Designer
              • Service Repository
                • Web Process Designer integration with Service Repository
            • Summary
            • Chapter 6: Domain-specific Processes
              • BPMN 2.0 task
              • Domain-specific behavior in jBPM5
                • The work item handler interface
                • Synchronous interactions
                • Asynchronous interactions
                  • Executor component
                  • External service interactions
              • Summary
              • Chapter 7: Human Interactions
                • Human interactions
                  • Human interactions inside our processes
                  • Web Services Human Task specification
                    • Human tasks service APIs
                    • Human tasks life cycle
                    • External identity component integration
                    • Human tasks and business processes' interactions
                • jBPM5 human task component overview
                  • Human task service APIs example
                  • The human task work item handler
                  • The user/group callbacks
                  • HT work item handler and UserGroupCallback example
                • Task list oriented user interfaces
                  • Task lists
                  • Group task lists
                  • Task forms
                • Building our own user interfaces
                • Summary
                • Chapter 8: Persistence and Transactions
                  • Why we need persistence mechanisms
                    • Persisting long-running processes
                  • Persistence in jBPM5
                    • But how does it work internally?
                  • Why we need a transaction mechanism
                    • Simple jBPM5 persistence and transactions configuration
                    • Advanced jBPM5 persistence and transactions configuration
                    • How much robustness do we need?
                  • Frequently asked questions
                  • Summary
                  • Chapter 9: Smart Processes Using Rules
                    • Good old integration patterns
                    • The Drools Rule Engine
                      • What Drools needs to work
                    • The power of the rules applied to our processes
                      • Gateway conditions
                        • Java-based conditions
                        • Rule-based conditions
                      • Multi-process instance evaluations
                        • Rule-based process selection and creation
                    • Summary
                    • Chapter 10: Reactive Processes Using Drools Fusion
                      • What is an event?
                        • Event characteristics
                      • Event-driven architectures
                      • Complex event processing
                      • Drools Fusion
                        • Event definitions
                        • System clocks
                        • Temporal operators
                        • The Coincides temporal operator
                        • Temporal operators summary
                        • Sliding window support
                        • Events life cycle management
                      • Drools Fusion in action
                      • Mixing processes and events
                      • Summary
                      • Chapter 11: Architectural and Integration Tips
                        • Defining our architecture
                        • Using multiple knowledge sessions
                          • Defining a knowledge context
                          • One session per knowledge context level
                          • One session per process instance
                          • One session per process category
                          • Multiple sessions' coordination
                        • Summary

                        Mauricio Salatino

                        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.

                        Esteban Aliverti

                        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.

                        Code Downloads

                        Download the code and support files for this book.

                        Submit Errata

                        Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.


                        - 3 submitted: last submission 20 Nov 2013

                        Errata Type: Code | Page no: 99 | Errata Upload date: 25 July 2013

                        Please replace this link : http://localhost:8080/gwt-console-server/rs/server/resources/jbpm

                         with the following link:


                        Errata type: Code | Page no: 148 | Errata Upload date: 5 September 2013

                        The code files for the project  jBPM5-WebDesignerExamples can be found at the following link:


                        Errata type: Code |Chapter Number: 3 |  Page no: 89 | Errata Upload date: 20th November 2013

                        In the code there is a line:


                        It should be:



                        Also the line:

                        <targetRef>varY</ targetRef>

                        It should be:


                        Sample chapters

                        You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

                        Frequently bought together

                        jBPM5 Developer Guide +    Oracle SOA BPEL Process Manager 11gR1 – A Hands-on Tutorial =
                        50% Off
                        the second eBook
                        Price for both: $43.05

                        Buy both these recommended eBooks together and get 50% off the cheapest eBook.

                        What you will learn from this book

                        • Use jBPM5’s configurations and architecture for different environments and scenarios
                        • Discover key concepts behind the Business Process Management discipline
                        • BPMN2 process modeling language for defining and implementing your processes
                        • Leverage Business Rules power to simplify business processes
                        • Practical examples in automating your business process and learn how to integrate them with different enterprise technologies in Java and non-Java environments
                        • How to reuse jBPM5’s Human Task component in several applications, not just the Process Engine
                        • Configure the persistence and transactions service to cover long running processes and scale successful implementations for bigger scenarios
                        • Improve your process definitions using Domain Specific Activities
                        • Understand how the framework handles information that flows through your business’s processes
                        • Configure the Eclipse IDE to start modeling your scenarios
                        • Learn how to analyze your business processes execution using the Complex Event Processing features provided by Drools Fusion
                        • Understand how Business Process can be influenced by external streams of events that arrive in real time.

                        In Detail

                        jBPM5 is a well known open source Business Process Management System (BPMS) used for defining and executing business processes. Java developers can use jBPM5 to analyze, improve, and maintain business processes, which are integral to an organization’s management. This book guides you through each level of the jBPM5 platform, allowing you to model and build applications which will automate your business scenarios.

                        The "jBPM5 Developer Guide" covers two important standard specifications that every software engineer must be familiar with; the BPMN2 specification and the WS-Human Tasks specification. BPMN2 defines a standard business language that will be used to model business scenarios throughout the book, and WS-Human Tasks will help you to define how real people execute the human elements of those processes. Both standard specifications are covered with in depth examples. Using these two specifications and understanding the BPM discipline will allow you to improve your software designs and guide successful implementations that will impact positively on performance.

                        "jBPM5 Developer Guide" allows you to adopt quickly the BPM framework to help you achieve your business goals; reducing the amount of time that you need to master BPM concepts and all the individual components provided by the platform. The book is packed with applicable examples, BPM diagrams and step-by-step instructions to help you master jBPM5.


                        Approached from a developer’s perspective, the "jBPM 5 Developer Guide" teaches readers all the essentials of Business Process Management through applicable examples with helpful screenshots and diagrams.

                        Who this book is for

                        This book is for Java developers and Java architects who need to have a deep understanding of how Business Process Management frameworks behave in real-life implementations. The book introduces you to the jBPM5 and Drools Community where you can contribute; providing ideas, adding code, fixing issues, or providing documentation and examples.

                        The book assumes that you know the Java language well and also know some widely used frameworks, for example Hibernate and Log4J. You should also know the basics of relational databases and the Eclipse IDE.

                        Code Download and Errata
                        Packt Anytime, Anywhere
                        Register Books
                        Print Upgrades
                        eBook Downloads
                        Video Support
                        Contact Us
                        Awards Voting Nominations Previous Winners
                        Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
                        Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software