作者:長風???? 來源:IT168
新技術的興起必然伴隨著一系列技術標準和規范的誕生,SOA也是如此。短短幾年之內,在廠商、研究人員和標準化組織的共同努力下,已經制定出一大批SOA標準和規范,有力地推動了SOA的發展。面對眾多的SOA標準和規范,很多人可能會感到迷茫和疑惑,進而愈發覺得SOA太復雜而高不可攀。其實,只要了解SOA的發展歷程和SOA架構的基本知識,同時對標準的制定、審核和發布機構及工作機制有一定認識和了解,就不難理解這些標準的意義和作用。
????
1. SOA發展回顧 ????SOA的概念最初由Gartner公司提出,由于當時的技術水平和市場環境尚不具備真正實施SOA的條件,因此當時SOA并未引起人們的廣泛關注,SOA在當時沉寂了一段時間。伴隨著互聯網的浪潮,越來越多的企業將業務轉移到互聯網領域,帶動了電子商務的蓬勃發展。為了能夠將公司的業務打包成獨立的、具有很強伸縮性的基于互聯網的服務,人們提出了Web服務的概念,這可以說是SOA的發端。
????Web服務開始流行以后,互聯網迅速出現了大量的基于不同平臺和語言開發的Web服務組件。為了能夠有效地對這些為數眾多的組件進行管理,人們迫切需要找到一種新的面向服務的分布式Web計算架構。該架構要能夠使這些由不同組織開發的Web服務能夠相互學習和交互,保障安全以及兼顧復用性和可管理性。由此,人們重新找回面向服務的架構(Service-Oriented Architecture,SOA),并賦予其時代的特征。需求推動技術進步,正是這種強烈的市場需求,使得SOA再次成為人們關注的焦點?;仡橲OA發展歷程,我們把其大致分為了三個階段。下面將分別介紹每個階段的重要標準和規范。
????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服務拓展到面向服務體系架構的各個方面,包括安全、業務流程和事務處理等。
????
2. 標準與規范????2.1 標準與規范的區別
????大多數人習慣上把“標準”與“規范”這兩個術語交替使用,這樣做基本沒有問題。但嚴格地講,二者還是有一定差異的。規范是標準的建議文檔。這就意味著,標準一般是由業界公認的標準化組織制定和發布。而規范要靈活的多,多為廠商或非標準化組織發布。事實上,很多規范并不是標準,比如SDO和SCA,而是由某些廠商或廠商聯盟制定發布。但是憑借這些廠商強大的市場地位,這些規范往往會成為事實上的標準。
????我們大體上可以把SOA標準分為XML標準集、Web服務標準集和SOA參考模型,下面我將分別介紹,為敘述方便,不再嚴格區分標準和規范,統一稱作標準。
????2.2 XML標準集
????2001年10月,W3C發布了XML信息集(XML Information Set,XML Infoset)。
Infoset是一個抽象的數據模型,它兼容基于文本的XML 1.0,也是所有最新XML規范(XML Schema、XML Query和XSLT 2.0)的基礎。由于Web服務架構是以XML Infoset為基礎,而不是以某一特定的表現形式為基礎,使得該架構及其核心協議組件可與各種編碼技術兼容。
????除了基于純文本的Infoset編碼技術以外,Web服務架構還需要支持另外一種編碼技術——即允許不透明的二進制數據與傳統的基于文本的標記交織在一起。由于XML Infoset僅支持基于文本的XML,W3C于2005年初發布了XML二進制優化封裝協議(XML-binary Optimized Packaging,XOP)。XOP格式使用MIME將原始二進制數據引入到XML 1.0文檔中,而不采用base64編碼。通過其配套規范——SOAP 消息(Transmission Optimization Method,MTOM)實現將二進制XOP格式綁定到SOAP。XOP和MTOM是將原始二進制數據與基于文本的XML混合在一起的首選方法,它們取代了目前普遍遭到反對的SOAP with Attachments(SwA)和WS-Attachments/DIME。
????2.3 Web服務標準集
????經過幾年的努力,Web服務標準集已經初具規模,內容涵蓋傳輸層、消息機制、編程模型、服務發現和描述、可靠性、事務處理、安全和管理等方面。盡管其中部分內容還處于規范級別,但由于受到廣泛的關注和支持,成為正式標準只是時間上的問題。
??????2.4 SOA參考模型
????SOA參考模型由結構化信息標準促進組織制定和發布。事實上,它并不是一個標準,而是SOA架構的一個抽象框架,統一了SOA相關術語用法并且定義了這些術語的涵義,同時還明確定義了SOA各組件之間的關系。SOA架構師或系統設計人員可以根據這個模型指導自己的SOA實踐,下圖說明了SOA參考模型與SOA實踐之間的關系。

從上圖可以看出,參考模型位于抽象級別的頂部,也就是說參考模型提供了SOA實現的抽象基礎。每個SOA架構設計者都要考慮參考架構、模式、模型以及由參考架構派生出的概念架構,審慎思考實際環境(需求、動機和目標等)對實現架構的影響,同時利用已有的標準和協議,這樣就形成了一個比較完整的SOA設計方法論??偠灾?,SOA參考模型使得我們能夠系統地考慮SOA架構的實現,并給出最基本的概念和設計模式。
??
3. 標準化組織對標準的貢獻 ????3.1結構化信息標準促進組織(Organization for the Advancement of Structured Information Standards,OASIS)
????OASIS是一個非贏利的國際協會,致力于電子商務相關標準的制定和推廣,也是目前制定Web服務標準最多的一個組織。除了制定通用的電子商務、Web服務和安全標準之外,OASIS還制定了很多針對行業的電子標準。OASIS理事會成員幾乎全部來自微軟、IBM、BEA system、Oracle、Sun、SAP AG、諾基亞等業界大公司。
????OASIS為SOA專門成立了六個技術委員會(Technical Committees),分別負責制定電子商務、Web Service開發和部署、服務質量以及面向服務架構等方面的標準。
????3.2 開放SOA合作組織(Open SOA Collaboration,OSOA)
????OSOA是一個非正式的廠商聯盟,使得各廠商能夠共同開發一個語言中立的編程模型。該編程模型幫助企業軟件開發人員能夠最大限度的發揮SOA架構的特性和優勢。目前加入OSOA的廠商包括IBM、BEA、SAP、Oracle等。盡管OSOA不是一個標準化組織,但由于有IBM、BEA等業界廠商的支持,它制定的規范很可能會成為事實上的標準。因此,我們可以把它看作一個準標準化組織。OSOA成立了兩個項目組,分別負責制定SCA和SDO規范。
????3.3萬維網聯盟(World Wide Web Consortium,W3C)
????W3C成立于1994年,主要負責制定Web相關標準和規范,比如HTML、CSS等。W3C專門成立了Web服務專區,下轄六個工作組,負責制定Web服務相關的標準。W3C對Web服務的發展可謂功不可沒,像非常著名的SOAP和WSDL皆出自于W3C。
????3.4 Web服務互操作組織(Web Services Interoperability Organization,WS-I)
????WS-I是一個開放的廠商聯盟,鼓勵任何對Web服務有興趣的廠商加盟并貢獻自己的力量。 它主要致力于提升Web服務基于平臺、操作系統和編程語言中立的互操作能力,其成員幾乎覆蓋了所有重量級廠商,如IBM、微軟、Sun、Oracle和BEA等。
????3.5 互聯網工程任務組(Internet Engineering Task Force,IETF)
????The IETF(因特網工程工作小組)是定義標準因特網操作協議(像TCP/IP)的團體,IETF接受國際互聯網協會Internet架構委員會(Internet Architecture Board,IAB)的監督管理。IETF的成員分別來自于互聯網協會的個人或者組織成員。
????
4.廠商之間的博弈 ????誰控制了標準,誰就控制了游戲規則,就能夠在未來的軟件行業立于不敗之地。因此,幾乎當前所有的主要工具供應商和平臺提供商都參與了SOA標準的制定,包括微軟、IBM、BEA、Oracle、Sun、SAP AG、諾基亞、IONA、Xcalia、Zend 、Sonic Software。
????表面上,標準化組織都聲稱自己獨立于任何廠商,強調其獨立性和自主性。但如果觀察這些組織理事會的成員構成,就會發現大部分成員都來自上面提到的業界寡頭,來自歐美發達國家,可以說是“大國俱樂部”和“大廠俱樂部”。
????在參與制定標準的同時,各大廠還開始并購優秀的行業SOA解決方案提供商,積累針對特定行業標準的實施經驗,以期獲取競爭優勢。2006年8月,IBM宣布成功收購了一家專門提供面向行業的 SOA軟件與服務的私有企業——Webify解決方案公司。Webify公司專注于提供幫助企業加速開發和部署應用的軟件產品,以及數以百計的針對特定行業的基于標準的預置加速器、工具和框架,用于解決特定行業的業務問題,如幫助醫療保健行業符合《健康保險便攜性及責任性法案》(HIPAA)的要求、幫助保險行業滿足《國際保險業數據標準》(ACORD)等。此次收購將進一步增強IBM在SOA領域的領導地位。 Webify在語義方面的專業技術與IBM在開放標準開發利用豐富經驗的結合,能夠更好地解決特定垂直行業的常見業務問題。
????
5.標準的發展趨勢 ????2007年將有三個重量級的標準問世,它們目前都屬于規范級別。它們就是SCA、SDO、WS-Policy。SCA和SDO構成了SOA組件開發的核心,而WS-Policy則成為SOA組件間安全通訊的標準,其作用類似于安全套接層在瀏覽器與服務器通訊中的重用。事實上,WS-Policy的基本原理與SSL是一致的。
????今后標準開發將具有一個共同的特點,就是標準與SOA架構的協調性。也就是說,無論是已有的標準還是正在開發的標準,都必須符合SOA架構的要求,同時要考慮單個標準與其它SOA標準之間的協調一致。
????2007年將會有許多SOA的規范升級為標準。SCA和SDO計劃于2007年由OASIS審核通過,而WS-Policy也將于2007年8月正式成為W3C標準。
????基于市場的強勁需求,各標準化組織將繼續加大在制定SOA相關標準上的投入力度,標準的制定和發布周期將大大縮短。比如對WS-Policy,W3C制定了精密的時間表。目前WS-Policy的發布時間表是這樣安排的,2007年3月發布候選推薦版本(Candidate Recommendation drafts),2007年7月發布提議推薦版本(Proposed Recommendation drafts),2007年8月發布W3C推薦版本(W3C Recommendations)。W3C歷來以嚴謹和審慎著稱,發布一個標準平均需要3至5年的時間。但就WS-Policy而言,從2006年4月 IBM和微軟公司將WS-Policy規范提交給W3C算起,按照目前的時間表,整個標準發布周期僅為16個月。
jwebee
我的個人網站
posted on 2007-02-25 09:31
周行 閱讀(175)
評論(0) 編輯 收藏 所屬分類:
IT技術