JBoss.orgCommunity Documentation

jBPM User Guide

Version 5.3.0.Final


1. Overview
1.1. What is jBPM?
1.2. Overview
1.3. Core Engine
1.4. Eclipse Editor
1.5. Web-based Designer
1.6. jBPM Console
1.7. Documentation
2. Getting Started
2.1. Downloads
2.2. Getting started
2.3. Community
2.4. Sources
2.4.1. License
2.4.2. Source code
2.4.3. Building from source
3. Installer
3.1. Prerequisites
3.2. Download the installer
3.3. Demo setup
3.4. 10-Minute Tutorial: Using the Eclipse tooling
3.5. 10-Minute Tutorial: Using the jBPM Console
3.6. 10-Minute Tutorial: Using Guvnor repository and Designer
3.7. 10-Minute Tutorial: Using your own database with jBPM
3.7.1. Introduction
3.7.2. Database setup
3.7.3. Quickstart
3.7.4. Using a different database
3.8. What to do if I encounter problems or have questions?
3.9. Frequently asked questions
4. Quickstarts
4.1. Invoking a Java service
4.1.1. Using a script task
4.1.2. Using a Java handler
4.1.3. Writing your own domain-specific task
5. Core Engine: API
5.1. The jBPM API
5.1.1. Knowledge Base
5.1.2. Session
5.1.3. Events
5.2. Knowledge-based API
6. Core Engine: Basics
6.1. Creating a process
6.1.1. Using the graphical BPMN2 Editor
6.1.2. Defining processes using XML
6.1.3. Defining Processes Using the Process API
6.2. Details of different process constructs: Overview
6.3. Details: Process properties
6.4. Details: Events
6.4.1. Start event
6.4.2. End events
6.4.3. Intermediate events
6.5. Details: Activities
6.5.1. Script task
6.5.2. Service task
6.5.3. User task
6.5.4. Reusable sub-process
6.5.5. Business rule task
6.5.6. Embedded sub-process
6.5.7. Multi-instance sub-process
6.6. Details: Gateways
6.6.1. Diverging gateway
6.6.2. Converging gateway
6.7. Using a process in your application
6.8. Other features
6.8.1. Data
6.8.2. Constraints
6.8.3. Action scripts
6.8.4. Events
6.8.5. Timers
6.8.6. Updating processes
6.8.7. Multi-threading
7. Core Engine: BPMN 2.0
7.1. Business Process Model and Notation (BPMN) 2.0 specification
7.2. Examples
7.3. Supported elements / attributes
8. Core Engine: Persistence and transactions
8.1. Runtime State
8.1.1. Binary Persistence
8.1.2. Safe Points
8.1.3. Configuring Persistence
8.1.4. Transactions
8.1.5. Persistence and concurrency
8.2. Process Definitions
8.3. History Log
8.3.1. The Business Activity Monitoring data model
8.3.2. Storing Process Events in a Database
9. Core Engine: Examples
9.1. jBPM Examples
9.2. Examples
9.3. Unit tests
10. Eclipse BPMN 2.0 Plugin
10.1. Installation
10.2. Creating your BPMN 2.0 processes
10.3. Filtering elements and attributes
10.4. Changing editor behavior
10.5. Changing editor appearance
11. Designer
11.1. Installation
11.2. Source code
11.3. Designer UI Explained
11.4. Support for Domain-specific service nodes
11.5. Configuring Designer
11.5.1. Changing the default configuration in Designer
11.5.2. Changing the default configuration in Guvnor
11.6. Generation of process and task forms
11.7. View processes as PDF and PNG
11.8. Viewing process BPMN2 source
11.9. Embedding designer in your own application
11.10. Migrating existing jBPM 3.2 based processes to BPMN2
11.11. Visual Process Validation
11.12. Integration with the jBPM Service Repository
11.13. Generating code to share the process image, PDF, and embedded process editor
11.14. Importing existing BPMN2 processes
11.15. Viewing Process Information
11.16. Requirements
12. Console
12.1. Installation
12.1.1. Authorization
12.1.2. User and group management
12.1.3. Registering your own service handlers
12.1.4. Configure management console
12.2. Running the process management console
12.2.1. Managing process instances
12.2.2. Human task lists
12.2.3. Reporting
12.3. Adding new process / task forms
12.4. REST interface
13. Human Tasks
13.1. Human tasks inside processes
13.1.1. User and group assignment
13.1.2. Task escalation and notification
13.1.3. Data mapping
13.1.4. Swimlanes
13.1.5. Examples
13.2. Human task service
13.2.1. Task life cycle
13.2.2. Linking the human task service to the jBPM engine
13.2.3. Interacting with the human task service
13.2.4. User and group assignment
13.2.5. Starting the human task service
13.2.6. Starting the human task service as web application
13.3. Human task clients
13.3.1. Eclipse demo task client
13.3.2. Web-based task client in jBPM Console
13.4. Human task persistence
13.4.1. Task related entities
13.4.2. Deadline, Escalation and Notification related entities
14. Domain-specific processes
14.1. Introduction
14.2. Example: Notifications
14.2.1. Creating the work definition
14.2.2. Registering the work definition
14.2.3. Using your new work item in your processes
14.2.4. Executing service nodes
14.3. Service repository
14.3.1. Public jBPM service repository
14.3.2. Setting up your own service repository
15. Testing and debugging
15.1. Unit testing
15.1.1. Helper methods to create your session
15.1.2. Assertions
15.1.3. Testing integration with external services
15.1.4. Configuring persistence
15.2. Debugging
15.2.1. The Process Instances View
15.2.2. The Human Task View
15.2.3. The Audit View
16. Process Repository
17. Business Activity Monitoring
17.1. Reporting
17.2. Direct Intervention
18. Flexible Processes
19. Integration with Maven, OSGi, Spring, etc.
19.1. Maven
19.2. OSGi
19.3. Spring
19.4. Apache Camel Integration