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-服务-EJB客户端
通过远程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专注于运行时操作, 因此仅在需要更改流程实例时才使用它。它用于授予对执行环境的访问权限, 该执行环境允许:
- 启动新流程实例
- 使用现有流程
【jBPM服务】该服务引用流程实例的运行时信息。它用作信息的主要来源。
- 启动流程实例
- 执行节点实例
此服务用于从头到尾管理单个用户任务。用户任务服务允许:
- 修改选定的属性
- 访问任务变量
- 访问任务附件
- 访问任务注释