SOA的英文全程為"Service Oriented Architecture",面向服務的架構!
SOA的本質是一種思想。SOA超越了所有的具體技術,也超越了所有的具體的架構,同時也包含這些具體的架構和技術。
理解SOA,關鍵是要理解里面的“S”,既Service服務。服務可以說是一種既超越具體技術,又包含具體的實現技術的業務功能。
SOA是以為服務為導向的架構,也可以理解為“以獨立于具體技術為導向的架構”。
SOA和WebService的區別在于:SOA是在WebService的基礎上發展起來的;而WebService實現了松散耦合的服務和粗粒度的服務。
SOA的3個基本要素:
一、松散耦合
松散耦合是指相互之間不依賴,它是針對目前緊密耦合的應用系統所提出的一個概念,包含3個方面的
內涵。
1、服務之間的松散耦合
指不同的服務的功能不要互相依賴,一個服務應該能夠自己實現所提供的接口功能。
2、接口和實現之間的松散耦合
3、業務組建和傳輸協議之間的松散耦合
二、粗粒度
“粗粒度”的意義就是說SOA中服務的接口應該比實現面向對象的編程的API要大一些,需更接近用戶
的實際操作。
三、位置和傳輸協議透明
位置和傳輸協議透明是SOA最根本的區別于面向組建編程的地方。
位置的透明是指不論服務組建的實際位置URL如何變化,客戶端的調用程序的URL都不需要改變。
傳輸協議的透明是指不管服務組建的協議如何變化,客戶端的調用程序的傳輸協議都不需要改變。
實際上,在傳輸協議和客戶端之間增加了一個服務總線,由服務總線來實現連接。
posted on 2008-06-21 21:50
南山隱士 閱讀(382)
評論(0) 編輯 收藏