摘要:
1. SOA發展回顧
SOA的概念最初由Gartner公司提出,由于當時的技術水平和市場環境尚不具備真正實施SOA的條件,因此當時SOA并未引起人們的廣泛關注,SOA在當時沉寂了一段時間。伴隨著互聯網的浪潮,越來越多的企業將業務轉移到互聯網領域,帶動了電子商務的蓬勃發展。為了能夠將公司的業務打包成獨立的、具有很強伸縮性的基于互聯網的服務,人們提出了Web服務的概念,這可以說是SOA的發端。
Web服務開始流行以后,互聯網迅速出現了大量的基于不同平臺和語言開發的Web服務組件。為了能夠有效地對這些為數眾多的組件進行治理,人們迫切需要找到一種新的面向服務的分布式Web計算架構。該架構要能夠使這些由不同組織開發的Web服務能夠相互學習和交互,保障安全以及兼顧復用性和可治理性。由此,人們重新找回面向服務的架構(Service-Oriented Architecture,SOA),并賦予其時代的特征。需求推動技術進步,正是這種強烈的市場需求,使得SOA再次成為人們關注的焦點。回顧SOA發展歷程,我們把其大致分為了三個階段。下面將分別介紹每個階段的重要標準和規范。
1.1 孕育階段
這一階段以xml技術為標志,時間大致從上世紀九十年代末到本世紀初。雖然這段時期很少提到SOA,但XML的出現無疑為SOA的興起奠定了穩固的基石。
可擴展標記語言(Extensibl Markup Language,XML)系W3C所創建,源自流行的標準通用標記語言(Standard Generalised Markup Language,SGML),它在上世紀60年代后期就已存在。這種廣泛使用的元語言,答應組織定義文檔的元數據,實現企業內部和企業之間的電子數據交換。由于SGML比較復雜,實施成本很高,因此很長時間里只用于大公司之間,限制了它的推廣和普及。
通過XML,開發人員擺脫了Html語言的限制,可以將任何文檔轉換成XML格式,然后跨越互聯網協議傳輸。借助XML轉換語言(Extensible Stylesheet Language Transformation,XSLT),接受方可以很輕易地解析和抽取XML的數據。這使得企業既能夠將數據能夠以一種統一的格式描述和交換,同時又不必負擔SGML那樣高的成本。事實上,XML實施成本幾乎和HTML一樣。
XML是SOA的基石。XML規定了服務之間以及服務內部數據交換的格式和結構。XSD Schemas 保障了消息數據的完整性和有效性,而XSLT使得不同的數據表達能溝通過Schema映射而互相通信。
1.2 發軔之初
2000年以后,人們普遍熟悉到基于公共——專有互聯網之上的電子商務具有極大的發展潛力,因此需要創建一套全新的基于互聯網的開放通信框架,以滿足企業對電子商務中各分立系統之間通信的要求。于是,人們提出了Web服務的概念,希望通過將企業對外服務封裝為基于統一標準的Web服務,實現異構系統之間的簡單交互。這一時期,出現了三個聞名的Web服務標準和規范:
? 簡單對象訪問協議(Simple Object access PRotocal,SOAP)
? Web服務描述語言(Web Services Description Language,WSDL)
? 通用服務發現和集成協議(Universal Discovery Description and Integration,UUDI)
這三個標準可謂Web服務三劍客,極大地推動了Web服務的普及和發展。短短幾年之間,互聯網上出現了大量的Web服務,越來越多的網站和公司將其對外服務或業務接口封裝成Web服務,有力地推動了電子商務和互聯網的發展。Web服務也是互聯網Web 2.0時代的一項重要特征。
1.3 成長階段
從2005年開始,SOA推廣和普及工作開始加速。不僅專家學者,幾乎所有關心軟件
行業發展的人士都開始把目光投向SOA。一時間,SOA頻頻出現在各種技術媒體、新產品發布會和技術交流會上。
各大廠商也逐漸放棄成見,通過建立廠商間的協作組織共同努力制定中立的SOA標準。這一努力最重要的成果體現在3個重量級規范上:SCA/SDO/WS-Policy。SCA和SDO構成了SOA編程模型的基礎,而WS-Policy建立了SOA組件之間安全交互的規范。這三個規范的發布,標志著SOA進入了實施階段。
從整體架構角度看,人們已經把關注點從簡單的Web服務拓展到面向服務體系架構的各個方面,包括安全、業務流程和事務處理等。
新聞熱點
疑難解答