為Web服務(wù)打基礎(chǔ)
2024-07-21 02:21:54
供稿:網(wǎng)友
隨著微軟公司最終發(fā)布了 visual studio .net和.net框架,眾多的it公司也紛紛開始重新構(gòu)筑其產(chǎn)品體系以支持web服務(wù)
。雖然ibm、微軟和sun以及其他w3c的會員企業(yè)都已經(jīng)著手制定了大量的技術(shù)規(guī)范來定義和設(shè)計web服務(wù)環(huán)境(包括soap和xml等),不過,為了讓web服務(wù)成為跨應(yīng)用間通信、基于internet的可行平臺,人們還需要做大量的工作。
出于對web服務(wù)這一新技術(shù)體系在可靠性和安全性方面的考慮,許多公司的cio們都還不能確定目前是否是開始部署依賴于web服務(wù)的系統(tǒng)的時機。既然標準已經(jīng)在開發(fā)和制定過程中,cio們至少應(yīng)在相應(yīng)的問題可以得到更容易管理的情況下才能開發(fā)內(nèi)部系統(tǒng),與此同時他們還需要等待有關(guān)機構(gòu)公開發(fā)布最終通過的技術(shù)標準。一旦技術(shù)標準被負責機構(gòu)通過,在防火墻之外建立可互相操作的系統(tǒng)就會簡單多了。
ibm和微軟等公司圍繞web服務(wù)技術(shù)設(shè)計和編寫了大量的技術(shù)草案并提交給w3c成為最新的web服務(wù)提案,到目前為止,新的草案—ws-inspection、ws-referral、ws-routing、ws-security以及 ws-licensing等都已經(jīng)提交w3c討論。下面就讓我們討論一下web服務(wù)體系還需要完成的部分,以及這些規(guī)范是如何解決這些問題的。
直接發(fā)現(xiàn)服務(wù)
現(xiàn)有的通用描述、發(fā)現(xiàn)和集成(uddi:universal description, discovery, and integration)標準對在web服務(wù)地點未知情況下發(fā)現(xiàn)和使用web服務(wù)進行了說明。uddi的工作方式很像是電話薄的黃頁廣告目錄,它可以讓應(yīng)用程序發(fā)現(xiàn)和聯(lián)系提供給定web服務(wù)的服務(wù)器。但是,在大多數(shù)情況下,web服務(wù)的地點都是已知的,一開始就采用uddi來查找服務(wù)地址從效率上看是比較低下的。所以說,像uddi這種用于發(fā)現(xiàn)服務(wù)的中央存儲庫對那些想對外提供服務(wù)的服務(wù)發(fā)布者可能很有用,但對那些想連接這些服務(wù)的消費者而言,其效率卻并不令人滿意。
在另一方面,ws-inspection則依靠一種完全意義上的分布模式來提供和服務(wù)有關(guān)的信息。服務(wù)描述存在于服務(wù)交付點,而獲取這些信息的請求則直接導(dǎo)引給提供服務(wù)的站點。ws-inspection采用xml格式,可以幫助申請web服務(wù)的主叫(calling)應(yīng)用程序查詢暴露其可用服務(wù)的已知站點。它定義了一套規(guī)則專門規(guī)定站點應(yīng)該如何給提出請求的主叫方暴露其有關(guān)的檢查信息。ws-inspection文檔還提供了多種方法用于匯集先前存在的服務(wù)文檔的索引,而不論它們所采取的原有格式。按照該標準,查詢之后返回的服務(wù)信息采用既有的標準,比如wsdl(web服務(wù)描述語言:web service description language)等。這些標準允許主叫系統(tǒng)在不對信息進行任何修改的情況下就可以直接采用返回的web服務(wù)信息。
建立可靠的系統(tǒng)
soap協(xié)議的最初實現(xiàn)很簡單,不過就是一種一個系統(tǒng)對另一個系統(tǒng)的單向調(diào)用
。ws-referral和ws-routing規(guī)范提供了幫助系統(tǒng)設(shè)計人員建立更穩(wěn)固系統(tǒng)的核心技術(shù)。以上兩種規(guī)范協(xié)同作用,共同定義了soap路由器這一概念,有了soap路由器,系統(tǒng)設(shè)計人員和系統(tǒng)開發(fā)人員就可以用其開發(fā)負載均衡、鏡像和客戶認證等多種web服務(wù)。比方說,有一種web服務(wù)可以把自己的部分處理任務(wù)轉(zhuǎn)交給第3方服務(wù),其結(jié)果可以返回給該服務(wù)的原來用戶而用戶卻并不知道內(nèi)部發(fā)生的這一切。
ws-referral規(guī)范定義了soap路由器在多個服務(wù)點之間建立消息途徑的方式,而ws-routing則定義了說明消息途徑的方式。ws-routing還增加了定義反向消息途徑的能力,結(jié)果促使通信系統(tǒng)可以啟用雙向消息交換模式,比如請求/響應(yīng)、對等會話并且返回消息確認和錯誤等。這些舉措大大增加了建立在soap平臺基礎(chǔ)之上的系統(tǒng)可靠性。
建立安全的系統(tǒng)
現(xiàn)有的soap系統(tǒng)采用xml文本字符串的格式傳遞其負載。雖然這樣做可以讓任意兩個系統(tǒng)之間不論其體系結(jié)構(gòu)而建立相互通信,但是這樣也同時產(chǎn)生了嚴重的安全問題。現(xiàn)有的標準允許對處于通信管道之中的信息進行加密(采用ssl over http)或者直接對管道本身加密(采用internet protocol security或者ipsec)。但是這些方式都是要么全有要么全無的極端形式,在安全的管理上缺乏必要的調(diào)節(jié)粒度。除非會話雙方都一致采取了保證消息本身安全的格式,否則不可能實施更具有粒度性的安全措施。
ws-security聯(lián)合ws-license規(guī)范一道增強了soap系統(tǒng)的粒度安全性。ws-security定義了交換信任、檢查消息完整性的能力,同時還強化了消息的機密性,兩重標準既可以單獨使用也可以聯(lián)合使用。采用ws-security的情況下,消息同許可權(quán)相關(guān)聯(lián)(包括,但不僅僅局限于x.509證書或者kerberos票據(jù))。ws-license描述了同ws-security一道采用的信任編碼過程。ws-security包括了保證消息完整性和機密性的技術(shù)規(guī)范(采用ws-license),其方式是,支持對消息的總體或者部分加密,同時提供了接收消息一方系統(tǒng)解碼消息的措施。
責任編輯:小李(email:[email protected])
techrepublic是一個專為各類it專業(yè)人士設(shè)立的在線社區(qū)以及資源中心,我們提供有深度的技術(shù)文章,這些文章由it專家寫成,面對it專家讀者。除了提供從windows到e-mail到防火墻等各種文章以外,我們還提供it業(yè)界分析,下載,管理要點,討論組以及新聞郵件服務(wù)。