哪些技术用于BPM /工作流引擎?任何功能比较?

时间:2014-01-09 19:40:54

标签: workflow bpel bpm bpmn

哪一个最适合BPM /工作流引擎? YAWL,XPDL,jPDL,BPEL或BPMN(不同版本)? 是否有技术比较,以便找到最适合我需求的设备? 似乎更多的人建议BPMN或BPEL,但我不明白为什么。我发现了XPDL,它的功能是BPMN的超集,并且它可以毫无损失地转换为BPMN和BPEL(尽管只能通过BPMN轻松实现反向)。

再次请,我要求技术优势和功能,而不是工具/软件。

1 个答案:

答案 0 :(得分:7)

简短回答(可能有偏见,但希望有助于其简洁性):最佳选择是 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 / Workflow 系统”,而是基于其自己的专有语言构建的语言。我不太了解它。