SOA(Service-Oriented Architecture),即面向服務架構的縮寫。IBM定義:SOA是一個組件模型,它將應用程序的不同功能單元(稱為服務)通過其間定義良好的接口和契約聯系起來。接口是采用中立的方式進行定義的,它應該獨立于實現服務的硬件平臺、操作系統和編程語言。這使得構建在各種各樣的系統中的服務可以以一種統一和通用的方式進行交互。
SOA是一種粗粒度、松耦合的服務結構,使企業變得更加彈性和靈活性,快速響應業務的需求變更,并具有精確定義的標準化接口。服務的粗粒度是指服務執行了較大的業務功能,并交換了比細粒度更多的數據;服務之間的松耦合是指服務具有中立的接口的特征;標準化接口是指Web服務使應用功能得以通過標準化接口(WSDL)提供,并可基于標準化傳輸方式(HTTP和JMS)、采用標準化協議(SOAP)進行調用。SOA=〈S,P,Re,Rl,O〉,即它包括四種主要實體和操作,其中S表示服務(Service);P表示服務提供方(Service Provider);Re表示服務請求方(Service Requester);Rl表示服務注冊庫(Service Registry);O表示Web服務的操作(web Operation),主要有:發布,查找,綁定。其體系結構如圖所示:
(1)服務(Service):由Web服務描述語言(Web Service Description Language,WSDL)來描述,WSDL把服務抽象地描述為一組包含在面向文檔或面向過程信息的消息上執行操作的端點的集合,多個相關的具體端點結合在一起就構成了服務。
(2)服務提供方(Service Provider):服務提供者是一個可通過網絡尋址的實體,它接受和執行來自使用者的請求。它將己服務的和接口契約發布到服務注冊中心,以便服務使用者可以發現和訪問該服務。
(3)服務請求方(Service Requester):服務使用者是一個應用程序、一個軟件模塊或需要一個服務的另一個服務。它發起對注冊中心中的服務的查詢,通過傳輸綁定服務,并且執行服務功能。服務使用者根據接口契約來執行服務。
(4)服務注冊庫(Service Registry):服務注冊中心是服務發現的支持者。它包含一個可用服務的存儲庫,并允許感興趣的服務使用者查找服務提供者接口。
(5)Web服務的操作(web Operation):是與web服務相關的操作,主要有:發布,查找,綁定,調用。乾元坤和科技編輯。http://www.qykh2009.com/prodetail_12.html
資訊來源:
乾元坤和科技