BPM 與 SOA的演進與展望(下)
BPM與工作流程相關(guān)標(biāo)準(zhǔn)組織
想深層了解一個專業(yè)的產(chǎn)業(yè)發(fā)展,透過產(chǎn)業(yè)標(biāo)準(zhǔn)組織是一個不錯的方式。對技術(shù)底層感興趣的BPM技術(shù)人員來說,以下的清單可以作為探索的起點。
| 組織名稱 | 組織全名與網(wǎng)址 | 與BPM相關(guān)之標(biāo)準(zhǔn) | 說明 |
| WfMC | Workflow Management Coalition http://www.wfmc.org/ | Workflow Reference Model | 工作流程系統(tǒng)模組架構(gòu)的參考模型 |
| XPDL | XML - Process Definition Language | ||
| WfXML | Workflow XML | ||
| ASAP | 主持人為WfMC工作小組成員之一,但此工作放在OASIS,請參閱OASIS的項目 | ||
| WAPI | Workflow API | ||
| OASIS | Organization for the Advancement of Structured Information Standards http://www.oasis-open.org/ | ebXML – BPSS CPA CPP | e-Business using XML – BP Specification Schema Collaboration Protocol Agreements Collaboration Protocol Profile |
| BPEL | Business Process Execution Language | ||
| BTP | Business Transaction Protocol | ||
| ASAP | Asynchronous Service Access Protocol | ||
| UDDI | Universal Description, Discovery and Integration (從UDDI.org 併入OASIS) | ||
| WS-CAF | OASIS Web Services Composite Application Framework | ||
| WS-RM | OASIS Web Services Reliable Messaging | ||
| UN/CEFACT | United Union, Centre for Trade Facilitation and Electronic Business http://www.unece.org/cefact | ebXML | (參考OASIS的 ebXML部分) |
| OMG | Object Management Group http://www.omg.org/ | UML | 其中的Activity diagram 可用來描述企業(yè)流程的部分構(gòu)面 |
| BPMN | Business Process Modeling Notation | ||
| BPRI | Business Process Runtime Interfaces | ||
| BPDM | Business Process Definition Meta-model | ||
| BSBR | Business Semantics of Business Rules | ||
| OSM | Organization Structure Metamodel | ||
| BRM | Business Rules Management | ||
| BPMI | Business Process Management Initiative http://www.bpmi.org/ | BPMN BPML BPQL | (2005年6月已併入 OMG) |
| W3C | World Wide Web Consortium http://www.w3.org/ | WS-CDL | WS-CDL Web Services Choreography Description Language |
| WSDL | Web Service Definition Language | ||
| SOAP | Simple Object Access Protocol | ||
| HTTP | Hyper Text Transfer Protocol | ||
| OAGi | Open Application Group http://www.openapplications.org/ | OAGIS -- BODs | Open Applications Group Integration Specification – Business Object Documents |
| RosettaNet | RosettaNet http://www.rosettanet.org/ | RosettaNet -- PIPs | RosettaNet – Partner Interface Processes |
| Supply Chain Council | Supply Chain Council http://www.supply-chain.org | SCOR model | Supply-Chain Operations Reference Model |
表一:現(xiàn)行BPM與工作流程技術(shù)標(biāo)準(zhǔn)一覽表
?
WfMC 是比較專注於工作流程的組織,它的WfMC workflow reference model是最常被引用的工作流程管理系統(tǒng)的參考模型。雖然WfMC的工作小組數(shù)目較少,但因為起步較早,旗下的 XPDL與WfXML標(biāo)準(zhǔn),有相當(dāng)多的工作流程廠商支援。WfMC替工作流程的技術(shù)發(fā)展奠定了早期的基礎(chǔ),它界定了BPM與工作流程領(lǐng)域的大框架,也持續(xù)不斷的推廣BPM與工作流程,讓眾人清楚這個領(lǐng)域的體系與架構(gòu)。
OASIS與OMG的技術(shù)小組數(shù)目比較多,工作焦點也不僅限於狹義的工作流程技術(shù)。因為涵蓋的範(fàn)圍較廣,而且背後的支援廠商規(guī)模較大,所以整體影響力也較大。OASIS旗下的BPEL取自IBM、微軟等公司,而ebXML則是OASIS與UN/CEFACT這兩個組織共同成立的工作小組。OASIS藉由充沛的技術(shù)發(fā)展動能,為工作流程技術(shù)領(lǐng)域開拓更大的視野,在流程定義格式、流程執(zhí)行層面,以及複雜的流程互動機制等領(lǐng)域,提供了寶貴的技術(shù)解決方案。
OMG在BPM領(lǐng)域掌握了標(biāo)準(zhǔn)記號(notation),包含UML,以及從BPMI併進來的BPMN。同時,OMG也積極以塑模(model)的角度,切入工作流程定義的其他構(gòu)面,如共通模型表示法BPDM[ ]、流程語意BSBR、組織架構(gòu)OSM、業(yè)務(wù)規(guī)則BRM等等。OMG的強項之一就是在塑模(model)技術(shù),它的UML廣受軟體領(lǐng)域接受;在BPM與工作流程的領(lǐng)域,OMG持續(xù)發(fā)展BPMN與等其他BPM各構(gòu)面的塑模技術(shù),未來將使BPM的其他構(gòu)面(如業(yè)務(wù)規(guī)則,或組織架構(gòu))也能使用像UML或BPMN這種等級的表示記號來進行塑模,讓複雜企業(yè)流程的塑模工作更加容易而清楚明確。
W3C的強項在於 Web 領(lǐng)域,HTTP是最知名的代表作。而XML與Web Services 是BPM在SOA領(lǐng)域的基礎(chǔ)建設(shè)。其它相關(guān)的BPM技術(shù),如 WS-CAF, WS-RM, WS-CDL等等,都奠基於W3C的 Web Services技術(shù)。
OAGi、RosettaNet,以及 Supply Chain Council,則是特定產(chǎn)業(yè)領(lǐng)域的代表。它們的貢獻在於替特定產(chǎn)業(yè)界定共通的BPM運作規(guī)範(fàn),也就是說,定義屬於他們產(chǎn)業(yè)特色的應(yīng)用流程參考模型與共通的術(shù)語,讓這個特定產(chǎn)業(yè)在推展BPM時,就有基本的需求大綱與基礎(chǔ)架構(gòu),也讓同產(chǎn)業(yè)體系內(nèi)的廠商可以透過共通的產(chǎn)業(yè)模型與共通術(shù)語溝通,避免不同BPM應(yīng)用系統(tǒng)之間產(chǎn)生各自為政而無法互通的障礙。如同前文所述,RosettaNet在電子商務(wù)領(lǐng)域已經(jīng)廣為人知,SCOR模型則在於物流領(lǐng)域。雖然OAGi在國內(nèi)的能見度沒有 RosettaNet高,但它涵蓋的範(fàn)圍相當(dāng)深遠,號稱涵蓋電子商務(wù)、製造、物流、航太、汽車、醫(yī)藥、零售、能源等32種產(chǎn)業(yè)。以O(shè)AGi 9.0版為例,就涵蓋61種流程情境(scenario definitions,像是訂單管理、應(yīng)收帳款、供應(yīng)鏈整合、銷售管理、客戶服務(wù))與434種商業(yè)文件(BODs, 像是訂貨單、維修單、撿貨單、零件物料清單等,在流程當(dāng)中傳遞的文件)的正規(guī)定義。
表一列出的各項技術(shù)標(biāo)準(zhǔn),是以標(biāo)準(zhǔn)組織為分類依據(jù),我們再以其他觀點來呈現(xiàn)其中幾個重要技術(shù)標(biāo)準(zhǔn),以便讀者能夠更清楚了解這些標(biāo)準(zhǔn)的定位。
| 功能類別 | 功能目的 | 技術(shù)標(biāo)準(zhǔn) |
| 流程查詢 Discovery | 透過查詢機制,取得服務(wù)流程的基本資料 | UDDI LDAP DISCO |
| 產(chǎn)業(yè)間流程互動機制 B2B collaboration | 使同一個特定應(yīng)用產(chǎn)業(yè)的流程具備基礎(chǔ)的參考模型與術(shù)語 | RosettaNet 的PIPs ebXML的CPA OAGIS的BODs EDI,SWIFT |
| 塑模方式與記號 Modeling | 提供標(biāo)準(zhǔn)記號(notation)與塑模技術(shù) | OMG的UML、BPMN |
| 流程定義的語意與格式 Process Definition | 提供結(jié)構(gòu)化的流程定義儲存格式,並且明確解釋每一個流程定義項目所代表的語意 | WfMC的 XPDL、WfXML OASIS的 BPEL,以及ebXML BPSS,ASAP, WS-CAF W3C的WS-CDL |
| 服務(wù)介面描述 Services | 定義結(jié)構(gòu)化的格式,供軟體元件描述它所提供服務(wù)的內(nèi)容與調(diào)用方式 | W3C的WSDL OASIS的ebXML CPP |
| 傳輸介面 Transport | 提供訊息的傳輸機制 | W3C的HTTP/SOAP OASIS的WS-RM |
表二:依功能分類的BPM/工作流程技術(shù)標(biāo)準(zhǔn)一覽表
圖一: WfMC技術(shù)小組提供的工作流程相關(guān)標(biāo)準(zhǔn)堆疊圖,2003年版本
服務(wù)導(dǎo)向的企業(yè)
過去幾十年間,企業(yè)經(jīng)營的焦點隨著市場趨勢而演化,60年代談的是提升量產(chǎn),70年代談的是降低成本,80年代談的是提升品質(zhì),90年代談的是產(chǎn)品推出速度,而跨入21世紀(jì),談的是如何給客戶更多樣的服務(wù)。不管重心怎麼改變,在21世紀(jì)之前,改善的重心仍落在產(chǎn)品實體;直到21世紀(jì),重心已開始從產(chǎn)品延伸到購買產(chǎn)品的顧客,強調(diào)顧客是怎麼樣獲得產(chǎn)品與服務(wù)。
| 年代 | 經(jīng)營管理重心 | 解決方案 | |
| 1960~ | 提升產(chǎn)量 | Quantity: Make more | 自動化生產(chǎn) |
| 1970~ | 成本與價格 | Cost: Make it cheaper | 採購與供應(yīng)鏈 ERP,SCM |
| 1980~ | 產(chǎn)品品質(zhì) | Quality: Make it better | 品管技術(shù) TQM |
| 1990~ | 產(chǎn)品推出速度 | Lead Time: Make it quicker | 產(chǎn)品開發(fā)管理 PLM,PDM |
| 2000~ | 服務(wù)內(nèi)容多樣化 | Service: Offer more | 服務(wù)內(nèi)容與流程 BPM,SOA |
表三:各年代的企業(yè)經(jīng)營管理重心
為了提供多樣化的服務(wù),許多企業(yè)活動將被解構(gòu)後再重組為新的營運模式,而這代表位居幕後支援的IT技術(shù),必須能迅速配合這樣的營運模式改變。也就是說,所有的IT技術(shù)與資訊系統(tǒng),都能夠像變形蟲一樣,隨時解構(gòu)後再重組,在短時間內(nèi)提供新營運模式所需的資訊服務(wù),這包括企業(yè)後臺營運所需的資訊系統(tǒng),以及面對客戶所需的前臺服務(wù)介面。
在十倍速的時代,企業(yè)無法等待。傳統(tǒng)為了新營運模式而大規(guī)模修改 (而非重組) 資訊系統(tǒng)的方式,過於牛步化無法滿足要求。下一節(jié)提到的SOA架構(gòu),替服務(wù)導(dǎo)向的企業(yè),提供了很好的解答。
天生一對的企業(yè)流程管理(BPM)與服務(wù)導(dǎo)向架構(gòu)(SOA)
SOA的IT技術(shù)本質(zhì)單純而不難理解,個別的技術(shù)元素分別理解還算容易。對於SOA,大家聯(lián)想到的就是 Web Services,談到Web Services,我們就直接脫口而出:WSDL、UDDI,以及SOAP,然後就是一系列的WS-* 的技術(shù)標(biāo)準(zhǔn)。對很多人來說,只了解個別技術(shù)單元,並無法領(lǐng)會到SOA世界的美好。就好像只看得到調(diào)色盤的每個顏色,卻看不到美麗動人的畫作。所以,讓我們先把無趣的技術(shù)名詞擺一邊,這無助於我們了解SOA的美好世界。
首先,我們需先認(rèn)識SOA世界裡的企業(yè)流程運作方式,以及SOA的技術(shù)元素可以互相彼此串接而形成豐富的生態(tài);如此,就可知道為什麼BPM與SOA是天生一對 -- SOA 架構(gòu)總存在美妙的答案來滿足BPM變化多端的環(huán)境。
一般來說,真實世界的BPM,具有以下的IT需求特徵:
以上五個特徵,剛好可用來陪同我們探索SOA的技術(shù)世界。
針對特徵一,SOA 技術(shù)架構(gòu)可提供安全的網(wǎng)路傳輸與執(zhí)行環(huán)境。主要技術(shù)有二:一是軟體模組互相通訊時,所需的保密需求,這可由WS-Security來達成。另一個則是組織成員在環(huán)境中的權(quán)限控管方式,這可在SOA架構(gòu)內(nèi),採用LDAP、整合單一帳號登入、PKI架構(gòu)與數(shù)位簽章等機制來配合。
第二個特徵引發(fā)的議題是SOA工作協(xié)調(diào)與應(yīng)用系統(tǒng)整合。傳統(tǒng)應(yīng)用模組在SOA的世界裡,可以採用SOA規(guī)定的服務(wù)介面(Services Interfaces)對外開放模組的功能。應(yīng)用模組之間,透過SOA的服務(wù)介面標(biāo)準(zhǔn)互傳資料,就是最簡單的Web Services應(yīng)用案例。此機制的主要意義在於:所有SOA內(nèi)的應(yīng)用模組,只要提供SOA的標(biāo)準(zhǔn)服務(wù)介面,就可以不受開發(fā)語言限制,互相呼叫或傳遞資料。這裡的服務(wù)介面,講的就是WSDL(Web Service Description Language);而SOAP(Simple Object Access Protocol)則是規(guī)定應(yīng)用模組之間互相呼叫或互傳資料時的封包格式。至於WSDL或SOAP的內(nèi)容與格式應(yīng)該長怎樣,大部分技術(shù)人員可以讓中介軟體或者EAI系統(tǒng)代勞,透過service adaptor 直接把傳統(tǒng)應(yīng)用模組包成 Web Services模組,並不需煩惱內(nèi)容的細節(jié)。
第三個特徵引發(fā)的議題是 SOA的服務(wù)組合彈性與鬆散耦合(loosely couple)的特性。SOA內(nèi)的應(yīng)用模組若要能輕鬆改變組合方式,或者改變執(zhí)行位置,就要藉助SOA的兩個技術(shù)特性:鬆散耦合,以及UDDI(Universal Description, Discovery, and Integration)機制。因為鬆散耦合,所以某一模組抽離或加入系統(tǒng),並不影響其他模組;因為有UDDI機制,所以新應(yīng)用模組加入時,只需跟UDDI伺服器登記新服務(wù)的介面與所在地點,即可被其他應(yīng)用模組搜尋到,並且開始互動。因為有UDDI,所以當(dāng)某項應(yīng)用模組遷離位置,原有使用此應(yīng)用模組的其他模組,可以透過UDDI找到服務(wù)的新位置,然後用新位置連結(jié)即可。這種特性滿足「經(jīng)常需要把服務(wù)節(jié)點拆解再重組」的BPM服務(wù)導(dǎo)向經(jīng)營模式。
第四個特徵談到的是可管理的SOA Web Services。這是系統(tǒng)管理與軟體管理的議題,雖然目前沒有統(tǒng)一的標(biāo)準(zhǔn)來規(guī)範(fàn)管理軟體與被管理模組的行為,但目前稍具知名度的SOA環(huán)境(特別是application server)多半會提供系統(tǒng)管理工具給系統(tǒng)管理員使用,協(xié)助管理SOA架構(gòu)下所有列管模組的安裝、移除、啟動、停用,以及應(yīng)用模組的狀態(tài)監(jiān)控與安全機制。
第五個特徵,談的是SOA 技術(shù)架構(gòu)是模組化又可彈性串接的特性,在原有SOA環(huán)境加入新的技術(shù)模組,即可漸進式提升BPM技術(shù)的成熟度。我們從ZapThink [ ]整理的SOA藍圖中,可以得知達到不同SOA成熟階段所需具備的SOA技術(shù)。舉例來說,假設(shè)SOA有階段實施的計畫,那中間過程可以從「點對點整合」開始,進步到「提供鬆散耦合的服務(wù)」,再來是「穩(wěn)定而可搜尋發(fā)現(xiàn)的服務(wù)」,接著「提供可組裝與再利用的服務(wù)」,進而達到最終目標(biāo)—「全公司的SOA」。當(dāng)然,也可從藍圖中得知,不同SOA階段所能獲得的投資回報(ROI),剛開始只能是「降低應(yīng)用程式的維護成本,達成點對點的整合」,接著是「透過服務(wù)再利用提昇效率」,再來是「提升管理能見度與控制力」,最後才是「改善組織的敏捷度」。
結(jié)語
其實,即使是資深的BPM/SOA規(guī)劃者,想要跟決策主管解釋清楚SOA的博大精深以及其效用,都是很大的挑戰(zhàn)。主要原因在於其中大大小小的技術(shù)條目,以及其相當(dāng)複雜的關(guān)聯(lián)。雖然大家都知道,畫出一張易懂的圖解,勝過千言萬語,然而好圖難求,幸好今年(2005)十月ZapThink公司推出一張令人深刻的SOA藍圖海報。這張嘔心瀝血之作,讓人能從各個構(gòu)面、由入門到進階,逐步探索SOA的世界,而且過目難忘,卻又能夠不失BPM/SOA技術(shù)的深度與完整度,實在非常難得,在此推薦這張海報作為延伸閱讀,也當(dāng)作本文的尾聲。
附註
1. T.H. Davenport and J.E. Short, "The New Industrial Engineering: Information Technology and Business Process Redesign,", Sloan Management Review, pp. 11-2, Summer 1990.
2. Michael Hammer, “Reengineering Work: Don’t Automate, Obliterate ”, Harvard Business Review, Jul 1990.
3. Michael Hammer and James Champy, Reengineering the Corporation : A Manifesto for Business Revolution, Harpercollins, 1st ed.,May 1993.
4. Michael Hammer, Beyond Reengineering : How the Processed-Centered Organization is Changing Our Work and Our Lives, Collins, Sep 1997.
5. Howard Smith and Peter Fingar, Business Process Management: The Third Wave, Meghan-Kiffer Press, 1st edition, Jan 2003.
6. 參閱 Derek Miers, “BPM -- Too much BP, not enough of the M,” WfMC Workflow Handbook 2005, Future Strategies, 2005.
7. Web Services Orchestration,簡單說法:使用流程技術(shù)來描述並控制Web Services的調(diào)用順序,使多個Web Services依序發(fā)生,執(zhí)行事先安排的工作順序。
8. Web Services Choreography,簡單說法:在跨流程的情境中,以Web Services技術(shù),描述流程個體之間的訊息傳遞關(guān)係(多半是網(wǎng)狀結(jié)構(gòu)),以及流程狀態(tài)的控制與查詢方式。
9. 參閱本文「天生一對的BPM與SOA」小節(jié)
10. BPDM的目的在於提供可通用於多種流程塑模方法的中介模型(meta-model),以便不同塑模方法產(chǎn)生的流程定義可以互相轉(zhuǎn)譯。如UML、BPMN,或者其他廠商的專屬表示法,能夠?qū)φ盏酱酥薪槟P?#xff0c;然後互相轉(zhuǎn)譯;或者讓流程定義轉(zhuǎn)譯成底層的可執(zhí)行格式,如BPEL原始碼,乃至於J2EE或 .NET的執(zhí)行碼。 R. Schmelzer and J. Bloomberg, ZapThink's Service-Oriented Architecture Roadmap, URL: http://www.zapthink.com/report.html?id=ZTS-GI103
?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
本文原刊載於:iThome企業(yè)軟體技術(shù)應(yīng)用專刊
作者:華苓科技副總經(jīng)理 楊基載
總結(jié)
以上是生活随笔為你收集整理的BPM 與 SOA的演進與展望(下)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java日期字符串排序_对字符串格式的日
- 下一篇: log4j配置文件详解------自学