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

Jul*_*Nut 2 workflow business-process-management bpel bpmn

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

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

Mar*_*mak 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 /工作流程系统 "而不是一种语言,但它是建立在自己的专有语言之上的.我不太了解它.

  • 可能要提到BPEL是OASIS规范.它与Web服务相关联,并且可以显示出能够使用关联功能编排各种Web服务的能力. (2认同)