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