SOA的理解

通過對web services的學習,得到一些對SOA的理解。

SOA是軟件面向服務的構架體系,web services是一個典型實例。SOA是面向服務的,它關心不是服務的程序實現,而是服務的通信和協作。

SOA有三大要素:服務提供者,服務註冊中心,服務使用者。一個服務在系統的部署訪問過程:當服務的提供者有個能夠提供某些功能的程序,想對外提供服務時,實現根據提供服務的平臺,寫好或由他自己對程序生成該程序的部署文檔(例如:web services中。Wsdd文件)。通過部署文檔把程序部署到服務平臺上,服務提供者根據統一服務描述語言(例:wsdl)對服務生成服務描述文檔,於是就形成了一個服務。在系統中,或網絡中,甚至是Internet,爲了管理很多服務,便於對這些服務的訪問和服務協調使用,採用服務註冊機制,系統創建服務註冊中心,對用戶按權限提供包括服務的更新,註銷,註冊,查詢等多種等功能。服務提供者可以用服務描述文檔把服務發佈到服務註冊中心上。服務使用者根據服務名到服務註冊中心上查詢服務,獲得服務入口。即SWDL文檔地址,獲取WSDL文檔,找到服務地址,調用服務方法,與服務進行通信(通常採用跨平臺的通信協議)。

 SOA的實質是爲系統或網絡提供軟件間協作訪問和向各種用戶提供各種服務。這樣它爲軟件的部署提供構架。它不同於傳統的系統構架方式,它構架的系統是鬆散耦合,粗粒度的,而且通信的方式是使用通用的協議(例如SOAP)和通用的數據格式(例如XML)。在SOA中服務和構件框架的下的構件有相同之處,但構件是屬於系統爲構件門面提供後臺服務,它是一個沒有進一步作爲服務來部署和發佈的程序,特點在於系統的構架層次,業務清晰,軟件的重用性好;而服務則是邏輯更高層次的表示,它的特點系統的分佈,鬆散,服務應用的通用性和移植性。

發佈了76 篇原創文章 · 獲贊 2 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章