前几天看了jBPM4.3版的开发指南,网上也有翻译但是觉得好像是使用翻译软件翻译的,所以自己进行了重新翻译。这是第一次进行翻译,希望大家多多指正。下面把中英文都发表上来.
The Business Process Modeling Notation (BPMN) is a standard for the graphical notation of business process models. The standard is maitained by the Object Management Group (OMG).
BPMN(Business Process Modeling Notation)业务流程建模符号,是业务流程建模的一种标准图形符号。目前由对象管理组织(Object Management Group OMG)对该标准维护和管理。
Basically, the BPMN specification defines how a task must look like, which constructs can be connected to each other, etc. in a meaning that cannot be misinterpreted.
简单来说,BPMN定义了一个任务看起来应该是什么样子,哪些结构可以与其他进行连接,等等。也就是说,BPMN让业务流程建模时更清晰不会被误解。
Earlier versions of the standard (<= version 1.2) are limited to the modeling only, aiming at a common understanding between all stakeholders involved in documenting, discussing and implementing business processes. The BPMN standard has proven itself, as many modeling tools on the market today use the symbols and constructs specified in the BPMN standard. In fact, the current JPDL designer also uses BPMN symbols.
早期版本(1.2版以及之前)BPMN仅仅限制在模型上,目标是让所有的利益相关者能够在文档、讨论和业务流程实现上形成统一的理解。BPMN已经证明了它自己,现在市场上许多建模工具都使用了BPMN标准中的符号和结构。实际上,现在的jPDL设计器也使用了BPMN元素。
Version 2.0 of the BPMN specification, which is currently in finalization phase and is scheduled to be finished soon, allows to add precise technical details to the shapes and symbols available in BPMN and at the same time specify what the execution semantics of BPMN 'elements' are. By using an XML language to specify the executable semantics of a business process, the BPMN specification has evolved into a language for business processes that can be executed on any BPMN2 compliant process engine - while still having the powerful graphical notation.
BPMN 2.0版本当前已经处于最终定稿阶段,计划不久将会发布。BPMN2.0在图形和元素添加了精确的技术细节描述,同时制定了元素的执行语义。BPMN通过使用XML语言来定义业务流程的执行语义,已经逐渐演变为一种业务流程语言,可以在任何兼容BPMN2的流程引擎中运行,而且BPMN仍旧拥有强大的图形注解功能。
The jBPM BPMN2 implementation was started in close collaboration with the community in augustus 2009 after releasing jBPM 4.0. Later, it was decided that the first release (ie documented/QA'd) to incorporate parts of the BPMN2 spec would be jBPM 4.3.
jBPM 4.0发布之后,在2009年8月经过与社区进行了紧密协作之后决定启动jBPM BPMN2的实现。之后,我们决定在jBPM 4.3中发布中(比如,文档/QA)将首次涉及部分BPMN2规范。
The goal of this effort is to build a native BPMN2 runtime engine (or better said implementing 'BPMN2 exectuable') leveraging the Process Virtual Machine (PVM). Do note that the primary focus of this release is native executability, not the graphical notation - but we recognize its importance for further releases.
我们的目标是建立基于流程虚拟机 (Process Virtual Machine - PVM)一个原生BPMN2运行引擎(或者说实现'可执行的BPMN2')。注意,这个版本的主要目标是原生可执行而不是图形注解 - 但是我们清楚对于以后的版本是很重要的。
Users who are already familiar with jBPM will find that
如果您已经了解了jBPM,就会发现
So in general, our main goal is to keep everything that was good about jBPM, and enhance it with a standards based process language.
所以总体来说,我们主要目标是保持所有在jBPM优势,并使用一个标准的流程语言来加强它们。
One of the first questions that might, rightfully, come to mind is why BPMN2 is being implemented while there is jPDL. Both are languages have as goal to define executable business processes. From a high-level technical point of view, both languages are equivalent. The main distinction is that BPMN2 is as vendor-neutral as you can have with standards, while JPDL has always been tied to jBPM (although some might argue that a vendor lock-in for an open-source process language such as JPDL is less a lock-in than with closed-source products).
首先映入脑海第一个问题是为什么已经有了jPDL还要实现BPMN2。它们两个语言的目标都是定义可执行的业务流程。从高层次来看,两个语言是等效的。主要的区别是BPMN2是“厂商中立”的,你可以使用标准, 而jPDL则是绑定在jBPM上的(虽然会有一些争论绑定在开源语言厂商比如jPDL和绑定在闭源产品)。
Within jBPM, both language implementations are built on top of the jBPM Process Virtual Machine (PVM). This means that both languages share a common foundation (persistence, transactions, configuration, but also basic process constructs, etc.). As a result, optimizations to the core of jBPM often benefits both languages. Leveraging the PVM, the BPMN2 implementation is built upon a foundation that has already proven itself in the past and has a large end-user community.
在jBPM中,两个语言实现都是建立在jBPM流程虚拟机(PVM)上的。这就意味着两个语言需要共享通用功能 (持久化、事务、配置和基本流程结构等等)。结果就是,对jBPM核心的优化就会对两个语言都有益。依靠PVM,BPMN2实现就是建立在已经在过去证明了它自己,并拥有了很大的最终用户社区的基础上。
When evaluating the languages and comparing them which each other however, following points must be taken into consideration:
当对它们进行评估和比较的时候,下面几点必须纳入考虑:
It is natural to the political level of BPMN2 specification process to go rather slow. JPDL on the other hand will be able to incorporate changes faster, integrate with new technologies when they are released and evolve generally at a quicker pace compared to BPMN2. Of course, since both are built on top of the same PVM, it is only logical that additions to JPDL can be ported to BPMN2 as an extension without much hassle.
显然,因为政治原因,BPMN2规范发展的会比较慢。jPDL就可以快速变化,和新技术进行集成,当他们发布的时候, 与BPMN2相比可以加快步伐进行演化。 当然,因为两个都建立在同一个PVM上,jPDL中的逻辑也可以一直到BPMN2上,作为一个扩展,不会出现很多麻烦。
The BPMN2 specification defines a very rich language for modeling and executing business processes. However, this also means that it is quite hard to get an overview of what's possible with BPMN2. To simplify this situation, we've decided to categorize the BPMN2 constructs into three 'levels'. The separation itself is primarily based on the book 'BPMN method and Style' by Bruce Silver (http://www.bpmnstyle.com/), the training material of Dr. Jim Arlow (http://www.slideshare.net/jimarlow/introductiontobpmn005), 'How much BPMN do you need' (http://www.bpm-research.com/2008/03/03/how-much-bpmn-do-you-need/), and also our own experience.
BPMN2为建模和业务流程执行定义了非常丰富的细节。然而,这也就意味着我们很难总览BPMN2究竟长什么样。为了简化这种情况,我们决定把BPMN2结构划分为三个等级。这样的划分原因是基于Bruce Silver写的 'BPMN method and Style'这本书(http://www.bpmnstyle.com/),Dr. Jim Arlow的培训资料( http://www.slideshare.net/jimarlow/introductiontobpmn005),'How much BPMN do you need'( http://www.bpm-research.com/2008/03/03/how-much-bpmn-do-you-need/),和我们自己的经验。
We define three categories of BPMN2 constructs:
我们定义的三个BPMN2结构分类层级:
Enabling BPMN 2.0 in your application is extremely simple: just add the following line to thejbpm.cfg.xml file.
在你的应用中使用BPMN 2.0是很简单的,只要把下面一行加入到jbpm.cfg.xml文件。
<import resource="jbpm.bpmn.cfg.xml" />
This import will enable BPMN 2.0 process deployment by installing a BPMN 2.0 deployer in the Process Engine. Do note that a Process Engine can cope with both JPDL and BPMN 2.0 processes. This means that in your application, some processes can be JPDL and others can be BPMN 2.0.
通过该配置就会把BPMN 2.0发布器安装到流程引擎中。需要注意的是流程引擎此时可以同时执行jPDL和BPMN 2.0流程。这意味着在你的应用里,一些流程可能是jPDL,其他的可能是BPMN 2.0。
Process definitions are distinguished by the process engine based on the extension of the definition file. For BPMN 2.0, use the *.bpmn.xml extension (where JPDL is having the *.jpdl.xml extension).
流程引擎是根据定义文件的后缀来区分流程定义的。 对于BPMN 2.0,使用*.bpmn.xml作为后缀 ,而jPDL则使用*.jpdl.xml作为后缀。
The examples that are shipped with the distribution also contain examples for every construct that is discussed in the following sections. Look for example BPMN 2.0 processes and test cases in theorg.jbpm.examples.bpmn.* package .
发布中包含的例子也包含了下面章节中讨论的每个结构的实例。BPMN 2.0的流程示例和测试用例,在org.jbpm.examples.bpmn.*包下。
See the userguide, chapter 2 (Installation), for a walktough on how to import the examples. Look for the section 'Importing the Examples'.
参考用户指南的第二章(安装)研究一下如何导入示例。查看章节'导入示例'。