關鍵字:面向服務架構 SOA 原則 Web service已經不再是新婚的娘子。眾多企業都已經創建各種實驗性Web Services 項目,事實證明,這項新興的分布式計算技術確實能夠降低集成和開發的成本。另外,一些關鍵的Web Services標準紛紛制定,強安全(robust security)和管理方面的產品也陸續問世。對于志向遠大的企業來說,他們已經在考慮下一步了。
對大多數公司來說,下一步要考慮的不再是點對點的應用,而是Web services在企業間以及業務伙伴間更為寬廣的應用。這種技術的變遷需要更松散耦合、面向基于標準的服務的架構。這樣一個架構要求對IT在組織中的角色有新的觀點和認識,而不僅僅是一種實現方法。通過對業務的敏捷反應,企業可以得到實實在在的回報,而要達到這一點,面向服務架構設計師的角色非常關鍵。除此之外,潛在的回報更是不可勝數-分布計算技術能夠保證對業務需求足夠靈活的反應,而這種業務上的敏捷正是各公司夢寐以求而目前還遙不可及的。
分布式計算將網絡上分布的軟件資源看作是各種服務。面向服務架構是一種不錯的解決方案。但這種架構不是什么新思想;CORBA和DCOM就很類似,但是,這些過去的面向服務架構都受到一些難題的困擾:首先,它們是緊密耦合的,這就意味著如分布計算連接的兩端都必須遵循同樣API的約束。打比方說,如果一個COM對象的代碼有了更改,那么訪問該對象的代碼也必須作出相應更改。其二,這些面向服務架構受到廠商的約束。Microsoft控制DCOM自不必說,CORBA也只是一個偽裝的標準化努力,事實上,實現一個CORBA架構,經常都是在某個廠商對規范的實現上進行工作。
Web services是在改進DCOM和CORBA缺點上的努力。今天應用Web services的面向服務架構與過去不同的特點就在于它們是基于標準以及松散耦合的。廣泛接受的標準(如XML和SOAP)提供了在各不同廠商解決方案之間的交互性。而松散耦合將分布計算中的參與者隔離開來,交互兩邊某一方的改動并不會影響到另一方。這兩者的結合意味著公司可以實現某些Web services而不用對使用這些Web services的客戶端的知識有任何了解。我們將這種基于標準的、松散耦合的面向服務的架構簡稱為SOA。
SOA的強大和靈活性將給企業帶來巨大的好處。如果某組織將其IT架構抽象出來,將其功能以粗粒度的服務形式表示出來,每種服務都清晰地表示其業務價值,那么,這些服務的顧客(可能在公司內部,也可能是公司的某個業務伙伴)就可以得到這些服務,而不必考慮其后臺實現的具體技術。更進一步,如果顧客能夠發現并綁定可用的服務,那么在這些服務背后的IT系統能夠提供更大的靈活性。
但是,要得到種強大和靈活性,需要有一種實現架構的新方法,這是一項艱巨的任務。企業架構設計師必須要變成“面向服務的架構設計師”,不僅要理解SOA,還要理解SOA的實踐。在架構實踐和最后得到的架構結果之間的區別非常微妙,也非常關鍵。本文將討論SOA的實踐,即:面向架構的設計師在構建SOA時必須要做的事情。
SOA的原則
SOA是一種企業架構,因此,它是從企業的需求開始的。但是,SOA和其它企業架構方法的不同之處在于SOA提供的業務敏捷性。業務敏捷性是指企業對變更快速和有效地進行響應、并且利用變更來得到競爭優勢的能力。對架構設計師來說,創建一個業務敏捷的架構意味著創建這樣一個IT架構,它可以滿足當前還未知的業務需求。
文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/