BPMN被BPMS厂商们大量采用,他们使用它来进行流程的建模,至于模型的执行和存储,则由他们各自不同的流程执行语言实现。时至今日,BPMN1.x被大多数的建模工具和BPMS厂商所支持,他们关心的是建模,没有人关心BPMN的直接执行,也是,BPMN的主要用户是业务人员和流程分析人员。
那么,BPMN的故事结束了吗?显然没有,BPMN1.x只是一些建模符号,不支持元模型,不支持存储和交换,也不支持执行。那么围绕着BPMN1.x的存储、交换和执行,必然会产生新的竞争,这次的主角换成了XPDL、BPEL和BPDM。
XPDL作为WfMC提出的流程定义语言规范,本身就是一个元模型,可以存储,并且具备执行语义,因此理论上来讲,将BPMN转换为XPDL就可以解决存储、交换和执行的问题。XPDL2.0于2005年10月发布,在规范里,WfMC直接将XPDL的目标定义为BPMN的XML序列化格式。2008年4月23日发布的XPDL2.1规范,直接支持BPMN1.1到XPDL2.1的转换。XPDL是面向图的,BPMN也是面向图的,因此BPMN到XPDL的转换有着天然的优势。如今有超过80个的不同公司的产品使用XPDL来交换流程定义,同时也有一些厂商在自己提供的BPMN工具中使用了XPDL作为交换和存储格式。
但XPDL的流行是大厂商们所不愿看到的,他们的规范自然还是BPEL,我辛辛苦苦PK掉BPML,您XPDL抢位来了,我情何以堪,情何以堪啊。BPEL-WS规范在2003年4月提交给了OASIS(Organization for the Advancement of Structured Information Standards,结构化信息标准促进组织)并更名为WSBPEL(Web Services Business Process Execution Language)规范, 2007年4月发布WSBPEL2.0版本,除了Microsoft、 BEA、 IBM、 SAP 和Siebel,Sun Microsystems和甲骨文公司也相继加入了OASIS组织。除去政治因素,BPEL的流行还在于Web正成为分布式系统架构的平台以及SOA的雄起,SOA强调服务的分解和解耦,而BPEL则对这些WEB服务进行编制,两者密不可分。但BPMN到BPEL的转换存在着先天上的缺陷,原因是BPMN是基于图的,而BPEL是基于块的,BPEL是一个结构化(块[Block])和非结构化(控制链和事件)的混合体。这个缺陷导致有些BPMN建模的流程无法映射到BPEL,两者的双向工程更是存在问题。这个缺陷成为人们反复诟病的对象。许多支持BPEL的产品为了解决这一问题,不得不在用户建模时做出种种限制,让用户绘制不出无法转换的模型。
而BPDM(业务流程定义元模型,Business Process Definition Metamodel)则是OMG组织自己提出来解决BPMN存储和交换问题的规范。于2007年7月形成初稿,2008年7月被OMG最终采用。BPDM是一个标准的概念定义,用来表达业务流程模型。元模型定义了用来交换的概念,关系和场景,可以使得不同的建模工具所建模出来的流程模型进行交换。BPDM超越了BPMN和BPEL所定义的业务流程建模的要素,它定义了编排和编制。
三者的竞争关系似乎还将继续,但,BPMN2.0出现了,BPMN2.0 beta1版本于2009年8月发布,BPMN2.0 beta2版本于2010年5月发布,BPMN2.0正式版本于2011年1月3日发布。BPMN2.0正式将自己更名为Business Process Model And Notation(业务流程模型和符号),相比BPMN1.x,最重要的变化在于其定义了流程的元模型和执行语义,即它自己解决了存储、交换和执行的问题,BPMN由单纯的业务建模重新回归了它的本源,即作为一个对业务人员友好的标准流程执行语言的图形化前端。BPMN2.0一出手,竞争就结束了,XPDL、BPEL和BPDM各自准备回家钓鱼。看起来胜利者似乎是BPMN,但看看BPMN2.0的领导者,就会发现最后的胜利者还是IBM, Oracle和SAP这些大厂商们,他们提交的草案明确要赋予BPMN2.0以执行语义,这迫使BPDM团队撤回了其提交,并将他们的提议与BPDM团队想法合并,这就是BPMN2.0最后内容的由来。
BPMN的目标是期望通过一套统一的建模、执行模型填起业务人员与开发人员之间的那道鸿沟。但问题是它真的能够如它期望般的做到这一点吗,对业务人员友好的模型对开发人员同样友好吗,反过来,对开发人员友好的模型对业务人员同样友好吗,尽管他们使用的都是同一套符号?我们在后续的建模实例里将看到这样的问题,这涉及到建模的风格。同一个流程模型能够使用多种建模方式,哪种方式才是最有效的?这就需要考虑模型的用户是谁(业务人员、分析人员、开发人员),才能界定是否有效了。此外,工具毕竟只是工具,促进业务人员与开发人员之间的沟通,除了工具,还有公司文化、组织结构等等其他人的因素,这也才是最重要的因素。
不管怎样,BPMN2.0是BPMN历史上最重要的一个版本,BPMN继续向正确的方向迈进了一大步。在下一节里,我们将一起看看BPMN所支持的三种基本类型的流程模型。
分享到:
相关推荐
赠送jar包:activiti-bpmn-model-5.21.0.jar; 赠送原API文档:activiti-bpmn-model-5.21.0-javadoc.jar; 赠送源代码:activiti-bpmn-model-5.21.0-sources.jar; 赠送Maven依赖信息文件:activiti-bpmn-model-...
activiti-bpmn-converter-5.18.0-sources.jar
描述中提到的"simple-bower"例子,展示了如何使用Bower这个前端包管理工具来引入bpmn-js库。Bower是Web开发中广泛使用的包管理器,它可以方便地管理和更新项目的依赖。在这个例子中,你会看到如何配置Bower.json文件...
赠送jar包:activiti-bpmn-model-5.21.0.jar; 赠送原API文档:activiti-bpmn-model-5.21.0-javadoc.jar; 赠送源代码:activiti-bpmn-model-5.21.0-sources.jar; 赠送Maven依赖信息文件:activiti-bpmn-model-...
基于vue编写的一些自定义bpmn.js案例-基础篇.zip基于vue编写的一些自定义bpmn.js案例-基础篇.zip基于vue编写的一些自定义bpmn.js案例-基础篇.zip基于vue编写的一些自定义bpmn.js案例-基础篇.zip基于vue编写的一些...
赠送jar包:activiti-bpmn-converter-5.21.0.jar; 赠送原API文档:activiti-bpmn-converter-5.21.0-javadoc.jar; 赠送源代码:activiti-bpmn-converter-5.21.0-sources.jar; 赠送Maven依赖信息文件:activiti-...
由于公司前段时间在打造一个开发平台,而我主要负责工作流模块,于是就接触到了`bpmn-js`。但众所周知,`bpmn-js` 文档是全英的,相关资料少,填坑的人更少,所以开发起来并没有那么好上手。于是我研究了一段时间,...
【bpmn-js-seed-master】是一个项目种子,旨在帮助开发者快速入门基于BPMN规范的工作流前端图形化设计。BPMN(Business Process Model and Notation)是一种国际标准,用于绘制业务流程模型,它提供了统一的语言和...
"flowable-bpmn---idea的插件"正是这样一个工具,旨在提升Flowable BPMN流程设计在IntelliJ IDEA中的体验。 这个插件的安装和使用非常简单,只需在IDEA的插件市场中搜索“flowable”即可找到并安装。安装完成后,...
activiti-bpmn-converter-5.16.4.jar
activiti-bpmn-converter-5.12.1.jar activiti-bpmn-converter-5.12.1.jar
bpmn-js令牌模拟 用于令牌模拟的bpmn-js扩展。 安装 通过安装。 npm install bpmn-js-token-simulation 作为附加模块添加到 。 造型师 var BpmnModeler = require ( 'bpmn-js/lib/Modeler' ) ; var ...
一个方便和易于使用的图形化编辑器业务流程图,符合OMG规范(BPMN 2.0的)。遥墙BPMN编辑器是在Java编程语言编写,并可以帮助你创建你在任何时候需要在所有的图表。 特点: 无需安装 快速轻松地创建,查看,编辑和...
赠送jar包:activiti-bpmn-converter-5.21.0.jar; 赠送原API文档:activiti-bpmn-converter-5.21.0-javadoc.jar; 赠送源代码:activiti-bpmn-converter-5.21.0-sources.jar; 赠送Maven依赖信息文件:activiti-...
BPMN1.1-formal-08-01-17.pdf BPMN1.2-formal-09-01-03.pdf BPMN2.0.2-formal-13-12-09.pdf CMMN1.0-formal-14-05-05.pdf CMMN1.1-formal-16-12-01.pdf DMN1.0-formal-15-09-01.pdf DMN1.1-formal-16-06-01.pdf DMN...
在本文中,我们将深入探讨如何在前端环境中利用BPMN-js库实现工作流。BPMN-js是一个基于JavaScript的开源库,它允许开发者在Web应用中可视化和交互处理Business Process Model and Notation(业务流程模型与符号)...
而workflow-bpmn-modeler-jeecgboot 则是在这个框架上进行的扩展,它对原生的workflow-bpmn-modeler组件进行了深度定制和优化,以更好地适应Jeecg-Boot的开发环境。 Workflow-bpmn-modeler 是一个开源的BPMN 2.0...
通常,这包括将文件复制到Eclipse的dropins或plugins目录下,然后重启Eclipse,系统会自动识别并应用汉化。 使用BabelLanguagePack的汉化功能后,Eclipse的菜单、对话框、提示信息等都将转换为中文,显著提升了中文...
activiti-bpmn-converter-5.13.jar 相关activiti jar包