面向服務架構SOA

  面向服務的體系結構(Service-Oriented Architecture,SOA)是一個組件模型。它將應用程序的不一樣功能單元(稱爲服務)經過這些服務之間定義良好的接口和契約聯繫起來;接口是採用中立的方式進行定義的,它應該獨立於實現服務的硬件平臺、操做系統和 編程語言;構建在各類這樣的系統中的服務能夠一種統一和通用的方式進行交互。web

       Web service平臺是一套標準,它定義了應用程序如何在Web上實現互操做性。你能夠用任何你喜歡的語言,在任何你喜歡的平臺上寫Web service ,只要咱們能夠經過Web service標準對這些服務進行查詢和訪問。 Web service是技術規範,SOA是設計原則。從本質上講,SOA是一種架構模式,而web service是利用一組標準實現的服務。Web service是實現SOA的方式之一。用web service實SOA的好處是:能夠實現一箇中立平臺,來獲取服務,獲取更好的通用性。Web Services的目標是即時裝配、鬆散耦合以及自動集成。編程

       爲何要使用SOA?傳統的架構,軟件包是被編寫爲獨立的(self-contained)軟件,即在一個完整的軟件包中將許多應用程序功能整合在一塊兒。實現整合應用程序功能的代碼一般與功能自己的代碼混合在一塊兒。咱們將這種方式稱做軟件設計「單一應用程序「。與此密切相關的是,更改一部分代碼將對使用該代碼的代碼具備重大影響,這會形成系統的複雜性,並增長維護系統的成本。並且還使從新使用應用程序功能變得較困難,由於這些功能不是爲了從新使用而打的包。缺點:代碼冗餘、不能重用、緊耦合、成本高。架構

       SOA旨在將單個應用程序功能彼此分開,以便這些功能能夠單獨用做單個的應用程序功能或「組件」。這些組件能夠用於在企業內部建立各類其餘的應用程序,或者若有須要,對外向合做夥伴公開,以便用於合做夥伴的應用程序。 SOA優勢:代碼重用、鬆耦合、平臺獨立、語言無關。編程語言

       SOA架構中有三種角色:服務提供者:發佈本身的服務,而且對服務請求進行響應。服務註冊中心:註冊已經發布的web service,對其進行分類,並提供搜索服務。服務請求者:利用服務中心查找所須要的服務,而後使用該服務。操作系統

       SOA的三種操做:發佈操做:爲了使服務可訪問,須要發佈服務描述以使服務使用者能夠發現它。查找操做:服務請求者定位服務,方法是查詢服務註冊中心來找到知足其標準的服務。綁定操做:在檢索到服務描述以後,服務使用者繼續根據服務描述中的信息來調用服務。設計

相關文章
相關標籤/搜索