SOA實現八大陷阱

2021-04-13 03:09:10 字數 2343 閱讀 9781

作者thomas erl譯者林伯仲發布於 2023年6月8日 上午12時30分

社群

soa主題

故事和案例分析, 架構

隨著soa漸成it潮流, 越來越多的soa專案啟動了。有些專案徹底失敗了,有些專案則勉強成功了。如何吸取這些失敗專案的教訓,並形成自己規劃soa路線圖所需的遠見與策略,這將是未來soa專案成功實現的關鍵。在此我們收集了自去年以來所注意到的soa實現八大陷阱,希望能為各位實現soa提供借鑑。

在it市場各領域中很少有像soa 領域如此變化多端。任何soa計畫均需考慮市場的現狀和趨勢,以決定現在投資哪些平台技術,哪些則可以等待。

針對基於web 服務的soa 實現,有許多產品和平台技術可供選擇。由於許多使用者喜歡評估和選擇不同的技術實現路線,soa市場競爭也必將愈演愈烈。從web服務的角度來說,乙個考慮的技術市場因素則是產品提供商如何對待現在正處於發展階段的各種web 服務規範。廠商多樣化及其各種平台與開放標技術的靠攏是soa 實現計畫的關鍵考慮,但這些經常被忽視,並導致錯誤的決策與投資。

很多基於web 服務的soa實現傾向從小專案開始,其web 服務技術的應用程度也就往往侷限於特定環境下開發人員及架構師對該技術框架的了解和掌握程度。一旦web服務技術在佔據了it 架構的主導作用後,對資訊保安和共享服務的訪問控制也就提上了日程。web服務安全框架建立了一套普遍認可的安全模型,這種模型基於一系列規範並最終成為面向服務應用及企業it架構等各個層面的重要組成部分。

即使你的平台**商未能提供足夠的web服務安全支援,甚至你現在基於ssl 的實現也符合當前需要,我們還是提倡密切關注潛在的變化與需求。任何缺乏web服務安全考慮的計畫必將導致重構甚至二次開發。如果只在急劇增加服務應用數量後才考慮web服務安全問題,這種問題將顯得更加嚴重。

在採納soa的過程中,企業組織必將面臨如何控制和管理,以及演變不斷增加的服務應用數量。當乙個企業加快重用服務的開發時,並相應迅速增加服務應用的共享時,這種問題將更加突出。soa治理對企業組織的許多方面提出挑戰,如資源分配、it人員的角色、內部標準、流程及專案週期。缺少soa治理計畫必將造成任何大規模soa實現的失敗。

松耦合是需要付出代價的。以web 服務為基礎的soa引進資料處理的多層結構並由此帶來了額外的效能開銷。當soa大規模應用時,基於訊息的通訊流量相應幾何增長,此時效能問題必將突顯。因此,任何成功的soa實現需要預先正確理解各種it應用的效能需求及基礎架構效能侷限。這意味著對訊息處理能力的大量測試,密切注意服務設計,以在各種影響效能的因素之間取得平衡。

xml是基於web 服務的soa 實現的核心。關於xml 的規範是web 服務規範標準的基礎。許多soa實現過於關注服務間的資料轉移,而忽略了對資料結構和效驗的設計。這種忽略必將導致xml資料格式層的不恰當實現,由其缺陷所帶來的影響將波及soa 應用的各個層面。

缺乏遷移計畫會大大減少soa部署的成功機會,因為許多服務的部署與設計將導致基礎架構的重新考慮。遷移計畫允許公司組織有控制地階段性實現soa,並從技術,架構,及組織層面進行計畫。

典型的用soa遷移計畫包括影響分析(soa對現有資源、流程、特殊標準及技術的改變程度等),遷移架構(soa實現各階段的架構及其最終目標架構),以及機會與風險分析(考慮web及相關技術的前景與風險機會)。

真正的soa 實現需要制定並遵循一套嚴格的內部設計標準。缺乏標準將導致許多問題,包括不相容的資料格式和不規則的服務介面。一套嚴格的內部標準可以確保封裝後台邏輯的設計與服務互動的統一性。

soa 實現的首要陷阱是以傳統的分布式架構實現面向服務的應用,並認為soa已經實現了。soa 不是 corba + xml,更不是asp.net+wse。 面向服務與物件導向不同,物件導向的元件邏輯也遠未能適合面向服務的應用環境。soa是一種完全不同的基於面向服務的架構模式,一種不同的設計正規化。正確理解這些不同之處是實現soa的關鍵所在。

thomas erl([email protected])是soa領域的暢銷書作者。他的第一本書《service-oriented architecture: a field guide to integrating xml and web services》,提供了確立soa架構的戰略指導。第二本書《service-oriented architecture: concepts, technology, and design》是業內第一本構建soa的「how-to」指南,涵蓋了面向服務分析和設計的上手指南,以及對面向服務原則的全面概括。

另外thomas還是soa systems公司的創始人,關注於soa諮詢、計畫、培訓服務等。soa systems在soa領域裡的面向服務研究和對主流soa方法的發展都做出了突出的貢獻。更多資訊,www.soasystems.com和www.thomaserl.com。

檢視英文原文:top 8 soa adoption pitfalls

SOA實現八大陷阱

作者thomas erl譯者林伯仲發布於 2007年6月8日 上午12時30分 社群 soa主題 故事和案例分析 隨著soa漸成it潮流,越來越多的soa專案啟動了。有些專案徹底失敗了,有些專案則勉強成功了。如何吸取這些失敗專案的教訓,並形成自己規劃soa路線圖所需的遠見與策略,這將是未來soa專案...

PHP實現八大演算法

交換函式 注意要按引用傳遞,否則無法真正交換兩個數的值 function exchange a,b 1 直接插入演算法 第一種實現 function insert sort arr return arr 第二種實現 function insert sort arr j return arr 2 希爾...

八大演算法思想

下面介紹一下最常用的八大演算法思想 一 比較 笨 的列舉演算法 基本思路 1 確定列舉物件 列舉範圍和判定條件 2 注意列舉可能的解,驗證每個節是否是問題的解 列舉演算法步驟 1 題解的可能範圍,補能遺漏任何乙個真正解,也要避免有重複 2 判斷是否真正解的方法 3 使可能解的範圍降至最小,以便提高解...