jBPM API provides a set of very-high level services. These services help to embed the Business Process Management capabilities into our application. These services delivered a complete set of modules. These modules are as follows:
It has only API classes and interfaces.
It has the core implementation of the services which do not have any framework specific code.
CDI specific code is on top of Jbpm-kie-services
It provides remote capabilities to the interfaces.
EJB specific code is on top of Jbpm-kie-services
It supports time based operation. eg. Timer events, deadlines etc.
Interact with services over remote ejb invocation-currently available for JBoss only.
Some important services are:
- Deployment services
- Definition services
- Process services
- Runtime Data services
- User Task services
Its main responsibility is to deploy or undeploy units. It gives the information of available deployment units and their RuntimeManager instances.
Syntax to create, deploy, retrieve and get runtime manager
It is used to scan process definition that parses the process and extracts important information from it. This information provides the input to the system to inform users about what is expected. Definition Service provides information about:
- Process Definition
- Process Variable
- Service Task
- User Task
- Input and Output Information
Process Services focused on runtime operations so use it only when there is need to alter process instance. It is used to give access to the execution environment that allows:
- Start new process instances
- Work with existing process
Runtime Data Services
This service refers to the runtime information of Process Instances. It is used as the main source of information.
- Start Process Instances
- Execute Node Instances
User Task Services
This service is used to manage the individual user task from start to end. User Task Service allows:
- Modify Selected Properties
- Access to Task Variables
- Access to Task Attachments
- Access to Task Comments