【问题标题】:Merging two versions of bpmn (xml) files合并两个版本的 bpmn (xml) 文件
【发布时间】:2019-12-15 22:34:08
【问题描述】:

我们在jBPM Business Central 中开发流程。我们为两个开发人员创建了两个分支,每个开发人员都进行了一些更改。之后,我尝试合并更改,但遇到很多这样的冲突:

<<<<<<< HEAD
      <bpsim:ElementParameters xsi:type="bpsim:ElementParameters" elementRef="_B522FC25-C305-43A2-B22B-CF9D2280A47B" id="_rucp8h2REeqUr8GsL--YmA">
=======
      <bpsim:ElementParameters xsi:type="bpsim:ElementParameters" elementRef="_B522FC25-C305-43A2-B22B-CF9D2280A47B" id="_ouptgR2QEeqUr8GsL--YmA">
>>>>>>> origin/some-branch

如何正确合并bpmn文件?可能有一些特殊的软件存在吗?

【问题讨论】:

标签: git jbpm bpmn


【解决方案1】:

您可以使用BPMN Sketch Miner 将您的流程表示为文本。

然后你可以直接在源文本上做差异和合并冲突解决。

【讨论】:

    【解决方案2】:

    据我所知,目前还没有工具可以帮助您合并 BPMN 的 XML 文件,如果您遇到合并冲突,除了用肉眼实际比较 BPMN 图形显示。

    为了自动化合并冲突解决,您需要一种相对容易被人类理解的格式 - 存储普通 BPMN 的 XML 不满足该边界条件,仅仅是因为布局中的微小变化会不影响逻辑导致不同的 XML 文件。

    实现易于阅读的 BPMN 表示的一种方法可能是使用一些自动翻译为 BPMN-XML 的元语言。 BPMN 的非 XML 表示的优点还在于 GIT 的内部合并冲突解决流程可以直接使用。

    市场上至少有两种不同的 BPMN 元语言:

    1. 有一篇 master thesis 是一篇试图开发 BPMN 的纯文本表示的硕士论文:

    但是,到目前为止,对于 BPMN,图形建模工具仅适用于 存在。在本文中,BPMN流程模型的文本表示是 设计和实施。该符号考虑了可用性方面 源自对现有文本建模语言的研究,尤其是 UML 图。为了支持该语言的用户,专门的编辑器 因为提供了语言,并且为了还允许使用创建的 “plantBPMN”语言结合其他工具,一次改造 从文本模型到标准化的基于 XML 的 BPMN 模型 实现了交换格式。

    1. 还有一个基本的YAML BPMN 实现,但这也没有被广泛使用,参见https://docs.zeebe.io/yaml-workflows/index.html

    【讨论】:

    • 肉眼比较比从一个图表复制粘贴更改到另一个图表更难......我不明白什么是plantBPMN。因此,合并过程目前是未解决的任务。
    • @AlexT 好吧,我想说有一种使用元语言(BPMN-YAML 或 plantBPMN)的解决方法 - 我编辑了我的答案以澄清我的意思。我同意(据我所知)不是 BPMN-XML 解决合并冲突的工具。
    • 是的,现在我明白你的意思了。但是我已经在 jBPM Business Central 中有业务流程。是否可以从 XML 格式转换为非 xml,合并非 xml 文件并转换回 XML? jBPM BC 可以使用的格式。
    • 理论上是的,如果你保证转换是无损的。实际上,我不知道有任何转换器会这样做。
    • 我在 jBPM 跟踪器 issues.redhat.com/browse/JBPM-8956 上创建了一个问题。可能 jBPM 的开发人员可以用它做点什么。
    猜你喜欢
    • 2011-06-23
    • 1970-01-01
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 2017-01-29
    • 2015-04-12
    • 2021-04-29
    • 2013-10-02
    相关资源
    最近更新 更多