O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

jBPM5 Developer Guide

Book Description

Java developers and architects will find this book an indispensable guide to understanding Business Process Management frameworks in the real world. Using open source jBPM5, it tutors through authentic examples, screenshots, and diagrams.

  • 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

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 "jBPM 5 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.

"jBPM 5 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.

Table of Contents

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