jBPM API提供了一组非常高级别的服务。 这些服务有助于将业务流程管理功能嵌入到应用程序中。这些服务提供了一整套模块。 这些模块如下:
jbpm-services-api
- 它只有API类和接口。jbpm-kie-services
- 它具有服务的核心实现,没有任何特定于框架的代码。jbpm-services-cdi
- CDI特定代码位于Jbpm-kie-services之上。jbpm-services-ejb-api
- 它为接口提供远程功能。jbpm-services-ejb-impl
- EJB特定代码位于Jbpm-kie-services之上jbpm-services-ejb-timer
- 它支持基于时间的操作。 例如。 计时器事件,截止日期等Bpm-services-ejb-client
- 通过远程ejb调用与服务交互 - 目前仅适用于JBoss。
一些重要的服务是:
- 部署服务
- 定义服务
- 流程服务
- 运行时数据服务
- 用户任务服务
部署服务
其主要职责是部署或取消部署单位。 它提供了可用部署单元及其RuntimeManager
实例的信息。
用于创建,部署,检索和获取运行时管理器的语法:
// 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();
定义服务
它用于扫描解析流程并从中提取重要信息的流程定义。此信息为系统提供输入,以通知用户预期的内容。 定义服务提供以下信息:
- 流程定义
- 过程变量
- 服务任务
- 用户任务
- 输入和输出信息
流程服务
Process Services专注于运行时操作,因此仅在需要更改流程实例时才使用它。 它用于提供对允许执行环境的访问:
- 启动新的流程实例
- 使用现有流程
运行时数据服务
此服务引用Process Instances的运行时信息。 它被用作主要信息来源。
- 启动流程实例
- 执行节点实例
用户任务服务
此服务用于从头到尾管理单个用户任务。 用户任务服务允许:
- 修改所选属性
- 访问任务变量
- 访问任务附件
- 访问任务评论