4.4. Process designer 中的 BPMN2 自定义任务


BPMN2 规范支持扩展 BPMn2:task 元素以在软件实施中创建自定义任务。与标准 BPMN 任务类似,自定义任务标识要在业务流程模型中完成的操作,但它们还包括专门功能,如与特定类型的外部服务(REST、电子邮件或 Web 服务)的兼容性或检查流程中的行为(milestone)。

Red Hat Process Automation Manager 在 BPMN modeler palette 中的 Custom Tasks 下提供以下预定义的自定义任务:

Expand
表 4.10. 支持的自定义任务
自定义任务类型自定义任务节点

REST

bpmn rest custom task

电子邮件

bpmn email custom task

Log

bpmn log custom task

WebService

bpmn webservice custom task

milestone

bpmn milestone

DecisionTask

bpmn decision task custom

BusinessRuleTask

bpmn business rule custom task

KafkaPublishMessages

bpmn kafkapublishmessages task

有关在 Business Central 中启用或禁用自定义任务的详情,请参考 第 58 章

在 BPMN 模型器中,您可以为所选自定义任务配置以下通用属性:

Expand
表 4.11. 常规自定义任务属性
标签描述

Name

标识任务的名称。您还可以双击任务节点来编辑名称。

Documentation

描述任务。此字段中的文本包括在流程文档中(如果适用)。

is Async

确定此任务是否异步调用。

adhoc Autostart

决定这是自动启动的临时任务。这个选项可让任务在进程创建时自动启动,而不是通过信号事件启动。

On Entry Action

定义一个以 Java、JavaScript 或 MVEL 脚本在任务开始时直接执行操作。

在退出操作中

定义一个 Java、JavaScript 或 MVEL 脚本,用于在任务结束时直接执行操作。

SLA 过期日期

当服务级别协议(SLA)过期时,指定持续时间(字符串类型)。您可以在天、分钟、秒和毫秒为单位。例如,SLA 因为日期 字段中的 1m 值代表一分钟。

分配

定义任务的数据输入和输出。

元数据属性

定义要用于自定义事件监听程序的自定义元数据属性名称和值,例如在出现 metadata 属性时实施某些操作的监听程序。

Metadata Attributes 可启用对 BPMN 图表的新 metaData 扩展,并修改整个任务的行为。

REST

其余的自定义任务用于调用远程 RESTful 服务,或者从进程执行 HTTP 请求。

要使用剩余的自定义任务,您可以在进程模型器中设置 URL、HTTP 方法和凭证。当进程到达剩余的自定义任务时,它会生成一个 HTTP 请求,并以字符串形式返回响应。

您可以在 Properties 面板中点击 Assignments 以打开 REST Data I/O 窗口。在 REST Data I/O 窗口中,您可以根据需要配置数据输入和输出。例如,要执行其他自定义任务,在 Data Inputs 和 Assignments 字段中输入以下数据输入:

  • URL :REST 服务的端点 URL。这个属性是必须的。
  • 方法 :名为 的端点的方法,如 GETPOST。默认值为 GET
  • ContentType :发送数据时的数据类型。此属性对于 POSTPUT 请求是必需的。
  • ContentTypeCharset :为 ContentType 设置字符。
  • 内容 :您要发送的数据。此属性支持向后兼容性,改为使用 ContentData 属性。
  • ContentData :要发送的数据。此属性对于 POSTPUT 请求是必需的。
  • ConnectTimeout :连接超时(以秒为单位)。默认值为 60000 毫秒。您必须以毫秒为单位提供输入值。
  • ReadTimeout :响应时超时(以秒为单位)。默认值为 60000 毫秒。您必须以毫秒为单位提供输入值。
  • 用户名 :用于身份验证的用户名.
  • 密码 :用于身份验证的密码。
  • AuthUrl:正在处理身份验证的 URL。
  • AuthType :处理身份验证的 URL 类型。
  • HandleResponseErrors (可选):Instructs 处理程序在响应代码失败时抛出错误(除 2XX 除外)。
  • ResultClass: valid name of the response is unmarshalled 的类。如果没有提供,则以字符串格式返回原始响应。
  • AcceptHeader :接受标题的值。
  • AcceptCharset :接受标头集。
  • 标头 :要传递 REST 调用的标头,如 content-type=text/html

您可以在 Data Outputs 和 Assignments 中添加以下数据输出来存储任务执行的输出:

  • 结果 :输出其他自定义任务的变量(对象类型)。

电子邮件

电子邮件自定义任务用于从进程发送电子邮件。它包含与其关联的电子邮件正文。

激活电子邮件自定义任务时,电子邮件数据将分配给任务的数据输入属性。电子邮件自定义任务在发送相关电子邮件时完成。

您可以在 Properties 面板中点 Assignments 以打开 Email Data I/O 窗口。在 Email Data I/O 窗口中,您可以根据需要配置数据输入。例如,要执行电子邮件自定义任务,在 Data Inputs 和 Assignments 字段中输入以下数据输入:

  • 正文 :电子邮件的正文。
  • :发件人的电子邮件地址。
  • 主题 :电子邮件的主题.
  • 到 :接收者的电子邮件地址。您可以指定多个以分号(;)分隔的电子邮件地址。
  • 模板 (可选):用于生成电子邮件正文的模板。如果输入,Template 属性会覆盖 Body 参数。
  • reply-To :将回复消息发送到的电子邮件地址。
  • cc: 复制收件人的电子邮件地址。您可以指定多个以分号(;)分隔的电子邮件地址。
  • BCC: blind copy 的接收者电子邮件地址。您可以指定多个以分号(;)分隔的电子邮件地址。
  • Attachments :发送电子邮件到发送的电子邮件。
  • debug: Flag 来启用 debug 日志记录。

Log

日志自定义任务用于记录来自进程的消息。当业务流程到达日志自定义任务时,消息数据会被分配给 data 输入属性。

记录相关的消息时会完成日志自定义任务。您可以在 Properties 面板中点 Assignments 以打开 Log Data I/O 窗口。在 Log Data I/O 窗口中,您可以根据需要配置数据输入。例如,要执行日志自定义任务,在 Data Inputs 和 Assignments 字段中输入以下数据输入:

  • Message: 来自进程的日志消息。

WebService

Web 服务自定义任务用于从进程调用 Web 服务。此自定义任务充当 Web 服务客户端,其 Web 服务响应以字符串形式存储。

若要从进程调用 Web 服务,您必须使用正确的任务类型。您可以在 Properties 面板中单击 Assignments 以打开 WS Data I/O 窗口。在 WS Data I/O 窗口中,您可以根据需要配置数据输入和输出。例如,要执行 web 服务任务,在 Data Inputs 和 Assignments 字段中输入以下数据输入:

  • 端点 :要调用的 Web 服务的端点位置。
  • 接口 :服务的名称,如 Weather
  • 模式 :服务的模式,如 SYNCASYNCONEWAY
  • 命名空间 :Web 服务的命名空间,如 http://ws.cdyne.com/WeatherWS/
  • 操作 :要调用的方法名称。
  • 参数 :要为操作发送的对象或数组。
  • URL :Web 服务的 URL,如 http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL

您可以在 Data Outputs 和 Assignments 中添加以下数据输出来存储任务执行的输出:

  • 结果 :web 服务任务的输出变量(对象类型)。

milestone

milestone 代表进程实例内实现的单一点。您可以使用 milestones 标记某些事件,以触发其他任务或跟踪进程的进度。

milestones 可用于关键性能指标(KPI)跟踪或识别仍然完成的任务。milestones 可以在进程中的一个阶段结束时发生,或者是实现其他里程干的结果。

milestones 可以在进程执行过程中达到以下状态:

  • Active :已经为 milestone 节点定义了 milestone 条件,但尚未满足。
  • 完成 :一个 milestone 条件已满足(如果适用),milestone 已被实现,进程可以继续进行下一任务或可以结束。

您可以在 Properties 面板中点击 Assignments 以打开 Milestone Data I/O 窗口。在 Milestone Data I/O 窗口中,您可以根据需要配置数据输入。例如,要执行一个 milestone,在 Data Inputs 和 Assignments 字段中输入以下数据输入:

  • 条件: 满足 milestone 的条件。例如,您可以输入使用进程变量的 Java 表达式(字符串数据类型)。

DecisionTask

决策任务用于执行 DMN 图表并从进程调用决策引擎服务。默认情况下,决策任务映射到 DMN 决策。

您可以使用决策任务在流程中做出一个操作决策。决策任务可用于识别需要做出过程中的关键决策。

您可以在 Properties 面板中点 Assignments 以打开 Decision Task Data I/O 窗口。在 Decision Task Data I/O 窗口中,您可以根据需要配置数据输入。例如,要执行决策任务,在 Data Inputs 和 Assignments 字段中输入以下数据输入:

  • 决策 :做出流程的决策。
  • 语言 :决策任务的语言,默认为 DMN。
  • 模型 :DMN 模型的名称。
  • 命名空间 :DMN 模型的命名空间。

BusinessRuleTask

业务规则任务用于评估 DRL 规则并从进程调用决策引擎服务。默认情况下,商业规则任务映射到 DRL 规则。

您可以使用商业规则任务来评估业务流程中的关键业务规则。您可以在 Properties 面板中点 Assignments 以打开 Business Rule Task Data I/O 窗口。在 Business Rule Task I/O 窗口中,您可以根据需要配置数据输入。例如,要执行商业规则任务,在 Data Inputs 和 Assignments 字段中输入以下数据输入:

  • KieSessionName: KIE 会话的名称。
  • KieSessionType: KIE 会话的类型。
  • 语言 :商业规则任务的语言,默认为 DRL。

KafkaPublishMessages

Kafka 工作项用于将事件发送到 Kafka 主题。此自定义任务包含一个 work item 处理程序,它使用 Kafka producer 将消息发送到特定的 Kafka 服务器主题。例如,KafkaPublishMessages 任务从进程发布到 Kafka 主题。

您可以在 Properties 面板中点 Assignments 以打开 KafkaPublishMessages Data I/O 窗口。在 KafkaPublishMessages Data I/O 窗口中,您可以根据需要配置数据输入和输出。例如,要执行 Kafka 工作项,在 Data Inputs 和 Assignments 字段中输入以下数据输入:

  • Key :要发送的 Kafka 消息的密钥。
  • 主题 : Kafka 主题的名称。
  • :要发送 Kafka 消息的值。

您可以在 Data Outputs 和 Assignments 中添加以下数据输出 来存储工作项目执行的输出:

  • 结果 :输出变量(字符串类型)

有关业务流程中的 KafkaPublishMessages 的更多信息,请参阅将 Red Hat Process Automation Manager 与 Red Hat AMQ Streams 集成。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat