JBoss.orgCommunity Documentation

jBPM Documentation

Version 6.5.0.CR2


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. Getting Started
2.3. Community
2.4. Sources
2.4.1. License
2.4.2. Source code
2.4.3. Building from source
2.5. Getting Involved
2.5.1. Sign up to jboss.org
2.5.2. Sign the Contributor Agreement
2.5.3. Submitting issues via JIRA
2.5.4. Fork GitHub
2.5.5. Writing Tests
2.5.6. Commit with Correct Conventions
2.5.7. Submit Pull Requests
2.6. 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
II. jBPM Core
5. Core Engine API
5.1. Overview
5.2. KieBase
5.3. KieSession
5.3.1. ProcessRuntime
5.3.2. Event Listeners
5.3.3. Correlation Keys
5.3.4. Threads
5.4. RuntimeManager
5.4.1. Overview
5.4.2. Strategies
5.4.3. Usage
5.4.4. Configuration
5.5. Services
5.5.1. Deployment Service
5.5.2. Definition Service
5.5.3. Process Service
5.5.4. Runtime Data Service
5.5.5. User Task Service
5.5.6. QueryService
5.5.7. ProcessInstanceMigrationService
5.5.8. Working with deployments
5.6. Configuration
6. Processes
6.1. What is BPMN 2.0
6.2. Process
6.2.1. Creating a process
6.3. Activities
6.3.1. Script task
6.3.2. Service task
6.3.3. User task
6.3.4. Reusable sub-process
6.3.5. Business rule task
6.3.6. Embedded sub-process
6.3.7. Multi-instance sub-process
6.4. Events
6.4.1. Start event
6.4.2. End events
6.4.3. Intermediate events
6.5. Gateways
6.5.1. Diverging gateway
6.5.2. Converging gateway
6.6. Others
6.6.1. Variables
6.6.2. Scripts
6.6.3. Constraints
6.6.4. Timers
6.7. Process Fluent API
6.7.1. Example
6.8. Testing
6.8.1. Unit testing
7. Human Tasks
7.1. Introduction
7.2. Using User Tasks in our Processes
7.2.1. Swimlanes
7.3. Data Mappings
7.4. Task Lifecycle
7.5. Task Permissions
7.5.1. Task Permissions Matrix
7.6. Task Service and The Process Engine
7.7. Task Service API
7.7.1. Task event listener
7.7.2. Data model of task service
7.8. Interacting with the Task Service
8. Persistence and Transactions
8.1. Process Instance State
8.1.1. Runtime State
8.2. Audit Log
8.2.1. The jBPM Audit data model
8.2.2. Storing Process Events in a Database
8.2.3. Storing Process Events in a JMS queue for further processing
8.2.4. Variables auditing
8.3. Transactions
8.3.1. Container managed transactions
8.4. Configuration
8.4.1. Adding dependencies
8.4.2. Manually configuring the engine to use persistence
8.4.3. Configuring the engine to use persistence using JBPMHelper - for tests only
III. Workbench
9. Workbench (General)
9.1. Installation
9.1.1. War installation
9.1.2. Workbench data
9.1.3. System properties
9.1.4. Trouble shooting
9.2. Quick Start
9.2.1. Add repository
9.2.2. Add project
9.2.3. Define Data Model
9.2.4. Define Rule
9.2.5. Build and Deploy
9.3. Administration
9.3.1. Administration overview
9.3.2. Organizational unit
9.3.3. Repositories
9.4. Configuration
9.4.1. Basic user management
9.4.2. Roles
9.4.3. Restricting access to repositories
9.4.4. Command line config tool
9.5. Introduction
9.5.1. Log in and log out
9.5.2. Home screen
9.5.3. Workbench concepts
9.5.4. Initial layout
9.6. Changing the layout
9.6.1. Resizing
9.6.2. Repositioning
9.7. Authoring (General)
9.7.1. Artifact Repository
9.7.2. Asset Editor
9.7.3. Tags Editor
9.7.4. Project Explorer
9.7.5. Project Editor
9.7.6. Validation
9.7.7. Data Modeller
9.7.8. Data Sets
9.8. User and group management
9.8.1. Introduction
9.8.2. Security management providers
9.8.3. Installation and setup
9.8.4. Usage
9.9. Embedding Workbench In Your Application
9.10. Asset Management
9.10.1. Asset Management Overview
9.10.2. Managed vs Unmanaged Repositories
9.10.3. Asset Management Processes
9.10.4. Usage Flow
9.10.5. Repository Structure
9.10.6. Managed Repositories Operations
9.11. Execution Server Management UI
9.11.1. Server Templates
9.11.2. Container
9.11.3. Remote Server
10. Workbench Integration
10.1. REST
10.1.1. Job calls
10.1.2. Repository calls
10.1.3. Organizational unit calls
10.1.4. Maven calls
10.1.5. REST summary
10.2. Keycloak SSO integration
10.2.1. Scenario
10.2.2. Install and setup a Keycloak server
10.2.3. Create and setup the demo realm
10.2.4. Install and setup jBPM Workbench
10.2.5. Securing workbench remote services via Keycloak
10.2.6. Execution server
10.2.7. Consuming remote services
11. Workbench High Availability
11.1.
11.1.1. VFS clustering
11.1.2. jBPM clustering
12. Designer
12.1. Designer UI Explained
12.2. Getting started with Modelling
12.3. Designer Toolbar
13. Forms
13.1. Configure process and human tasks
13.2. Generate forms from task definitions
13.3. Edit forms
13.3.1. Form generated description
13.3.2. Customizing form
13.3.3. Field types
13.4. Document attachments
13.4.1. Process and forms configuration
13.4.2. Marshalling strategy and deployment configuration
13.5. Using forms on client applications
13.5.1. What does the API provides?
13.5.2. Sample usage
14. Runtime Management
14.1. Deployments
14.1.1. Deployment descriptors
14.2. Process Deployments
14.3. Jobs
15. Process and Task Management
15.1. Process Management
15.1.1. Process Definitions
15.1.2. Process Instances
15.2. Tasks
15.2.1. Task List
15.2.2. New Task (Ad-Hoc Task)
16. Business Activity Monitoring
16.1. Overview
16.2. Business Dashboards
16.3. Process Dashboard
16.3.1. Task Dashboard
17. Remote API
17.1. Remote Java API
17.1.1. Remote REST Java API Client Configuration
17.1.2. Remote JMS Java API Client Configuration
17.1.3. Remote CommandWebService Java API Client Configuration
17.1.4. Supported methods
17.2. REST
17.2.1. REST permissions
17.2.2. Runtime calls
17.2.3. Task calls
17.2.4. Deployment Calls
17.2.5. Deployment call details
17.2.6. Execute calls
17.2.7. REST summary
17.3. REST Query API
17.3.1. Query URL layout
17.3.2. Query Parameters
17.3.3. Parameter Table
17.3.4. Parameter examples
17.3.5. Query Output Format
17.4. JMS
17.4.1. JMS Queue setup
17.4.2. Using the remote Java API
17.4.3. Example JMS usage
17.5. Additional Information
17.5.1. REST Serialization: JAXB or JSON
17.5.2. Sending and receiving user class instances
17.5.3. Including the deployment id
17.5.4. REST Pagination
17.5.5. REST Map query parameters
17.5.6. REST Number query parameters
17.5.7. Runtime strategies
IV. Eclipse
18. jBPM Eclipse Plugin
18.1. jBPM Eclipse Plugin
18.1.1. Installation
18.1.2. jBPM Project Wizard
18.1.3. New BPMN2 Process Wizard
18.1.4. jBPM Runtime
18.1.5. jBPM Maven Project Wizard
18.1.6. Drools Eclipse plugin
18.1.7. Kie Navigator View
18.2. Debugging
18.2.1. The Process Instances View
18.2.2. The Audit View
18.3. Synchronizing with Workbench Repositories
18.3.1. Importing a workbench repository
18.3.2. Committing changes to the workbench
18.3.3. Updating from to the workbench
18.3.4. Working on individual projects
19. Eclipse BPMN 2.0 Modeler
19.1. Overview
19.2. Installation
19.3. Documentation
V. Integration
20. Integration
20.1. Maven
20.1.1. Maven artifacts as deployment units
20.1.2. Use Maven for dependency management
20.2. CDI
20.2.1. Overview
20.2.2. Configuring CDI integration
20.2.3. RuntimeManager as CDI bean
20.3. Spring
20.3.1. Direct use of Runtime Manager API
20.3.2. jBPM services with Spring
20.4. Ejb
20.4.1. Ejb services implementation
20.4.2. Local interface
20.4.3. Remote interface
20.5. OSGi
VI. Advanced Topics
21. Domain-specific Processes
21.1. Introduction
21.2. Overview
21.2.1. Work Item Definitions
21.2.2. Work Item Handlers
21.3. Example: Notifications
21.3.1. The Notification Work Item Definition
21.3.2. The NotificationWorkItemHandler
21.4. Service Repository
21.4.1. Public jBPM service repository
21.4.2. Setting up your own service repository
21.4.3. Programatically interacting with the service repository
21.4.4. Defining extended service configuration with JSON
21.4.5. Installing services from the service repositoryy
22. Exception Management
22.1. Overview
22.2. Introduction
22.3.
22.3.1. Technical Exceptions
22.3.2. Technical Exception Examples
22.4.
22.4.1. Business Exceptions
23. Flexible Processes
24. Concurrency and asynchronous execution
24.1. Concurrency
24.1.1. Engine execution
24.1.2. Multiple knowledge sessions and persistence
24.2. Asynchronous execution
24.2.1. Asynchronous handlers
24.2.2. jbpm executor
25. Release Notes
25.1. jBPM 6.5
25.1.1. New and Noteworthy in jBPM 6.5.0
25.1.2. New and Noteworthy in KIE Workbench 6.5.0
25.2. jBPM 6.4
25.2.1. New and Noteworthy in jBPM 6.4.0
25.2.2. New and Noteworthy in KIE Workbench 6.4.0
25.3. jBPM 6.3
25.3.1. New and Noteworthy in jBPM 6.3.0
25.3.2. New and Noteworthy in KIE Workbench 6.3.0
25.4. jBPM 6.2
25.4.1. New and Noteworthy in jBPM 6.2.0
25.4.2. New and Noteworthy in KIE Workbench 6.2.0
25.5. jBPM 6.1
25.5.1. New and Noteworthy in jBPM 6.1.0
25.5.2. New and Noteworthy in KIE Workbench 6.1.0
25.6. jBPM 6.0
25.6.1. New and Noteworthy in KIE API 6.0.0
25.6.2. New and Noteworthy in jBPM 6.0.0
25.6.3. New and Noteworthy in KIE Workbench 6.0.0
25.6.4. New and Noteworthy in Integration 6.0.0