【问题标题】:Running customized (non-BPMN) process definitions with Activiti使用 Activiti 运行定​​制的(非 BPMN)流程定义
【发布时间】:2014-03-27 23:05:12
【问题描述】:

我们正在评估 Activiti 作为流程引擎,以取代我们现有的本土工作流程引擎。我们对 Activiti 的能力印象深刻,尤其是与多租户和 REST WS 相关的能力。

然而,采用 Activiti 的最大挑战之一(也可能是阻碍)是 - 我们如何运行或迁移我们现有的工作流程定义。

正如我之前提到的,我们的工作流程解决方案是自产的,不符合 BPMN 规范。那里有成千上万的模板。我们不能简单地要求我们的客户使用 Activiti 重新定义他们的模板。这些定义以专有的 XML 格式存储。

查看模板中的自定义级别,将这些定义迁移到 BPMN 格式将非常困难。

那么,Activiti 是否提供任何挂钩来运行此类自定义模板。或者,请分享您对将模板从专有格式迁移到 BPMN 格式的想法。

我想这种情况很常见,其他人也会面临同样的情况。

我知道我对这个查询非常模糊,但在这个阶段我没有可以讨论的具体问题。

【问题讨论】:

    标签: workflow activiti bpmn


    【解决方案1】:

    一种选择是实现您自己的专有 XML 解析器和解析器处理程序。查看 org.activiti.engine.impl.bpmn.parser.BpmnParseorg.activiti.engine.impl.bpmn.parser.handler.AbstractBpmnParseHandler 及其后代。

    我们做到了并且工作得很好。

    【讨论】:

    • 谢谢费斯米。通过专有的 XML 解析器和处理程序,我了解它们用于解析您的自定义模板。请建议我的理解是否正确。我的主要困惑源于自定义构造到 BPMN 构造的映射。您是否遇到过这种情况,您是如何应对的。
    • XML 解析器读取每个 xml 元素并将其放入适当的处理程序 (AbstractBpmnParseHandler)。 Handler 将一个元素转换为 activiti 节点。例如 StartEventParseHandler 将 StartEvent 添加到流程定义中。这是一种方法,如何定义从自己的XML格式部署到数据库的流程。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多