You are previewing jBPM6 Developer Guide.
O'Reilly logo
jBPM6 Developer Guide

Book Description

Learn about the components, tooling, and integration points that are part of the JBoss Business Process Management (BPM) framework

In Detail

jBPM6 Developer Guide will guide you through each level of the jBPM6 platform, allowing you to model and build applications that will automate your business scenarios. This book will provide you with the knowledge that you need to get up and running with developing applications that use Business Processes (BPM) as a foundation.

This book will help you understand the pieces and components inside a Business Process Management System (BPMS). Furthermore, you will learn about the shared mechanisms that the Drools and jBPM projects use to store information and define transaction boundaries.

By the end of the book, you will know how to use the KIE Workbench extension points to communicate external systems with it, and also how to use these extension points to configure the KIE Workbench in a distributed environment.

What You Will Learn

  • Leverage the power of business rules to simplify business processes
  • Use jBPM6's configuration and architecture for different environments and scenarios
  • Define your environment in a user-friendly, extensible, and configurable way with the tooling provided in jBPM6
  • Understand how the framework handles information that flows through your business processes
  • Integrate practical examples of automating with different enterprise technologies in Java and non-Java environments
  • Demonstrate the benefits of running the inference power of the Drools engine together with process executions
  • Discover how to use the KIE Workbench extension points to communicate with external systems
  • Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at If you purchased this book elsewhere, you can visit and register to have the files e-mailed directly to you.

    Table of Contents

    1. jBPM6 Developer Guide
      1. Table of Contents
      2. jBPM6 Developer Guide
      3. Credits
      4. About the Author
      5. Acknowledgments
      6. About the Author
      7. About the Author
      8. About the Reviewers
        1. Support files, eBooks, discount offers, and more
          1. Why subscribe?
          2. Free access for Packt account holders
      10. 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
      11. 1. Why Do We Need Business Process Management?
        1. Theoretical background
        2. Introduction, analysis, and explanations of standard specifications
        3. Technical details and common practices of jBPM6
        4. The conceptual background of BPM
          1. Business processes
          2. Sequence of business activities
            1. Naming our activities
          3. Business users and business applications
            1. Humans and systems behave differently
            2. Humans and systems – classification strategies
          4. Achieving a business goal
        5. The 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. The business entity model
            2. Coordination and orchestration of activities
          4. BPM stage 4 – runtime
          5. BPM stage 5 – monitoring
          6. BPM stage 6 – improvements
        6. BPM applications in the real world
          1. The BPMS check list
          2. BPM APIs and common practices
          3. BPM – adoption of standards
        7. Summary
      12. 2. BPM Systems' Structure
        1. Components of a BPMS
          1. The execution node
            1. The semantic module
            2. The process engine
              1. Process definition structures
              2. Process instance structures
        2. Node instance structures
          1. Components inside jBPM6
          2. Transactions and persistence
          3. Audit/History logs
          4. Real-time dashboards
          5. Data mining and data analysis tools
          6. The KIE APIs
          7. KIE services
          8. The KIE module
          9. The KIE container
          10. The KIE base
          11. The KIE session
        3. External interactions
          1. The Human task component
          2. Human tasks – life cycle
          3. Human tasks – APIs
          4. The User/Group callback
          5. The BPMS ecosystem
          6. BPM and service-oriented architecture
          7. Service orchestration
            1. Enterprise Service Bus
          8. Rule engines
            1. Classic BPM system and rule engine integration
          9. Event-driven architecture and complex event processing
        4. Predictive analytics and decision management
        5. Summary
      13. 3. Using BPMN 2.0 to Model Business Scenarios
        1. Introduction to BPMN 2.0
          1. Process modeling compliance
          2. BPMN 2.0 elements
            1. Flow elements
            2. Connecting elements
            3. Data elements
            4. Swimlanes
            5. Artifacts
          3. Task types in jBPM6
          4. Subprocess types in jBPM6
          5. Event subtypes
          6. Boundary events
          7. BPMN 2.0
        2. Modeling business scenarios with BPMN 2.0
        3. Technical perspective
          1. Sprint management technical overview
            1. Adding simple process data
        4. Summary
      14. 4. Understanding the KIE Workbench
        1. What you need to start a jBPM6 environment
          1. Running the KIE Workbench installer
          2. What you will need to create the jBPM6 business processes
            1. Workbench utilities
            2. Process designer
            3. Other knowledge asset editors
          3. What you will need to run the jBPM6 business processes
            1. Process runtime
            2. Process UI
            3. Task lists
            4. Task forms
        2. Summary
      15. 5. Creating a Process Project in the KIE Workbench
        1. An IDE to our knowledge
          1. A variety of process designers
            1. The BPMN 2.0 Eclipse editor
            2. The Web Process Designer
            3. The jBPM Eclipse plugin
          2. Interacting with the Web Process Designer
            1. Creating new processes
        2. Implementing our first process
          1. The Web Process Designer sections
            1. The toolbar
            2. The Shape Repository panel
            3. The editing canvas
            4. The Properties panel
        3. Sprint management process design
          1. Configuring the process properties
          2. Configuring the event nodes
          3. Configuring the task nodes
            1. The Service tasks
          4. Configuring gateway nodes
          5. Configuring sequence flow elements
          6. Accessing existing processes
          7. Modifying and deleting existing processes
          8. Testing the process definitions
            1. Process simulations
            2. Unit testing the process definition
          9. Process modeling summary
        4. The Web Process Designer advanced topics
          1. Importing process definitions
          2. Service tasks
          3. Work Item definition editor
          4. Using Work Item definitions in the process designer
        5. Providing a runtime for our process
          1. The project editor
          2. Build and deploy
          3. Configuring the deployment unit
        6. Summary
      16. 6. Human Interactions
        1. Understanding human interactions
          1. Human interactions inside our processes
          2. WS-HT standard specification
            1. Human tasks' life cycle
        2. jBPM6 Human task component's overview
          1. Human task component APIs
            1. The task service
            2. Adding a users and groups data source origin
            3. Starting your task service
            4. Connecting to the KIE session
          2. Task-oriented user interfaces
            1. Task lists
            2. Task forms
          3. Building your own extensions to Human tasks
            1. Task life cycle event listeners
            2. Task service interceptors
            3. When to use task event listeners or interceptors
            4. Task model provider
        3. Summary
      17. 7. Defining Your Environment with the Runtime Manager
        1. Understanding the role of the runtime manager
          1. Understanding the runtime environment
            1. Registerable items factory
            2. Defining our runtime environment
          2. Runtime lifecycle management
        2. The different implementations available
          1. Singleton Runtime Manager
            1. The CDI injection
          2. Per Request Runtime Manager
            1. The CDI injection
          3. Per Process Instance Runtime Manager
            1. The CDI injection
        3. The UI configuration of runtime managers
          1. Configuring a KIE session for a KIE module
          2. Configuring a runtime manager type
        4. Creating your own runtime manager
          1. Per Process Definition Runtime Manager
        5. Summary
      18. 8. Implementing Persistence and Transactions
        1. Why do we need persistence and transactions?
          1. Persisting long running processes
          2. The server failover and distribution mechanism
        2. Persistence in jBPM6
          1. KieStoreServices – creating and loading KIE sessions
          2. How does persistence work?
          3. Persistence and transaction configuration for jBPM6
          4. History logs – extending the basic functionality
          5. Object marshalling strategies
        3. Other persistence mechanisms
          1. Infinispan persistence
        4. Summary
      19. 9. Integration with Other Knowledge Definitions
        1. What is a rule?
        2. Old-fashioned integration
        3. The Drools rule engine
          1. What Drools needs to work
          2. Applying rules to our processes
            1. Gateway conditions
            2. Business Rule tasks
            3. Ad hoc process instance evaluations
            4. Runtime configurations to activate rules
        4. Temporal reasoning and processes
          1. Events and complex events
          2. CEP
          3. EDA
          4. Drools Fusion functionalities
            1. Event declarations
            2. Temporal operators
            3. Sliding windows
            4. Drools Fusion in action
        5. Summary
      20. 10. Integrating KIE Workbench with External Systems
        1. Defining your architecture
          1. Scalability considerations
        2. Extending the KIE Workbench architecture
          1. Web service addition
          2. Work item handler default configurations
          3. Executor service commands
          4. KIE Session Sharing Considerations
        3. Remote engine invocations
          1. REST interface
          2. JMS interface
        4. Deploying the KIE Workbench in the cloud
        5. Summary
      21. A. The UberFire Framework
        1. UberFire
          1. Integrating components
          2. The existing components and services
        2. Extending and reusing the UberFire UI components
          1. Model View Presenter
          2. The workbench components
            1. Workbench screens
            2. Workbench pop ups
            3. Workbench editors
            4. Workbench perspectives
          3. The lifecycle annotations
          4. Creating a screen and a pop up
          5. Creating a perspective
          6. Integrating components with the existing workbenches
        3. Summary
      22. Index