Activiti |创建通用服务任务以通过HTTP发送XML

时间:2014-04-14 12:05:40

标签: activiti

作为我们Activiti Evaluation的持续部分,我们正在进行PoC以将现有模板迁移到BPMN规范。为此,我们需要迁移 现有任务和最关键的任务之一是使用XML over HTTP与母应用程序通信的任务。我打算创建一个 服务任务(Java Delegate)用于此目的。这个任务必须是可重用的,这样我就可以在不同的流程定义中使用它 同一定义中不同调用的相同定义。为此,需要为服务任务提供初始化 参数以及XML正文。初始化参数包括:

URL of the mother application
Authentication Credentials

我的查询和困惑是如何最好地实现此要求。

例如,我可以将初始化参数保存在属性文件中,并使用自己的服务任务创建子进程来读取此文件。这个子过程将成为主要过程的一部分。 或者,我可以在服务任务中读取此属性文件,而不是创建 子流程

What is the best practice/guideline for this type of scenario.

XML主体(意味着XML的内容)会根据流程定义而有所不同,需要进行参数化。鉴于这是可重用的任务,为服务任务提供XML的最佳方法是什么。例如,我应该将XML定义为.bpmn.xml文件的一部分,还是应该创建 带有标识符的单独模板文件,并在我的服务任务中使用它们(通过http发送xml的任务) 感谢

1 个答案:

答案 0 :(得分:0)

我们在产品中大量使用Activiti BPMN,我们从未想过将XML提供给BPMN文件。我们总是在Service Tasks的帮助下动态生成XML文件。在这种情况下,我们不担心bpmn文件,我们只是更新生成机制并生成XML文件而不涉及已部署的流程定义。

这个生成机制也从源代码中外化,我们使用Velocity模板和进程只为服务任务提供所需的参数,以便它可以决定使用哪个模板。

我们的情况看似相似,我们只为每个请求使用一个服务任务,它只是根据一些其他参数将参数传递给某个模板。