作者 Thomas Erl譯者 林伯仲 發(fā)布于 2007年6月8日 上午12時(shí)30分
隨著(zhù)SOA漸成IT潮流, 越來(lái)越多的SOA項目啟動(dòng)了。有些項目徹底失敗了,有些項目則勉強成功了。如何吸取這些失敗項目的教訓,并形成自己規劃SOA路線(xiàn)圖所需的遠見(jiàn)與策略,這將是未來(lái)SOA項目成功實(shí)現的關(guān)鍵。在此我們收集了自去年以來(lái)所注意到的SOA實(shí)現八大陷阱,希望能為各位實(shí)現SOA提供借鑒。
在IT市場(chǎng)各領(lǐng)域中很少有像SOA 領(lǐng)域如此變化多端。任何SOA計劃均需考慮市場(chǎng)的現狀和趨勢,以決定現在投資哪些平臺技術(shù),哪些則可以等待。
針對基于Web 服務(wù)的SOA 實(shí)現,有許多產(chǎn)品和平臺技術(shù)可供選擇。由于許多用戶(hù)喜歡評估和選擇不同的技術(shù)實(shí)現路線(xiàn),SOA市場(chǎng)競爭也必將愈演愈烈。從Web服務(wù)的角度來(lái)說(shuō),一個(gè)考慮的技術(shù)市場(chǎng)因素則是產(chǎn)品提供商如何對待現在正處于發(fā)展階段的各種Web 服務(wù)規范。廠(chǎng)商多樣化及其各種平臺與開(kāi)放標技術(shù)的靠攏是SOA 實(shí)現計劃的關(guān)鍵考慮,但這些經(jīng)常被忽視,并導致錯誤的決策與投資。
很多基于Web 服務(wù)的SOA實(shí)現傾向從小項目開(kāi)始,其Web 服務(wù)技術(shù)的應用程度也就往往局限于特定環(huán)境下開(kāi)發(fā)人員及架構師對該技術(shù)框架的了解和掌握程度。一旦Web服務(wù)技術(shù)在占據了IT 架構的主導作用后,對信息安全和共享服務(wù)的訪(fǎng)問(wèn)控制也就提上了日程。Web服務(wù)安全框架建立了一套普遍認可的安全模型,這種模型基于一系列規范并最終成為面向服務(wù)應用及企業(yè)IT架構等各個(gè)層面的重要組成部分。
即使你的平臺供應商未能提供足夠的Web服務(wù)安全支持,甚至你現在基于SSL 的實(shí)現也符合當前需要,我們還是提倡密切關(guān)注潛在的變化與需求。任何缺乏Web服務(wù)安全考慮的計劃必將導致重構甚至二次開(kāi)發(fā)。如果只在急劇增加服務(wù)應用數量后才考慮Web服務(wù)安全問(wèn)題,這種問(wèn)題將顯得更加嚴重。
在采納SOA的過(guò)程中,企業(yè)組織必將面臨如何控制和管理,以及演變不斷增加的服務(wù)應用數量。當一個(gè)企業(yè)加快重用服務(wù)的開(kāi)發(fā)時(shí),并相應迅速增加服務(wù)應用的共享時(shí),這種問(wèn)題將更加突出。SOA治理對企業(yè)組織的許多方面提出挑戰,如資源分配、IT人員的角色、內部標準、流程及項目周期。缺少SOA治理計劃必將造成任何大規模SOA實(shí)現的失敗。
松耦合是需要會(huì )出代價(jià)的。以Web 服務(wù)為基礎的SOA引進(jìn)數據處理的多層結構并由此帶來(lái)了額外的性能開(kāi)銷(xiāo)。當SOA大規模應用時(shí),基于消息的通訊流量相應幾何增長(cháng),此時(shí)性能問(wèn)題必將突顯。因此,任何成功的SOA實(shí)現需要預先正確理解各種IT應用的性能需求及基礎架構性能局限。這意味著(zhù)對消息處理能力的大量測試,密切注意服務(wù)設計,以在各種影響性能的因素之間取得平衡。
XML是基于Web 服務(wù)的SOA 實(shí)現的核心。關(guān)于XML 的規范是Web 服務(wù)規范標準的基礎。許多SOA實(shí)現過(guò)于關(guān)注服務(wù)間的數據轉移,而忽略了對數據結構和效驗的設計。這種忽略必將導致XML數據格式層的不恰當實(shí)現,由其缺陷所帶來(lái)的影響將波及SOA 應用的各個(gè)層面。
缺乏遷移計劃會(huì )大大減少SOA部署的成功機會(huì ),因為許多服務(wù)的部署與設計將導致基礎架構的重新考慮。遷移計劃允許公司組織有控制地階段性實(shí)現SOA,并從技術(shù),架構,及組織層面進(jìn)行計劃。
典型的用SOA遷移計劃包括影響分析(SOA對現有資源、流程、特殊標準及技術(shù)的改變程度等),遷移架構(SOA實(shí)現各階段的架構及其最終目標架構),以及機會(huì )與風(fēng)險分析(考慮Web及相關(guān)技術(shù)的前景與風(fēng)險機會(huì ))。
真正的SOA 實(shí)現需要制定并遵循一套嚴格的內部設計標準。缺乏標準將導致許多問(wèn)題,包括不兼容的數據格式和不規則的服務(wù)接口。一套嚴格的內部標準可以確保封裝后臺邏輯的設計與服務(wù)交互的統一性。
SOA 實(shí)現的首要陷阱是以傳統的分布式架構實(shí)現面向服務(wù)的應用,并認為SOA已經(jīng)實(shí)現了。SOA 不是 CORBA + XML,更不是ASP.NET+WSE。 面向服務(wù)與面向對象不同,面向對象的組件邏輯也遠未能適合面向服務(wù)的應用環(huán)境。SOA是一種完全不同的基于面向服務(wù)的架構模式,一種不同的設計范式。正確理解這些不同之處是實(shí)現SOA的關(guān)鍵所在。
注:本文中的一些概念來(lái)自《ervice-Oriented Architecture: Concepts, Technology, and Design》一書(shū),作者為T(mén)homas Erl,由Prentice Hall/Pearson PTR出版。更多信息,請訪(fǎng)問(wèn)www.soabooks.com。
Thomas Erl(terl@soasystems.com)是SOA領(lǐng)域的暢銷(xiāo)書(shū)作者。他的第一本書(shū)《Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services》,提供了確立SOA架構的戰略指導。第二本書(shū)《Service-Oriented Architecture: Concepts, Technology, and Design》是業(yè)內第一本構建SOA的“How-to”指南,涵蓋了面向服務(wù)分析和設計的上手指南,以及對面向服務(wù)原則的全面概括。
另外Thomas還是SOA Systems公司的創(chuàng )始人,關(guān)注于SOA咨詢(xún)、計劃、培訓服務(wù)等。SOA Systems在SOA領(lǐng)域里的面向服務(wù)研究和對主流SOA方法的發(fā)展都做出了突出的貢獻。更多信息,請瀏覽www.soasystems.com和www.thomaserl.com。
聯(lián)系客服