jBPM Services

  • Post author:
  • Post category:JBPM
  • Post comments:0 Comments
jBPM Services

In this guide we will discuss about Services of jBPM. 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:

jbpm-services-api

It has only API classes and interfaces.

jbpm-kie-services

It has the core implementation of the services which do not have any framework-specific code.

CDI

CDI specific code is on top of Jbpm-kie-services

EJB-API

It provides remote capabilities to the interfaces.

EJB-IMPL

EJB specific code is on top of Jbpm-kie-services

EJB-timer

It supports the time-based operation. eg. Timer events, deadlines etc.

Bpm-services-ejb-client

Interact with services over remote ejb invocation-currently available for JBoss only.

Some important services are:

jBPM Services
  • Deployment services
  • Definition services
  • Process services
  • Runtime Data services
  • User Task services

Deployment 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

// Create Deployment Unit  
DeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION);  
  
// Deploy  
deploymentService.deploy(deploymentUnit);  
  
// Retrieve Deployed Unit  
DeployedUnit deployed = deploymentService.getDeployedUnit(deploymentUnit.getIdentifier());  
  
// Get Runtime Manager  
RuntimeManager manager = deployed.getRuntimeManager();  

Definition Service

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

Process Services focused on runtime operations so use it only when there is a need to alter process instances. 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

Next Topic : Click Here

Leave a Reply