JBoss.orgCommunity Documentation

jBPM User Guide

Version 6.0.0.CR4


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. Form Builder
1.7. Guvnor Repository
1.8. Web-based Management Consoles
1.9. Documentation
2. Getting Started
2.1. Downloads
2.2. Use with Maven, Gradle, Ivy, Buildr or ANT
2.3. Getting started
2.4. Community
2.5. Sources
2.5.1. License
2.5.2. Source code
2.5.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 jBPM Audit data model
8.3.2. Storing Process Events in a Database
9. Eclipse BPMN 2.0 Plugin
9.1. Installation
9.2. Creating your BPMN 2.0 processes
9.2.1. Filtering elements and attributes
9.2.2. Adding custom task nodes
9.3. Changing editor behavior
9.4. Changing editor appearance
10. Designer
10.1. Installation
10.2. Source code
10.3. Designer UI Explained
10.4. Support for domain-specific service nodes
10.5. Configuring Designer
10.5.1. Changing the default configuration in Designer
10.5.2. Changing the default configuration in Guvnor
10.6. Generation of process and task forms
10.7. View processes as PDF and PNG
10.8. Viewing process BPMN2 source
10.9. Embedding designer in your own application
10.10. Migrating existing jBPM 3.2 based processes to BPMN2
10.11. Visual Process Validation
10.12. Integration with the jBPM Service Repository
10.13. Generating code to share the process image, PDF, and embedded process editor
10.14. Importing existing BPMN2 processes
10.15. Viewing Process Information
10.16. Requirements
11. Console
11.1. Installation
11.1.1. Authorization
11.1.2. User and group management
11.1.3. Registering your own service handlers
11.1.4. Configure management console
11.2. Running the process management console
11.2.1. Managing process instances
11.2.2. Human task lists
11.2.3. Reporting
11.3. Adding new process / task forms
11.4. REST interface
12. Human Tasks
12.1. Human tasks inside processes
12.1.1. User and group assignment
12.1.2. Task escalation and notification
12.1.3. Data mapping
12.1.4. Swimlanes
12.1.5. Examples
12.2. Human task service
12.2.1. Task life cycle
12.2.2. Linking the human task service to the jBPM engine
12.2.3. Interacting with the human task service
12.2.4. User and group assignment
12.2.5. Starting the human task service
12.2.6. Starting the human task service as web application
12.3. Human task clients
12.3.1. Eclipse demo task client
12.3.2. Web-based task client in jBPM Console
12.4. Human task persistence
12.4.1. Task related entities
12.4.2. Deadline, Escalation and Notification related entities
13. Domain-specific processes
13.1. Introduction
13.2. Overview
13.2.1. Work Item Definitions
13.2.2. Work Item Handlers
13.3. Example: Notifications
13.3.1. The Notification Work Item Definition
13.3.2. The NotificationWorkItemHandler
13.4. Service repository
13.4.1. Public jBPM service repository
13.4.2. Setting up your own service repository
14. Exception Management
14.1. Overview
14.2. Introduction
14.3. Business Exceptions
14.3.1. Business Exceptions elements in BPMN2
14.4. Technical Exceptions
14.4.1. Handling exceptions in WorkItemHandler instances
14.5. Technical Exception Examples
14.5.1. Example: service task handlers
14.5.2. Example: logging exceptions thrown by bad <scriptTask> nodes
15. Flexible Processes
16. Business Activity Monitoring
16.1. Reporting
16.2. Direct Intervention
17. Core Engine: Examples
17.1. jBPM Examples
17.2. Examples
17.3. Unit tests
18. Testing and debugging
18.1. Unit testing
18.1.1. Helper methods to create your session
18.1.2. Assertions
18.1.3. Testing integration with external services
18.1.4. Configuring persistence
18.2. Debugging
18.2.1. The Process Instances View
18.2.2. The Human Task View
18.2.3. The Audit View
19. Process Repository
19.1. Knowledge Agent
20. Integration with Maven, OSGi, Spring, etc.
20.1. Maven
20.2. OSGi
20.3. Spring
20.3.1. Spring using the JTA transaction manager
20.3.2. Spring using local transactions
20.3.3. Spring using a shared entity manager
20.3.4. Using a local task service
20.4. Apache Camel Integration