1.3 Evolution to BPMN 2.0(BPMN 2.0演进史)
Now that we established a solid foundation of BPM knowledge and terminology it’s time to look at a language to implement a business process, which is the Business Process Model and Notation (BPMN) 2.0. Before we start looking at the BPMN 2.0 language constructs it’s good to know a bit about the history of this OMG standard.
既然我们建立了BPM知识和术语的坚实基础,是来讨论实现业务流程语言的时候了。这就是业务流程模型和符号(BPMN,Business Process Model and Notation)2.0。在我们开始讨论BPMN 2.0语言构件之前,最好知道一点OMG标准的历史。
1.3.1 Wasn’t there a standard called WS-BPEL? (难道没有一个叫做WS-BPEL的标准吗?)
Right! From a developer’s perspective, the first industry standard for implementing business processes was the Web Services Business Process Execution Language (WS-BPEL) specification. While BPMN 1.0 was already standardized and widely used by information and business analysts starting from 2004, WS-BPEL was the first BPM language that was used by developers to run processes on a process engine. In figure 1.4, the timeline of the WS-BPEL standard is shown.
正确!从开发者的角度看,实现业务流程的第一个工业标准时Web服务业务流程执行语言(WS-BPEL,Web Services Business Process Execution Language)规范。自从2004开始,BPMN 2.0已经标准化并被信息和业务分析师广泛使用。WS-BPEL是第一个被开发者使用来在流程引擎里执行流程的BPM语言。在图1.4中,显示了WS-BPEL标准的时间线。
Figure 1.4 The timeline of the WS-BPEL 2.0 standard which was the successor of the BPEL4WS, WSFL and XLANG process languages.
图 1.4 WS-BPEL 2.0时间线,这是BPEL4WS,WSFL和XLANG处理语言的后继者
The timeline shows that we already had executable process languages with the web services flow language (WSFL) by IBM and the XLANG specification by Microsoft. But these languages were not used by other software vendors, so the traditional vendor lock-in scenario was there. It took until 2002 before BEA, IBM and Microsoft made the business process execution language for web services (BPEL4WS) publically available. The purpose of team of software vendors was to standardize version 1.1 of BPEL4WS at OASIS. But it was not before 2007 until OASIS standardized the specification and renamed it to WS-BPEL 2.0.
时间线表明我们已经具有可执行流程语言:IBM的Web服务流程语言(WSFL)。Microsoft的XLANG规范。但是其他的软件供应商并不使用这些语言,所以传统的供应商锁定的场景就在此出现了。知道2002年,BEA,IBM和Microsoft公开发布了Web服务业务流程执行语言(BPEL4WS)。在OASIS,软件供应商集团的目的是制定了BPEL4WS 1.1版本。但是直到2007年,才将规范标准化,并重新命名为WS-BPEL 2.0。
Although the WS-BPEL 2.0 standard is quite successful at defining an execution model for business processes, important constructs were lacking. One important part is human task or workflow support, that is used to allocate work to a group of people or an individual. In figure 1.4 the BPEL4People specification is included, because this add-on specification to WS- BPEL 2.0 does provide this functionality. But BPEL4People is not standardized and not fully embraced by BPM software vendors.
尽管WS-BPEL 2.0标准为业务流程定义执行时模型相当成功,但是它缺乏重要的构件。其中最重要的部分是对人工任务或者工作流的支持。它被用来将工作分配给人员组或个人。在图1.4中包括了BPEL4People规范,因为作为这个WS-BPEL 2.0附加规范确实提供了这个功能。但是,BPEL4People不是标准,没有完全得到BPM软件供应商的拥抱。
Another construct lacking in WS-BPEL is cyclic control flow. That sounds a bit complex, but it’s nothing more than looping back to a previous activity in a process. In WS-BPEL this cannot be done, other than using a while loop with all kinds of difficult conditional logic. But let’s not stick too long in the past, let’s look at the new standard for implementing business processes, BPMN 2.0.
另外,WS-BPEL里缺乏的另外一个构件时循环控制流。尽管听起来有点复杂,但是它只是循环到流程的前一个活动。在WS-BPEL里,这不能完成,对任何有困难的条件逻辑只有采用while循环。但是,让我们不要对过去纠缠太久,让我们来看看实现业务流程的最新标准,BPMN 2.0。
1.3.2 And then there was BPMN 2.0 (然后就有了BPMN 2.0)
While WS-BPEL was standardized in 2007, BPMN 1.0 was already standardized by the Business Process Management Initiative (BPMI) in 2004. BPMN 1.x is widely used as a modeling notation for business processes. So we as process developers, may have received a BPMN 1.x model for requirements or documentation purpose from a information or business analysts. But then we had to convert those models into an execution language such as WS-BPEL. But as figure 1.5 shows, now we have BPMN 2.0 to the rescue.
在2007年制定WS-BPEL标准时,在2004年业务流程管理倡导组织(BPMI)已经制定了BPMN 1.0标准。BPMN 1.x作为业务流程建模符号得到广泛使用。所以作为流程开发者,从信息或者业务分析师收到作为需求或文档目的BPMN 1.x模型。但是,我们不得不将这些模型转换为WS-BPEL之类的执行语言,但是如图1.5所示,现在我们具有BPMN 2.0作为救赎。
Figure 1.5 The timeline of the BPMN 2.0 standard which was the successor of the BPMN 1.x modeling notations.
图 1.5 BPMN 2.0标准时间线,它是BPMN 1.x建模符号的后继者
So now we have a standard for modeling business processes AND implementing a process execution model. So there’s a real opportunity for business oriented people and developers to speak with the same vocabulary and to share business models without the need of conversion.
所以,我们具有了对业务流程建模的标准,也有了实现业务执行模型的标准。所以,对于面向业务的人员和开发者来说是真机会。他们以相同的词汇,不用转换而共享业务模型。
And because the BPMN 2.0 standard provides the opportunity to bring business and IT closer together, there’s a real need for collaboration tools. A business process will be defined and implemented by a lot of people with different backgrounds. So it is a real challenge to provide a toolset where each individual can do their job. In chapter 2, we’ll look at Activiti Cycle, which provides such a platform.
并且由于BPMN 2.0标准提供了业务和流程紧密结合的机会,所以真的需要协作工具。业务流程由许多不同背景的人员共同定义和实现。所以为个人提供完成他们工作提供了工具集是真的挑战,在第2章,我们将讨论Activiti Cycle,它提供了这个平台。
With the history of BPMN 2.0 in our minds, we can now look at the elements of the language itself, and start modeling.
既然我们对BPMN 2.0的历史了然于心,那么我们可以来看看语言的自身的元素,开始建模了。
1.3.3 Getting your head around all the BPMN 2.0 constructs (巡视BPMN 2.0构件)
You only need to take a quick look at the BPMN 2.0 specification at the Object Management Group (OMG) at http://www.omg.org/spec/BPMN/ and it becomes obvious that it’s a quite substantial specification with around 550 pages and over a 100 of BPMN 2.0 constructs. It can be overwhelming to getting started with BPMN 2.0 and to comprehend the basics of the specification. Therefore, it’s important to start with structuring the BPMN 2.0 in different groups of modeling detail.
你只需要快速浏览http://www.omg.org/spec/BPMN/对象管理集团(OMG, Object Management Group)的BPMN 2.0规范即可。显然,它是一个相当主要的规范,大约550页和超过100个BPMN 2.0构件。开始学习BPMN 2.0和理解规范的基础是压倒一切的任务。所以,以不同的建模细节组开始对BPMN 2.0进行结构化是重要的。
An important advocate of grouping the constructs is Bruce Silver with his book BPMN Method & Style. The book is a very good read to getting started with modeling BPMN 1.x and 2.0 processes. In addition, Bruce categorizes the BPMN constructs into 3 different levels:
将构件分组最重要的倡导者是Bruce Silver,它写了一本《BPMN 方法和风格》(BPMN Method & Style)。本书是一本关于BPMN 1.x和2.0流程建模的入门好书。另外,Bruce将BPMN构件划分为3个不同层次的组:
Level 1 is described as descriptive BPMN, which can be used for high-level modeling with a restricted palette of BPMN constructs.
层次1说明为描述性BPMN,它采用BPMN构件的限制性调色板对高层建模。
Level 2 can be used for detailed modeling including event and exception handling and is described as analytical BPMN. It uses a wide range of BPMN constructs.
层次2是包括事件和异常处理的详细建模,它描述为分析式BPMN。它使用了多种结构的BPMN。
Level 3 is the execution model of BPMN (which is new in BPMN 2.0) that can be used to be deployed on a process engine.
层次3是BPMN的执行模型(BPMN 2.0新增)。用以部署模型到流程引擎。
With these different levels in mind, it’s easier to start with BPMN by using the level 1 group of BPMN constructs. But before we take a look at this restricted palette we first discuss another important advocate of grouping the BPMN constructs, which is the Workflow Management Coalition (WfMC). The WfMC, and its chairman for conformance and XPDL Robert Shapiro in particular, categorized the BPMN 2.0 constructs in four different categories (see http://www.wfmc.org/standards/Update%20on%20BPMN%20Release%202.0_final.ppt for more details), which are shown in figure 1.6.
牢记这些不同的层次,使用第一层次的BPMN构件,开始比较容易。但是,在我们注视这些限制调色板,我们首先讨论另一个重要的BPMN构件组的倡导者,它是工作流管理联合会(WfMC, Workflow Management Coalition).特别是它的兼容性和XPDL的主席Robert Shapiro,将BPMN2.0 构件分为四个不同的分组:(详情参见http://www.wfmc.org/standards/Update%20on%20BPMN%20Release%202.0_final.ppt ),分组情况如图1.6所示。
Figure 1.6 A categorization of BPMN 2.0 constructs by the WfMC. The simple category can be used for high level business modeling without a lot of restrictions. The descriptive category can be used for more detailed modeling by business and information analysts.
图1.6 WfMC对BPMN 2.0构件的分类。简单分类可以用作无限制的高层业务建模。描述性分类可以被业务和信息分析师进行更细节的建模
The categorization of WfMC as shown in figure 1.6 is similar to the level groups of Bruce Silver. The descriptive category can be compared to level 1, DODAF to level 2 and the complete palette to level 3. So the main difference is the simple category that can be used for very high-level modeling of business processes. And even then you can question if a vital construct of business process modeling like pool and lane should not belong to the simple category as well. But it’s obvious that the level 1 palette of Bruce Silver and the descriptive category of WfMC are better starting points then the complete palette of the BPMN 2.0 standard.
图1.6所示的WfMC的分组和Bruce Silver的分组形式相似。描述性分组可和层次1对应,DoDAF和层次2对应,完整的调色板对应层次3。所以,主要的差别是简单的分类。它用来对业务流程进行高层建模。你可以质询像泳池(Pool)和泳道(Lane)最重要的构件不应该术语简单分类里。但是,显然Bruce Silver层次1调色板和WfMC描述性分类是比较好的开始点,然后是是BPMN 2.0标准的完整调色板。
Now we understand the history of BPMN 2.0, it’s time to start looking at the actual BPMN constructs and do some modeling!
现在,我们了解了BPMN 2.0的历史,现在是开始研究实际的BPMN构件,完成某些事的时候了!