jBPM 作为远程服务

2024 年 8 月 29 日 | 阅读 3 分钟

jBPM 平台提供许多远程 API 服务。 它为开发人员提供了更高的灵活性,可以设计需要 jBPM 集成的解决方案。 这种远程 API 以灵活、开放的架构开启了许多可能性,以便满足并快速响应不断变化的应用程序需求。

JBPM 可以使用以下远程服务 API:


jBPM remote service

REST API

此 API 用于管理任务、流程、创建流程实例以及其他需要使用简单 HTTP 客户端库的操作。 它在以下领域提供功能:

RuntimeEngine - 它为用户提供流程实例创建、流程实例查询和 workitem 操作。

History - 它提供审计数据。

Task - 它提供任务操作和任务查询方法。

Deployment - 它提供部署管理操作。

认证

jBPM 为 REST API 提供身份验证。 调用时,REST 服务操作会检查当前 HTTP 会话的基本身份验证用户 ID。 如果我们未获得授权,它将给出错误,否则设置用户 ID 和密码以进行身份验证。 这将返回以下响应-

远程 Java API

如果我们不想手动创建 HTTP 请求来远程访问 jBPM,那么我们可以使用 Java API。 Java API 是一个高级 API。 它使用 REST 或 JMS API 与远程引擎服务交互,从而为用户提供诸如 TaskService、KieSession 等服务 API 类。 Java API 的入口点是 classRuntimeEngine,我们可以使用 RemoteRuntimeEngineFactory 类访问它,如下所示。

现在,我们必须访问 KieSession、TaskServiceAuditService 远程接口。 这些接口有助于使用纯 Java 代码执行远程调用并管理与远程 jbpm 服务器的 HTTP 连接。 远程 API 必须具有以下 Maven 依赖项。

SOAP API

SOAP 代表简单对象访问协议。 它是一种消息传递协议,允许在不同操作系统上运行的程序使用 HTTP 协议交换信息。 它允许我们进行客户端-服务器通信。 在此 API 中,客户端可以向服务器发起请求,然后服务器处理这些请求并将响应返回给用户。

依赖项-

SOAP API 的 Maven 依赖项如下:

命令 Web 服务

在本节中,我们将描述如何使用其 SOAP API 调用 jBPM。 我们的 jbpm-remote-server 测试项目,SOAPTest jUnit 测试类,创建一个 Web 服务客户端,然后启动一个新的流程实例。

JBoss BPM Suite 以 CommandWebService 的形式提供 SOAP 接口。 Java 客户端作为生成的 CommandWebService 类提供。 由 kie-remote-client 模块生成的类充当 SOAP 的客户端接口。 测试代码中引用的 CommandWebServiceClient 类由 kie-remote-clientJAR 中的 Web 服务描述语言 (WSDL) 生成。


下一主题#