首頁  >  文章  >  後端開發  >  SOA系列之基本概念

SOA系列之基本概念

黄舟
黄舟原創
2017-02-23 10:18:452005瀏覽

  SOA是服務導向架構,服務導向(SO:Service Orientation)代表的是一種設計理念,和物件導向(OO:Object Orientation)、物件導向(CO:Component Orientation)一樣,對關注點進行分解的思想,服務導向是和技術無關的。

  服務導向的體系架構,是一個元件模型,它將應用程式的不同功能單元(稱為服務)透過這些服務之間定義良好的介面和契約連結起來。介面是採用中立的方式進行定義的,它應該獨立於實現服務的硬體平台、作業系統和程式語言。這使得建構在各種這樣的系統中的服務可以以一種統一和通用的方式進行互動。

  這種具有中立的介面定義(沒有強制綁定到特定的實作上)的特徵稱為服務之間的鬆散耦合。松耦合系統的好處有兩點,一點是它的靈活性,另一點是,當組成整個應用程式的每個服務的內部結構和實現逐漸地改變時,它能夠繼續存在。而另一方面,緊密耦合意味著應用程式的不同元件之間的介面與其功能和結構是緊密相連的,因而當需要對部分或整個應用程式進行某種形式的更改時,它們就顯得非常脆弱。

  對鬆耦合的系統的需求來自業務,應用程式需要根據業務的需要變得更加靈活,以適應不斷變化的環境,例如經常改變的政策、業務級別、業務重點、合作夥伴關係、行業地位以及其他與業務有關的因素,這些因素甚至會影響業務的性質。我們稱能夠靈活地適應環境變化的業務為按需(On demand)業務,在按需業務中,一旦需要,就可以對完成或執行任務的方式進行必要的更改。

  則是服務導向架構,它可以根據需求透過網路對鬆散耦合的粗粒度應用元件進行分散部署、組合和使用。服務層是SOA的基礎,可以直接被應用調用,從而有效控制系統中與軟體代理交互的人為依賴性。

  SOA是一種粗粒度、鬆散耦合服務架構,服務之間透過簡單、精確定義介面進行通訊,不涉及底層程式介面和通訊模型。 SOA可以看作是B/S模型、XML(標準通用標記語言的子集)/Web Service技術之後的自然延伸。

  SOA將能夠幫助軟體工程師站在一個新的高度理解企業級架構中的各種元件的開發、部署形式,它將幫助企業系統架構者以更迅速、更可靠、更具重用性架構整個業務系統。較之以往,以SOA架構的系統更能從容地面對業務的急劇變化。

  目前對於SOA其實沒有一個統一的定義,不同人站在不同角度對SOA認識可能有所不同。但是,不管對SOA有著怎樣的分歧,SOA的設計想法還是被大家普遍接受的,下面博客中我會繼續介紹SOA的一些基本特性,希望大家持續關注!

 以上就是SOA系列基本概念的內容,更多相關內容請關注PHP中文網(www.php.cn)!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn