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知識和術(shù)語的堅實基礎(chǔ),是來討論實現(xiàn)業(yè)務(wù)流程語言的時候了。這就是業(yè)務(wù)流程模型和符號(BPMN,Business Process Model and Notation)2.0。在我們開始討論BPMN 2.0語言構(gòu)件之前,最好知道一點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.
正確!從開發(fā)者的角度看,實現(xiàn)業(yè)務(wù)流程的第一個工業(yè)標準時Web服務(wù)業(yè)務(wù)流程執(zhí)行語言(WS-BPEL,Web Services Business Process Execution Language)規(guī)范。自從2004開始,BPMN 2.0已經(jīng)標準化并被信息和業(yè)務(wù)分析師廣泛使用。WS-BPEL是第一個被開發(fā)者使用來在流程引擎里執(zhí)行流程的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.
時間線表明我們已經(jīng)具有可執(zhí)行流程語言:IBM的Web服務(wù)流程語言(WSFL)。Microsoft的XLANG規(guī)范。但是其他的軟件供應(yīng)商并不使用這些語言,所以傳統(tǒng)的供應(yīng)商鎖定的場景就在此出現(xiàn)了。知道2002年,BEA,IBM和Microsoft公開發(fā)布了Web服務(wù)業(yè)務(wù)流程執(zhí)行語言(BPEL4WS)。在OASIS,軟件供應(yīng)商集團的目的是制定了BPEL4WS 1.1版本。但是直到2007年,才將規(guī)范標準化,并重新命名為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標準為業(yè)務(wù)流程定義執(zhí)行時模型相當成功,但是它缺乏重要的構(gòu)件。其中最重要的部分是對人工任務(wù)或者工作流的支持。它被用來將工作分配給人員組或個人。在圖1.4中包括了BPEL4People規(guī)范,因為作為這個WS-BPEL 2.0附加規(guī)范確實提供了這個功能。但是,BPEL4People不是標準,沒有完全得到BPM軟件供應(yīng)商的擁抱。
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里缺乏的另外一個構(gòu)件時循環(huán)控制流。盡管聽起來有點復(fù)雜,但是它只是循環(huán)到流程的前一個活動。在WS-BPEL里,這不能完成,對任何有困難的條件邏輯只有采用while循環(huán)。但是,讓我們不要對過去糾纏太久,讓我們來看看實現(xiàn)業(yè)務(wù)流程的最新標準,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年業(yè)務(wù)流程管理倡導(dǎo)組織(BPMI)已經(jīng)制定了BPMN 1.0標準。BPMN 1.x作為業(yè)務(wù)流程建模符號得到廣泛使用。所以作為流程開發(fā)者,從信息或者業(yè)務(wù)分析師收到作為需求或文檔目的BPMN 1.x模型。但是,我們不得不將這些模型轉(zhuǎn)換為WS-BPEL之類的執(zhí)行語言,但是如圖1.5所示,現(xiàn)在我們具有BPMN 2.0作為救贖。
![clip_image002[5] clip_image002[5]](http://m.tkk7.com/images/blogjava_net/lewhwa/Windows-Live-Writer/fe5dd160b0c2_13975/clip_image002%5B5%5D_thumb.jpg)
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.
所以,我們具有了對業(yè)務(wù)流程建模的標準,也有了實現(xiàn)業(yè)務(wù)執(zhí)行模型的標準。所以,對于面向業(yè)務(wù)的人員和開發(fā)者來說是真機會。他們以相同的詞匯,不用轉(zhuǎn)換而共享業(yè)務(wù)模型。
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標準提供了業(yè)務(wù)和流程緊密結(jié)合的機會,所以真的需要協(xié)作工具。業(yè)務(wù)流程由許多不同背景的人員共同定義和實現(xiàn)。所以為個人提供完成他們工作提供了工具集是真的挑戰(zhàn),在第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構(gòu)件)
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規(guī)范即可。顯然,它是一個相當主要的規(guī)范,大約550頁和超過100個BPMN 2.0構(gòu)件。開始學(xué)習(xí)BPMN 2.0和理解規(guī)范的基礎(chǔ)是壓倒一切的任務(wù)。所以,以不同的建模細節(jié)組開始對BPMN 2.0進行結(jié)構(gòu)化是重要的。
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:
將構(gòu)件分組最重要的倡導(dǎo)者是Bruce Silver,它寫了一本《BPMN 方法和風格》(BPMN Method & Style)。本書是一本關(guān)于BPMN 1.x和2.0流程建模的入門好書。另外,Bruce將BPMN構(gòu)件劃分為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構(gòu)件的限制性調(diào)色板對高層建模。
? 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。它使用了多種結(jié)構(gòu)的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的執(zhí)行模型(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構(gòu)件,開始比較容易。但是,在我們注視這些限制調(diào)色板,我們首先討論另一個重要的BPMN構(gòu)件組的倡導(dǎo)者,它是工作流管理聯(lián)合會(WfMC, Workflow Management Coalition).特別是它的兼容性和XPDL的主席Robert Shapiro,將BPMN2.0 構(gòu)件分為四個不同的分組:(詳情參見http://www.wfmc.org/standards/Update%20on%20BPMN%20Release%202.0_final.ppt ),分組情況如圖1.6所示。
![clip_image002[7] clip_image002[7]](http://m.tkk7.com/images/blogjava_net/lewhwa/Windows-Live-Writer/fe5dd160b0c2_13975/clip_image002%5B7%5D_thumb.jpg)
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構(gòu)件的分類。簡單分類可以用作無限制的高層業(yè)務(wù)建模。描述性分類可以被業(yè)務(wù)和信息分析師進行更細節(jié)的建模
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對應(yīng),DoDAF和層次2對應(yīng),完整的調(diào)色板對應(yīng)層次3。所以,主要的差別是簡單的分類。它用來對業(yè)務(wù)流程進行高層建模。你可以質(zhì)詢像泳池(Pool)和泳道(Lane)最重要的構(gòu)件不應(yīng)該術(shù)語簡單分類里。但是,顯然Bruce Silver層次1調(diào)色板和WfMC描述性分類是比較好的開始點,然后是是BPMN 2.0標準的完整調(diào)色板。
Now we understand the history of BPMN 2.0, it’s time to start looking at the actual BPMN constructs and do some modeling!
現(xiàn)在,我們了解了BPMN 2.0的歷史,現(xiàn)在是開始研究實際的BPMN構(gòu)件,完成某些事的時候了!