在上一章里我們了解了BPM的基本概念,什么是業(yè)務(wù)流程管理,業(yè)務(wù)流程管理是一種以規(guī)范化地構(gòu)造端到端的業(yè)務(wù)流程為中心,以持續(xù)地提高組織業(yè)務(wù)績(jī)效為目的的系統(tǒng)化管理方法。同時(shí),我們也了解了BPM活動(dòng)的五個(gè)階段:設(shè)計(jì)、建模、執(zhí)行、監(jiān)控和優(yōu)化。在本章中,我們將把關(guān)注點(diǎn)放到BPMN上,什么是BPMN,在BPMN1.X里,BPMN是Business Process Modeling Notation的縮寫(xiě),即業(yè)務(wù)流程建模符號(hào),而在BPMN2.0里,BPMN變成了Business Process Model And Notation的縮寫(xiě),即業(yè)務(wù)流程模型和符號(hào),一個(gè)單詞的增加卻標(biāo)示著B(niǎo)PMN本身發(fā)生了巨大的變化。到底是怎樣的變化呢,讓我們一起進(jìn)入BPMN那段悲催的歷史。
BPMN最早是由業(yè)務(wù)流程管理倡議組織(BPMI, Business Process Management Initiative)開(kāi)發(fā)的,這個(gè)組織的領(lǐng)導(dǎo)者是Intalio公司。提到BPMI組織,不得不提 BPML(Business Process Modeling Language) 業(yè)務(wù)流程建模語(yǔ)言。在敏銳的認(rèn)識(shí)到Web將成為未來(lái)分布式系統(tǒng)架構(gòu)的平臺(tái)后,BPMI組織創(chuàng)建了BPML,一種全新的流程執(zhí)行語(yǔ)言,該語(yǔ)言不與任何供應(yīng)商綁定,而B(niǎo)PMN則作為BPML的可視化表現(xiàn)符號(hào)被創(chuàng)建。BPMI組織的會(huì)員在高峰期達(dá)到了200多家公司,除了IBM和微軟,幾乎所有的主要軟件供應(yīng)商都加入了該組織。
BPMN則反映出BPMI組織的另一個(gè)具有前瞻性的觀點(diǎn),即業(yè)務(wù)人員(多是非技術(shù)人員)對(duì)IT執(zhí)行流程的可視化和管理將成為未來(lái)BPM系統(tǒng)的關(guān)鍵。通過(guò)授權(quán),業(yè)務(wù)人員能夠管理自己的流程。在BPMN出現(xiàn)之前,市面上已經(jīng)存在流程建模圖的標(biāo)準(zhǔn)例如UML的活動(dòng)圖(UML由對(duì)象管理組織OMG維護(hù)管理,很快,我們將再次看到這一組織),但這些標(biāo)準(zhǔn)被認(rèn)為過(guò)于技術(shù)化,而B(niǎo)PMN在被設(shè)計(jì)之初就強(qiáng)調(diào)要對(duì)業(yè)務(wù)人員友好。BPMN1.0在2004年5月由BPMI組織正式發(fā)布,其全稱是Business Process Modeling Notation,即僅僅作為業(yè)務(wù)流程建模的一系列符號(hào)標(biāo)準(zhǔn)。
對(duì)BPMN和BPML來(lái)說(shuō),兩者的遭遇截然不同,在BPMI組織的會(huì)員中,BPMN受到了大多數(shù)流程建模工具廠商的歡迎,他們認(rèn)為統(tǒng)一的建模標(biāo)準(zhǔn)能夠使他們圍繞核心建模工具提供其他更多的價(jià)值,而B(niǎo)PML則遭到了很多工作流廠商的痛恨,因?yàn)橐粋€(gè)統(tǒng)一的流程執(zhí)行語(yǔ)言標(biāo)準(zhǔn)將使得他們重新競(jìng)爭(zhēng),而私有的流程執(zhí)行語(yǔ)言已經(jīng)將市場(chǎng)分割,他們想維持現(xiàn)狀。因此,矛盾從一開(kāi)始就存在了,BPMI組織原計(jì)劃是建立一套業(yè)務(wù)人員能夠自管理的流程系統(tǒng)標(biāo)準(zhǔn),BPMN關(guān)注業(yè)務(wù)流程的描述和分析,它建立的模型是面向業(yè)務(wù)人員的,是不可以直接執(zhí)行的,而B(niǎo)PML則由BPMN自動(dòng)生成可執(zhí)行的流程語(yǔ)言,交由IT系統(tǒng)執(zhí)行,但是現(xiàn)在,BPML被工作流廠商們認(rèn)為是對(duì)自己的一種威脅。
事實(shí)上,廠商們對(duì)BPML是多慮了。IBM和微軟很快開(kāi)始了反擊,他們?cè)?002年8月推出了BPEL-WS規(guī)范,一個(gè)與BPML有稍許不同的語(yǔ)言,基于新的WSDL標(biāo)準(zhǔn)。BPML與BPEL-WS之爭(zhēng)也被看作是Betamax與VHS格式之爭(zhēng),Betamax品質(zhì)優(yōu)秀,但VHS得到數(shù)量眾多的制造商支持,Betamax戰(zhàn)敗,于是BPML被消滅。
2005年,BPMI組織被OMG組織合并,BPML停止維護(hù),2006年OMG組織正式通過(guò)BPMN1.0規(guī)范,2008年2月發(fā)布BPMN1.1。
記憶里,有那么多的規(guī)范、標(biāo)準(zhǔn),從開(kāi)始炒作的沸沸揚(yáng)揚(yáng),到最后的逐漸淡出,不過(guò)幾年光景。但BPMN卻在2008年大爆發(fā),得到了極大的普及。具有諷刺意味的是,BPMN的流行完全歸功于那些當(dāng)初反對(duì)BPML的工作流廠商們,恩恩,現(xiàn)在他們都改名叫BPMS廠商了。原因很簡(jiǎn)單,業(yè)務(wù)人員對(duì)IT執(zhí)行流程的可視化和管理已經(jīng)成為BPMS系統(tǒng)的關(guān)鍵,BPMI組織猜到了結(jié)局,卻忘了猜猜自己。
BPMN被BPMS廠商們大量采用,他們使用它來(lái)進(jìn)行流程的建模,至于模型的執(zhí)行和存儲(chǔ),則由他們各自不同的流程執(zhí)行語(yǔ)言實(shí)現(xiàn)。時(shí)至今日,BPMN1.x被大多數(shù)的建模工具和BPMS廠商所支持,他們關(guān)心的是建模,沒(méi)有人關(guān)心BPMN的直接執(zhí)行,也是,BPMN的主要用戶是業(yè)務(wù)人員和流程分析人員。
那么,BPMN的故事結(jié)束了嗎?顯然沒(méi)有,BPMN1.x只是一些建模符號(hào),不支持元模型,不支持存儲(chǔ)和交換,也不支持執(zhí)行。那么圍繞著B(niǎo)PMN1.x的存儲(chǔ)、交換和執(zhí)行,必然會(huì)產(chǎn)生新的競(jìng)爭(zhēng),這次的主角換成了XPDL、BPEL和BPDM。
XPDL作為WfMC提出的流程定義語(yǔ)言規(guī)范,本身就是一個(gè)元模型,可以存儲(chǔ),并且具備執(zhí)行語(yǔ)義,因此理論上來(lái)講,將BPMN轉(zhuǎn)換為XPDL就可以解決存儲(chǔ)、交換和執(zhí)行的問(wèn)題。XPDL2.0于2005年10月發(fā)布,在規(guī)范里,WfMC直接將XPDL的目標(biāo)定義為BPMN的XML序列化格式。2008年4月23日發(fā)布的XPDL2.1規(guī)范,直接支持BPMN1.1到XPDL2.1的轉(zhuǎn)換。XPDL是面向圖的,BPMN也是面向圖的,因此BPMN到XPDL的轉(zhuǎn)換有著天然的優(yōu)勢(shì)。如今有超過(guò)80個(gè)的不同公司的產(chǎn)品使用XPDL來(lái)交換流程定義,同時(shí)也有一些廠商在自己提供的BPMN工具中使用了XPDL作為交換和存儲(chǔ)格式。
但XPDL的流行是大廠商們所不愿看到的,他們的規(guī)范自然還是BPEL,我辛辛苦苦PK掉BPML,您XPDL搶位來(lái)了,我情何以堪,情何以堪啊。BPEL-WS規(guī)范在2003年4月提交給了OASIS(Organization for the Advancement of Structured Information Standards,結(jié)構(gòu)化信息標(biāo)準(zhǔn)促進(jìn)組織)并更名為WSBPEL(Web Services Business Process Execution Language)規(guī)范, 2007年4月發(fā)布WSBPEL2.0版本,除了Microsoft、 BEA、 IBM、 SAP 和Siebel,Sun Microsystems和甲骨文公司也相繼加入了OASIS組織。除去政治因素,BPEL的流行還在于Web正成為分布式系統(tǒng)架構(gòu)的平臺(tái)以及SOA的雄起,SOA強(qiáng)調(diào)服務(wù)的分解和解耦,而B(niǎo)PEL則對(duì)這些WEB服務(wù)進(jìn)行編制,兩者密不可分。但BPMN到BPEL的轉(zhuǎn)換存在著先天上的缺陷,原因是BPMN是基于圖的,而B(niǎo)PEL是基于塊的,BPEL是一個(gè)結(jié)構(gòu)化(塊[Block])和非結(jié)構(gòu)化(控制鏈和事件)的混合體。這個(gè)缺陷導(dǎo)致有些BPMN建模的流程無(wú)法映射到BPEL,兩者的雙向工程更是存在問(wèn)題。這個(gè)缺陷成為人們反復(fù)詬病的對(duì)象。許多支持BPEL的產(chǎn)品為了解決這一問(wèn)題,不得不在用戶建模時(shí)做出種種限制,讓用戶繪制不出無(wú)法轉(zhuǎn)換的模型。
而B(niǎo)PDM(業(yè)務(wù)流程定義元模型,Business Process Definition Metamodel)則是OMG組織自己提出來(lái)解決BPMN存儲(chǔ)和交換問(wèn)題的規(guī)范。于2007年7月形成初稿,2008年7月被OMG最終采用。BPDM是一個(gè)標(biāo)準(zhǔn)的概念定義,用來(lái)表達(dá)業(yè)務(wù)流程模型。元模型定義了用來(lái)交換的概念,關(guān)系和場(chǎng)景,可以使得不同的建模工具所建模出來(lái)的流程模型進(jìn)行交換。BPDM超越了BPMN和BPEL所定義的業(yè)務(wù)流程建模的要素,它定義了編排和編制。
三者的競(jìng)爭(zhēng)關(guān)系似乎還將繼續(xù),但,BPMN2.0出現(xiàn)了,BPMN2.0 beta1版本于2009年8月發(fā)布,BPMN2.0 beta2版本于2010年5月發(fā)布,BPMN2.0正式版本于2011年1月3日發(fā)布。BPMN2.0正式將自己更名為Business Process Model And Notation(業(yè)務(wù)流程模型和符號(hào)),相比BPMN1.x,最重要的變化在于其定義了流程的元模型和執(zhí)行語(yǔ)義,即它自己解決了存儲(chǔ)、交換和執(zhí)行的問(wèn)題,BPMN由單純的業(yè)務(wù)建模重新回歸了它的本源,即作為一個(gè)對(duì)業(yè)務(wù)人員友好的標(biāo)準(zhǔn)流程執(zhí)行語(yǔ)言的圖形化前端。BPMN2.0一出手,競(jìng)爭(zhēng)就結(jié)束了,XPDL、BPEL和BPDM各自準(zhǔn)備回家釣魚(yú)。看起來(lái)勝利者似乎是BPMN,但看看BPMN2.0的領(lǐng)導(dǎo)者,就會(huì)發(fā)現(xiàn)最后的勝利者還是IBM, Oracle和SAP這些大廠商們,他們提交的草案明確要賦予BPMN2.0以執(zhí)行語(yǔ)義,這迫使BPDM團(tuán)隊(duì)撤回了其提交,并將他們的提議與BPDM團(tuán)隊(duì)想法合并,這就是BPMN2.0最后內(nèi)容的由來(lái)。
BPMN的目標(biāo)是期望通過(guò)一套統(tǒng)一的建模、執(zhí)行模型填起業(yè)務(wù)人員與開(kāi)發(fā)人員之間的那道鴻溝。但問(wèn)題是它真的能夠如它期望般的做到這一點(diǎn)嗎,對(duì)業(yè)務(wù)人員友好的模型對(duì)開(kāi)發(fā)人員同樣友好嗎,反過(guò)來(lái),對(duì)開(kāi)發(fā)人員友好的模型對(duì)業(yè)務(wù)人員同樣友好嗎,盡管他們使用的都是同一套符號(hào)?我們?cè)诤罄m(xù)的建模實(shí)例里將看到這樣的問(wèn)題,這涉及到建模的風(fēng)格。同一個(gè)流程模型能夠使用多種建模方式,哪種方式才是最有效的?這就需要考慮模型的用戶是誰(shuí)(業(yè)務(wù)人員、分析人員、開(kāi)發(fā)人員),才能界定是否有效了。此外,工具畢竟只是工具,促進(jìn)業(yè)務(wù)人員與開(kāi)發(fā)人員之間的溝通,除了工具,還有公司文化、組織結(jié)構(gòu)等等其他人的因素,這也才是最重要的因素。
不管怎樣,BPMN2.0是BPMN歷史上最重要的一個(gè)版本,BPMN繼續(xù)向正確的方向邁進(jìn)了一大步。在下一節(jié)里,我們將一起看看BPMN所支持的三種基本類型的流程模型。
http://www.tkk7.com/ronghao 榮浩原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處:)