继 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 的支持,还将为我们带来哪些新的特点呢?我们翘首期待。
活动推荐:
2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。
评论