soa思想存在的不足

作爲一個具有發展前景的應用系統架構,SOA尚處在不斷的發展中,肯定存在許多有待改進的地方。Stencil Group諮詢公司的Brent Sleeper 在《The five missing pieces of SOA》中列舉了SOA在可靠性、安全性、編制、遺留系統支持和語義方面還存在嚴重不足。 缺憾之一 : 可靠性(Reliability) SOA還沒有完全爲事務的最高可靠性——不可否認性(nonrepudiation)、消息一定會被傳送且僅傳送一次(once-and-only-once delivery)以及事務撤回(rollback)——做好預備,不過等標準和實施技術成熟到可以滿足這一需求的程度並不遙遠。 缺憾之二 : 安全性(Security) 在過去,訪問控制只需要登錄和驗證;而在SOA環境中,由於一個應用軟件的組件很輕易去跟屬於不同域的其他組件進行對話,所以確保迥然不同又相互連接的系統之間的安全性就複雜得多了。 缺憾之三 : 編排 (Orchestration) 統一協調分佈式軟件組件以便構建有意義的業務流程是最複雜的,但它同時也最適合面向服務類型的集成,原因很顯然,建立在SOA上面的應用軟件可以被設計成可以按需要拆散、重新組裝的服務。作爲目前業務流程治理(BPM)解決方案的核心,編排功能使IT治理人員能夠通過已經部署的套裝或自己開發的應用軟件的功能,把新的元應用軟件(meta-application)連接起來。 事實上,最大的難題不是建立模塊化的應用軟件,而是改變這些系統表示所處理數據的方法。 缺憾之四 :遺留系統處理(Legacy support) SOA中提供集成遺留系統的適配器, 遺留應用適配器屏蔽了許多專用性API的複雜性和晦澀性。一個設計良好的適配器的作用好比是一個設計良好的SOA服務:它提供了一個抽象層,把應用基礎設施的其餘部分與各種棘手問題隔離開來。一些廠商就專門把遺留應用軟件“語義集成”到基於xml的集成構架中。 但是集成遺留系統的工作始終是一個挑戰。 缺憾之五 : 語義 Semantics

定義事務和數據的業務含義,一直是IT治理人員面臨的最棘手問題。語義關係是設計良好SOA架構的核心要素。 就目前而言,沒有哪一項技術或軟件產品能夠真正解決語義問題。爲針對特定行業和功能的流程定義並實施功能和數據模型是一項繁重的任務,它最終必須由業務和IT治理人員共同承擔。不過,預製組件和經過實踐證實的諮詢技能可以簡化許多難題。採用XML技術也許是一個不錯的主意。許多公司越來越熟悉到制定本行業XML標準的重要性。譬如,會計行業已提議用可擴展業務報告語言(XBRL)來描述及審查總賬類型的記錄。重要的是學會如何以服務來表示基本的業務流程。改變開發方式需要文化變遷,相比之下,解決技術難題只是一種智力操練。 性能(performance):SOA的第六個缺憾? 批評SOA的人士經常會提到性能是阻礙其採用的一個障礙,但技術的標準化總需要在速度方面有一些犧牲。這種懷疑觀點通常針對兩個方面:SOA的分佈性質和Web服務協議的開銷。 不可否認,任何分佈式系統的執行速度都不如獨立式系統,這完全是因爲網絡的制約作用造成的。當然,有些應用軟件無法容忍網絡引起的延遲,例如那些對實時性要求很高的應用軟件,所以在應用SOA架構之前,搞清楚它的適用範圍就顯得很重要了。 除了上述幾點之外,筆者認爲還有兩點也頗值得關注:鬆耦合和靈敏性要求之間的權衡難題:服務鬆耦合設計其實是一把雙刃劍,在帶來應變靈敏性的同時,也給業務建模和服務劃分帶來難題。這就是爲什麼在SOA討論中,業務建模的爭論總是最多。跨系統集成難題:面向服務的體系結構(SOA)設計將跨越計算機系統,並且還可能跨越企業邊界。我們不得不考慮在使用 Internet 時安全性功能和需求以及如何鏈接夥伴的安全域。Internet 協議並不是爲可靠性(有保證的提交和提交的順序)而設計,但是我們需要確保消息被提交併被處理一次。當這不可能時,請求者必須知道請求並沒有被處理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章