jBPM4与BPMN2将于2010年1月联姻

继11月5日jBPM v4.2版本发布之后,jBPM又有了新的动向,Joram Barrez在他最新的博文中称:

自从今年夏天开始,我们就着手在PVM平台上实现对原生BPMN的支持……在本博文中大家将能窥见BMPN2当前的执行进展……它将整合在jBMP4.3中发布(原定日期是2010年1月1日)……

这对流程开发社区来说无疑又是一大兴事,因为广大业务流程开发人员不再需要将由BPMN2建模的流程图转换成jPDL等,而直接可以在jBPM平台上运行。

为什么说jBPM与BPMN2的联姻是一大喜事?这需要先了解BPMN和jBPM天生支持的语言jPDL之间的差异。

  • BPMN即业务流程建模符号(Business Process Modeling Notion),它是用一种类似于流程图的图表形式来描述业务流程的一种方法,目前由对象管理组织(Object Management Group OMG)进行维护和管理。jPDL(JBoss jBPM Process Definition Language)是构建于jBPM框架上的流程语言之一,它并非公开的标准但却与jBPM有这天然的亲缘关系。 BPMN2是其升级版,新增了很多特性,如提高了符号的准确性、定义了行业标准的交换格式、提供了一系列扩展点以及对编排的支持等。
  • jPDL是jBPM的原生执行语言,它提供了任务(tasks)、等待状态 (wait states)、计时器(timers)、自动处理(automated actions)…等术语,并通过图型化的方式直观地描述流程。

JBOSS社区中给出了BPMN与JPDL之间的差别简化如下:

  • BMPN是一个公开的标准,而jPDL专属于jBPM
  • BPMN更加侧重于流程的建模,是类似于UML的建模语言,而jPDL侧重于流程的执行,它是业务流程执行语言
  • BPMN与实现无关,而从Java开发者的角度来看,JPDL则更简单。

然而,jPDL与BPMN之间也有很多共同之处,比如它们都使用直观的建模视图,用XMl的形式描述业务流程,解决的是业务流程方面的问题。正如Joram在博文中提到的:

……我们在jBPM中投资BPMN是很自然的事情,熟悉JPDL的人学习BPMN通常毫不费力,因为很多结构和概念都是系统相同或相通的。事实上从高层次看来,BPMN2和JPDL在概念上解决的是相同的问题……

在博文中Joram给了一个简单的示例,在Signavio流程编辑器上建模,并直接部署在jBPM之中,然后用纯Java代码测试该流程。从这个例子中可以看到jBPM的新版本对BPMN2的平滑支持。由此可以看出jBPM近期动作频频,如PVM、支持Web的流程IDE、BPMN以及与Spring的整合,InfoQ对jBPM4发布以来几次动作总结如下:

  • TheServerSide总结了jBPM的第一版发布(2009-07-11),称它引入了新的PVM概念,使之支持多种业务流程语言:
    • 支持Eclipse中基于BPMN的图形化流程设计工具
    • 将基于Command的服务做为主要客户端API
    • 活动实现API的解耦
    • 便捷增加客户化活动
    • 数据库和流程语言的分离
  • V4.1(2009-08-31)中增加了Signavio的Web流程编辑器 
  • V4.2(2009-11-05)中增加了对Process ClassLoader的支持和服务实例的版本控制。

那么,V4.3 除了在V4.2的基础上增加了对BPMN2的支持,还将为我们带来哪些新的特点呢?我们翘首期待。


 

你可能感兴趣的:(jBPM4与BPMN2将于2010年1月联姻)