JBoss.orgCommunity Documentation

jBPM Documentation

Version 7.0.0.Beta1


I. Getting Started
1. Overview
1.1. What is jBPM?
1.2. Overview
1.3. Core Engine
1.4. Process Designer
1.5. Data Modeler
1.6. Form Modeler
1.7. Process Instance and Task Management
1.8. Business Activity Monitoring
1.9. Workbench
1.10. Eclipse Developer Tools
2. Getting Started
2.1. Downloads
2.2. Community
2.3. Sources
2.3.1. License
2.3.2. Source code
2.3.3. Building from source
2.4. Getting Involved
2.4.1. Sign up to jboss.org
2.4.2. Sign the Contributor Agreement
2.4.3. Submitting issues via JIRA
2.4.4. Fork GitHub
2.4.5. Writing Tests
2.4.6. Commit with Correct Conventions
2.4.7. Submit Pull Requests
2.5. What to do if I encounter problems or have questions?
3. jBPM Installer
3.1. Prerequisites
3.2. Downloading the Installer
3.3. Demo Setup
3.4. 10-Minute Tutorial using the Workbench
3.5. 10-Minute Tutorial using Eclipse
3.6. Configuration
3.6.1. Playgrounds
3.6.2. Workbench Authentication
3.6.3. Using your own database with the jBPM installer
3.6.4. jBPM database schema scripts (DDL scripts)
3.6.5. jBPM installer script
3.7. Frequently Asked Questions
4. Examples
4.1. Introduction
4.2. Importing Projects through Git
4.3. Human Resources Example
4.3.1. The Kie Project: human-resources
4.3.2. Building the Human Resources Example
4.3.3. Create a new Process Instance
4.4. Examples zip
5. jBPM Version Migration Guide
5.1. Deprecated in jBPM 7
II. jBPM Core
6. Core Engine API
6.1. Overview
6.2. KieBase
6.3. KieSession
6.3.1. ProcessRuntime
6.3.2. Event Listeners
6.3.3. Correlation Keys
6.3.4. Threads
6.4. RuntimeManager
6.4.1. Overview
6.4.2. Strategies
6.4.3. Usage
6.4.4. Configuration
6.5. Services
6.5.1. Deployment Service
6.5.2. Definition Service
6.5.3. Process Service
6.5.4. Runtime Data Service
6.5.5. User Task Service
6.5.6. QueryService
6.5.7. Working with deployments
6.6. Configuration
7. Processes
7.1. What is BPMN 2.0
7.2. Process
7.2.1. Creating a process
7.3. Activities
7.3.1. Script task
7.3.2. Service task
7.3.3. User task
7.3.4. Reusable sub-process
7.3.5. Business rule task
7.3.6. Embedded sub-process
7.3.7. Multi-instance sub-process
7.4. Events
7.4.1. Start event
7.4.2. End events
7.4.3. Intermediate events
7.5. Gateways
7.5.1. Diverging gateway
7.5.2. Converging gateway
7.6. Others
7.6.1. Variables
7.6.2. Scripts
7.6.3. Constraints
7.6.4. Timers
7.7. Process Fluent API
7.7.1. Example
7.8. Testing
7.8.1. Unit testing
8. Human Tasks
8.1. Introduction
8.2. Using User Tasks in our Processes
8.2.1. Swimlanes
8.3. Data Mappings
8.4. Task Lifecycle
8.5. Task Permissions
8.5.1. Task Permissions Matrix
8.6. Task Service and The Process Engine
8.7. Task Service API
8.7.1. Data model of task service
8.8. Interacting with the Task Service
9. Persistence and Transactions
9.1. Process Instance State
9.1.1. Runtime State
9.2. Audit Log
9.2.1. The jBPM Audit data model
9.2.2. Storing Process Events in a Database
9.2.3. Storing Process Events in a JMS queue for further processing
9.2.4. Variables auditing
9.3. Transactions
9.3.1. Container managed transactions
9.4. Configuration
9.4.1. Adding dependencies
9.4.2. Manually configuring the engine to use persistence
9.4.3. Configuring the engine to use persistence using JBPMHelper - for tests only
III. Workbench
10. Workbench (General)
10.1. Installation
10.1.1. War installation
10.1.2. Workbench data
10.1.3. System properties
10.1.4. Trouble shooting
10.2. Quick Start
10.2.1. Importing examples
10.2.2. Add repository
10.2.3. Add project
10.2.4. Define Data Model
10.2.5. Define Rule
10.2.6. Build and Deploy
10.3. Administration
10.3.1. Administration overview
10.3.2. Organizational unit
10.3.3. Repositories
10.4. Configuration
10.4.1. Basic user management
10.4.2. Roles
10.4.3. Restricting access to repositories
10.4.4. Command line config tool
10.5. Introduction
10.5.1. Log in and log out
10.5.2. Home screen
10.5.3. Workbench concepts
10.5.4. Initial layout
10.6. Changing the layout
10.6.1. Resizing
10.6.2. Repositioning
10.7. Authoring (General)
10.7.1. Artifact Repository
10.7.2. Asset Editor
10.7.3. Tags Editor
10.7.4. Project Explorer
10.7.5. Project Editor
10.7.6. Validation
10.7.7. Data Modeller
10.7.8. Data Sets
10.8. User and group management
10.8.1. Introduction
10.8.2. Security management providers
10.8.3. Installation and setup
10.8.4. Usage
10.9. Embedding Workbench In Your Application
10.10. Asset Management
10.10.1. Asset Management Overview
10.10.2. Managed vs Unmanaged Repositories
10.10.3. Asset Management Processes
10.10.4. Usage Flow
10.10.5. Repository Structure
10.10.6. Managed Repositories Operations
10.11. Execution Server Management UI
10.11.1. Server Templates
10.11.2. Container
10.11.3. Remote Server
11. Workbench Integration
11.1. REST
11.1.1. Job calls
11.1.2. Repository calls
11.1.3. Organizational unit calls
11.1.4. Maven calls
11.1.5. REST summary
11.2. Keycloak SSO integration
11.2.1. Scenario
11.2.2. Install and setup a Keycloak server
11.2.3. Create and setup the demo realm
11.2.4. Install and setup jBPM Workbench
11.2.5. Securing workbench remote services via Keycloak
11.2.6. Execution server
11.2.7. Consuming remote services
12. Workbench High Availability
12.1.
12.1.1. VFS clustering
12.1.2. jBPM clustering
13. Designer
13.1. Designer UI Explained
13.2. Getting started with Modelling
13.3. Designer Toolbar
14. Forms
14.1. Configure process and human tasks
14.2. Generate forms from task definitions
14.3. Edit forms
14.3.1. Form generated description
14.3.2. Customizing form
14.3.3. Field types
14.4. Document attachments
14.4.1. Process and forms configuration
14.4.2. Marshalling strategy and deployment configuration
14.5. Using forms on client applications
14.5.1. What does the API provides?
14.5.2. Sample usage
15. Runtime Management
15.1. Deployments
15.1.1. Deployment descriptors
15.2. Process Deployments
15.3. Jobs
16. Process and Task Management
16.1. Process Management
16.1.1. Process Definitions
16.1.2. Process Instances
16.2. Tasks
16.2.1. Task List
16.2.2. New Task (Ad-Hoc Task)
17. Business Activity Monitoring
17.1. Overview
17.2. Business Dashboards
17.3. Process Dashboard
17.3.1. Task Dashboard
18. Remote API
18.1. Remote Java API
18.1.1. Remote REST Java API Client Configuration
18.1.2. Remote JMS Java API Client Configuration
18.1.3. Remote CommandWebService Java API Client Configuration
18.1.4. Supported methods
18.2. REST
18.2.1. REST permissions
18.2.2. Runtime calls
18.2.3. Task calls
18.2.4. Deployment Calls
18.2.5. Deployment call details
18.2.6. Execute calls
18.2.7. REST summary
18.3. REST Query API
18.3.1. Query URL layout
18.3.2. Query Parameters
18.3.3. Parameter Table
18.3.4. Parameter examples
18.3.5. Query Output Format
18.4. JMS
18.4.1. JMS Queue setup
18.4.2. Using the remote Java API
18.4.3. Example JMS usage
18.5. Additional Information
18.5.1. REST Serialization: JAXB or JSON
18.5.2. Sending and receiving user class instances
18.5.3. Including the deployment id
18.5.4. REST Pagination
18.5.5. REST Map query parameters
18.5.6. REST Number query parameters
18.5.7. Runtime strategies
IV. Eclipse
19. jBPM Eclipse Plugin
19.1. jBPM Eclipse Plugin
19.1.1. Installation
19.1.2. jBPM Project Wizard
19.1.3. New BPMN2 Process Wizard
19.1.4. jBPM Runtime
19.1.5. jBPM Maven Project Wizard
19.1.6. Drools Eclipse plugin
19.1.7. Kie Navigator View
19.2. Debugging
19.2.1. The Process Instances View
19.2.2. The Audit View
19.3. Synchronizing with Workbench Repositories
19.3.1. Importing a workbench repository
19.3.2. Committing changes to the workbench
19.3.3. Updating from to the workbench
19.3.4. Working on individual projects
20. Eclipse BPMN 2.0 Modeler
20.1. Overview
20.2. Installation
20.3. Documentation
V. Integration
21. Integration
21.1. Maven
21.1.1. Maven artifacts as deployment units
21.1.2. Use Maven for dependency management
21.2. CDI
21.2.1. Overview
21.2.2. RuntimeManager as CDI bean
21.3. Spring
21.3.1. Direct use of Runtime Manager API
21.3.2. jBPM services with Spring
21.4. Ejb
21.4.1. Ejb services implementation
21.4.2. Local interface
21.4.3. Remote interface
21.5. OSGi
VI. Advanced Topics
22. Domain-specific Processes
22.1. Introduction
22.2. Overview
22.2.1. Work Item Definitions
22.2.2. Work Item Handlers
22.3. Example: Notifications
22.3.1. The Notification Work Item Definition
22.3.2. The NotificationWorkItemHandler
22.4. Service Repository
22.4.1. Public jBPM service repository
22.4.2. Setting up your own service repository
23. Exception Management
23.1. Overview
23.2. Introduction
23.3. Technical Exceptions
23.3.1. Introduction
23.3.2. Handling exceptions in WorkItemHandler instances
23.3.3. Examples
23.4. Business Exceptions
23.4.1. Business Exceptions elements in BPMN2
23.4.2. Designing a workflow with Business Exceptions
24. Flexible Processes
25. Concurrency and asynchronous execution
25.1. Concurrency
25.1.1. Engine execution
25.1.2. Multiple knowledge sessions and persistence
25.2. Asynchronous execution
25.2.1. Asynchronous handlers
25.2.2. jbpm executor
26. Release Notes
26.1. jBPM 6.4
26.1.1. New and Noteworthy in jBPM 6.4.0
26.1.2. New and Noteworthy in KIE Workbench 6.4.0
26.2. jBPM 6.3
26.2.1. New and Noteworthy in jBPM 6.3.0
26.2.2. New and Noteworthy in KIE Workbench 6.3.0
26.3. jBPM 6.2
26.3.1. New and Noteworthy in jBPM 6.2.0
26.3.2. New and Noteworthy in KIE Workbench 6.2.0
26.4. jBPM 6.1
26.4.1. New and Noteworthy in jBPM 6.1.0
26.4.2. New and Noteworthy in KIE Workbench 6.1.0
26.5. jBPM 6.0
26.5.1. New and Noteworthy in KIE API 6.0.0
26.5.2. New and Noteworthy in jBPM 6.0.0
26.5.3. New and Noteworthy in KIE Workbench 6.0.0
26.5.4. New and Noteworthy in Integration 6.0.0