您好,登錄后才能下訂單哦!
作者:易仔阿克 時間:2014-08-10 標題:到底什么才是面向服務的架構
面向服務的架構大約在2004年左右開始在我國流行,到現在也有十年了。在那時,學校、科研單位、咨詢公司、軟件開發商等都在談論面向服務的架構(Service Oriented Architecture,SOA),異常火爆。當然近幾年來由于云計算、大數據、物聯網等的出現,SOA沒有那么流行了,可是SOA對于組織來說仍然非常重要。那么,到底什么是面向服務的架構呢?
我們還是按照傳統的分析方法,從面向服務架構的字面著手。面向服務的架構中最關鍵的是“服務”,那么什么是服務呢?對服務定義比較難,因為服務的應用很廣,服務可以應用于任何場合,比如我幫你做了件事情,可以說我為你提供了服務,我為公司開發了一個軟件,可以是我為公司提供了一個服務,作為回報,公司為我提供工資和社保,那么可以說公司也為了提供了資金支付服務。可見,服務是一個相互的概念,我為人民服務的同時,人民也為我服務。
分析完了服務,我們再看一下“架構”的概念。架構是為了實現一個特定功能,需要從多個視角系統化的考慮問題,將一個整體分解為多個相互獨立又相互聯系的個體。比如我們想設計一個小區,那么我們要考慮小區內的布局,哪里建房子,哪里建配電室,哪里建自來水站,管道路徑如何,小區綠化怎么考慮等一系列事情,考慮的問題還需要是相互聯系沒有沖突的,比如小區的車庫出入口應當避開行人經常走的道路,以提高行駛安全性,小區的超市應當布置在顯眼的中間地方,以便于居民購物。
分析了“服務”和“架構”,我們再看一看為什么人們會提出面向服務的架構。我想,業界無論提出什么概念,其動因應當是解決現實問題的,這樣提出的概念才有意義。我們看一下面向服務的架構是解決什么問題的。從事信息化工作的朋友也許知道在面向服務的架構之前還有面向對象、面向組件的概念,面向對象是解決軟件的可維護性問題的,軟件設計要反映現實世界需求,這樣更改軟件代碼就方便多了。面向組件是解決復用性問題的,不要一種語言辛辛苦苦寫的程序,其它語言和平臺不能使用,如果軟件成果不受編程語言的限制就能提高軟件開發的效率。
當然,面向對象和面向組件解決的問題還是有限的,組織中有那么多廠商提供的系統,這些系統往往是不同平臺、不同協議實現的,如果它們之間不能互通,企業的軟件資產就不能發揮更大的作用。比如客戶關系管理系統中有客戶和產品數據,如果企業資源計劃系統中想使用,需要采用數據導入導出的方式實現,不但容易出錯,而且效率很低,更談不上實時地服務提供。如果采用面向服務的架構模式,系統之間通過服務來交換數據,系統之間集成的問題就不存在了。道理很簡單,就是系統之間都說普通話,不說方言,彼此自然就能夠互相理解了。
說了這么多,大家對于面向服務架構的來龍去脈應當有個了解了吧~當然,關于面向服務架構的知識還有很多,比如服務可以分為面向任務、面向實體和共有的服務三種類型,服務分為服務注冊方、服務提供方和服務使用方三個參與方,可以通過企業服務總線、WebService實現面向服務的架構等,這些都是具體的操作方式,在明白面向服務架構的原理后解決這些問題都是小case了。(結束)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。