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