我对 Java 和 BPMN 都没有太多经验,但 m****y 的目标是创建一个解析 .bpmn 文件并从中推导出一些信息的代码。
我不需要执行流程,我只需要推断一些信息,例如:
我尝试研究了主要技术,例如:Camunda、Flowable 和 jBPM;但对我来说,它们似乎都以流程的执行为目标,而不仅仅是语法分析(我认为这就是我需要的)。
我现在正在考虑创建一个代码,使用 DOM 或 SAX 等技术来解析 BPMN 图的 XML。
有人对我应该如何实现我的目标有建议吗?
你可以看看我在这里使用的Camunda库: https://github.com/rob2universe/bpmn-creator
或者,如果您更喜欢 JS,您可能会发现 https://bpmn.io/ 有帮助。
BPMN 文件通常采用 XML 结构。因此,您可以使用 JAXP 进行自己的 XML 解析。我也使用 SAXparser,找到一些介绍here。
我也读到过 Java 的 BPMN 库,但我还没有尝试过这些 jet。这是本主题的一个很好的堆栈链接:解析 BPMN 文件
希望这对开始有所帮助:)
您可以查看我用 Java 创建的这个项目,以执行各种操作,例如计算 BPMN 元素、向任务添加随机活动时间以及计算周期时间。
以下是存储库的链接: https://github.com/zaim-abbasi/Bpmn-Parser