【正文】
:所有SOA內(nèi)的應(yīng)用模塊,只要提供SOA的標(biāo)準(zhǔn)服務(wù)界面,就可以不受開發(fā)語言限制,互相調(diào)用或傳遞資料。這里的服務(wù)界面,講的就是WSDL(Web Service Description Language);而SOAP(Simple Object Access Protocol)則是規(guī)定應(yīng)用模塊之間互相調(diào)用或互傳資料時的封包格式。至于WSDL或SOAP的內(nèi)容與格式應(yīng)該長怎樣,大部分技術(shù)人員可以讓中介軟件或者EAI系統(tǒng)代勞,透過service adaptor 直接把常規(guī)應(yīng)用模塊包成 Web Services模塊,并不需煩惱內(nèi)容的細(xì)節(jié)。第三個特征引發(fā)的議題是 SOA的服務(wù)組合彈性與松散耦合(loosely couple)的特性。SOA內(nèi)的應(yīng)用模塊若要能輕松改變組合方式,或者改變運行位置,就要藉助SOA的兩個技術(shù)特性:松散耦合,以及UDDI(Universal Description, Discovery, and Integration)機制。因為松散耦合,所以某一模塊抽離或添加系統(tǒng),并不影響其他模塊;因為有UDDI機制,所以新應(yīng)用模塊添加時,只需跟UDDI服務(wù)器登記新服務(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)管理與軟件管理的議題,雖然當(dāng)前沒有統(tǒng)一的標(biāo)準(zhǔn)來規(guī)范管理軟件與被管理模塊的行為,但當(dāng)前稍具知名度的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ù)模塊,即可漸進(jìn)式提升BPM技術(shù)的成熟度。我們從ZapThink [ ]整理的SOA藍(lán)圖中,可以得知達(dá)到不同SOA成熟階段所需具備的SOA技術(shù)。舉例來說,假設(shè)SOA有階段實施的計畫,那中間過程可以從「點對點集成」開始,進(jìn)步到「提供松散耦合的服務(wù)」,再來是「穩(wěn)定而可搜尋發(fā)現(xiàn)的服務(wù)」,接著「提供可組裝與再利用的服務(wù)」,進(jìn)而達(dá)到最終目標(biāo)-「全公司的SOA」。當(dāng)然,也可從藍(lán)圖中得知,不同SOA階段所能獲得的投資回報(ROI),剛開始只能是「降低應(yīng)用程序的維護(hù)成本,達(dá)成點對點的集成」,接著是「透過服務(wù)再利用提升效率」,再來是「提升管理能見度與控制力」,最后才是「改善組織的敏捷度」。結(jié)語其實,即使是資深的BPM/SOA規(guī)劃者,想要跟決策主管解釋清楚SOA的博大精深以及其效用,都是很大的挑戰(zhàn)。主要原因在于其中大大小小的技術(shù)條目,以及其相當(dāng)復(fù)雜的關(guān)聯(lián)。雖然大家都知道,畫出一張易懂的圖解,勝過千言萬語,然而好圖難求,幸好今年(2005)十月ZapThink公司推出一張令人深刻的SOA藍(lán)圖海報。這張嘔心瀝血之作,讓人能從各個構(gòu)面、由入門到高級,逐步探索SOA的世界,而且過目難忘,卻又能夠不失BPM/SOA技術(shù)的深度與完整度,實在非常難得,在此推薦這張海報作為延伸閱讀,也當(dāng)作本文的尾聲。附注1. . Davenport and . Short, The New Industrial Engineering: Information Technology and Business Process Redesign, Sloan Management Review, pp. 112, 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 ProcessedCentered Organization is Changing Our Work and Our Lives, Collins, Sep 1997. 5. Howard Smith and Peter Fingar, Business Process Management: The Third Wave, MeghanKiffer 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)用順序,使多個?eb Services依序發(fā)生,運行事先安排的工作順序。 8. Web Services Choreography,簡單說法:在跨流程的情境中,以Web Services技術(shù),描述流程個體之間的消息傳遞關(guān)系(多半是網(wǎng)狀結(jié)構(gòu)),以及流程狀態(tài)的控制與查詢方式。 9. 參閱本文「天生一對的BPM與SOA」小節(jié) 10. BPDM的目的在于提供可通用于多種流程塑模方法的中介模型(metamodel),以便不同塑模方法生成的流程定義可以互相轉(zhuǎn)譯。如UML、BPMN,或者其他廠商的專屬表示法,能夠?qū)φ盏酱酥薪槟P停缓蠡ハ噢D(zhuǎn)譯;或者讓流程定義轉(zhuǎn)譯成底層的可運行格式,如BPEL原始碼,乃至于J2EE或 .NET的運行碼。 R. Schmelzer and J. Bloomberg, ZapThink39。s ServiceOriented Architecture Roadmap, URL: 11 / 11