哪些技术用于 BPM/工作流引擎?有什么比较功能吗? [英] Which of these technology to use for BPM / Workflow engine? Any comparison of features?

查看:22
本文介绍了哪些技术用于 BPM/工作流引擎?有什么比较功能吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

哪个最适合 BPM/工作流引擎?YAWL、XPDL、jPDL、BPEL 或 BPMN(不同版本)?是否有任何技术比较,以便我可以找到最适合我的需求?似乎更多人建议使用 BPMN 或 BPEL,但我不明白为什么.我发现了 XPDL,它的特征是 BPMN 的超集,而且它可以无损失地转换为 BPMN 和 BPEL(尽管只有 BPMN 才能轻松实现反转).

Which one is the best for BPM/Workflow Engine? YAWL, XPDL, jPDL, BPEL or BPMN (different versions)? Is there any comparison of the technologies so that I can find what best suites my needs? It seems more people suggest BPMN or BPEL, but I don't get why. I found about XPDL and that its features are a superset of BPMN, and also that it can be converted to BPMN and BPEL both without loss (although reverse is possible easily with BPMN only).

再一次,我要求的是技术优势和功能,而不是可用的工具/软件.

Again please, I am asking for technology advantages and features and not tools/softwares available.

推荐答案

简短的回答(可能有偏见但希望对其简短有帮助):最好的选择是 BPMN 2.0.

The short answer (maybe biased but hopefully helpful in its shortness): the best choice is BPMN 2.0.

长答案如下:

  • BPMN 是 OMG 管理的业务流程模型和符号标准,并且由于采用了 2.0 版,可以肯定地说它也是流程建模的事实上的标准,尤其是当最终目标不仅仅是可视化流程建模,但在流程引擎中执行流程定义.现在,所有主要的 BPM 套件供应商(如 Oracle、IBM、SAP)以及最重要的 Java 开源引擎(如 camunda - 我参与的 OSS 项目 - 或 Activiti、jBPM)都支持 BPMN.
  • XPDL 旨在使不同的流程定义格式可交换.由于他们的网站声明并包括 BPMN 标准的 1.2 版,BPMN 只定义了流程定义如何在屏幕上显示的外观.如何存储和交换这些流程定义超出了标准的范围".由于 BPMN 2.0(业务流程建模和表示法),该标准引入了基于 xml 的元模型,包括序列化流程模型和图表、在建模工具之间交换它们以及在流程引擎中执行它们的能力(在添加了所需的技术属性之后)技术执行).
  • jPDL 曾经是 jBoss jBPM 产品的流程定义语言,直到它的第 4 版.自该产品的第 5 版(从头开始重新实现)以来,该产品还支持 BPMN 作为其流程模型和选择的表示法.
  • BPEL 是 OASIS 指定的基于 XML 的业务流程执行语言",因此专注于在流程引擎中执行该语言.在引入上述 BPMN 2.0 XML 元模型之前,它是许多流程引擎(例如 jBPM 和其他使用自己的格式的其他引擎)选择的可执行语言.如果您想将 BPMN 1.2 可视化流程图转换为流程引擎支持的某种可执行语言,它也是首选语言.现在供应商和开源项目都在朝着 BPMN 2.0 的方向发展——它是直接可执行的,因此不需要在可视化和底层模型之间进行转换.因此,我认为 BPEL 将变得越来越不重要,最终有一天甚至会完全过时.
  • YAWL(根据他们的网站)似乎更像是一种BPM/工作流系统"而不是一种语言,而是一种建立在其专有语言之上的语言.我对此知之甚少.
  • BPMN is the OMG managed business process model and notation standard and since the adoption of version 2.0 one can safely say is also the de facto standard for process modeling, especially when the ultimate goal is not just visual process modeling but execution of the process definition in a process engine. All the major BPM suite vendors (like Oracle, IBM, SAP) as well as the most important Java Open Source Engines (like camunda - an OSS project I contribute to - or Activiti, jBPM) nowadays support BPMN.
  • XPDL is an effort to make different process definition formats exchangeable. As their website states up to and including version 1.2 of the BPMN standard, BPMN only defined "the look of how the process definition is displayed on the screen. How one stores and interchanges those process definitions was outside the scope of the standard". Since BPMN 2.0 (Business Process Modeling and Notation) this standard introduced a xml based meta model including the ability to serialize process models and diagrams, exchange them in between modeling tools and also execute them in process engines (after having added technical attributes needed for that technical execution).
  • jPDL used to be the process definition language of the jBoss jBPM product until version 4 of it. Since version 5 of that product (which was a reimplementation from ground up) this product also supports BPMN as its process model and notation of choice.
  • BPEL is an OASIS specified XML based Business Process "Execution Language", therefore focused on executing the language in process engines. Until the introduction of the afore mentioned BPMN 2.0 XML meta model, it was the executable language of choice of many process engines (aside e.g. jBPM and others which used their own formats.). It particularly also was the language of choice in case one wanted to transform a BPMN 1.2 visual process diagram into some executable language supported by process engines. Nowadays vendors and open source projects are all moving in the direction of BPMN 2.0 - which is directly executable and therefore does not need a step of translation in between the visualisation and the underlying model. Therefore I'd argue that the BPEL will become less and less important and eventually even completely obsolete one day.
  • YAWL (according to their website) seems to be more a "BPM/Workflow system" than a language, but one that is built upon its own proprietary language. I do not know much more about it.

这篇关于哪些技术用于 BPM/工作流引擎?有什么比较功能吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆