Web Services 平臺 (轉)

worldblog發表於2007-12-12
Web Services 平臺 (轉)[@more@]那麼什麼是 service 平臺呢?最基本的平臺是加HTTP。HTTP是一個在Inte上廣泛使用的。XML是一種元語言,你可以用它書寫特定的語言來描述客戶和服務之間或者和複雜服務之間的互動。在web server之後,XML格式的訊息被轉變成的請求,返回的結果也會轉化成XML格式。

有必要增加一些服務,同時保持簡單性和普遍性,來把Web構建成一個功能更強大的平臺。可以認為功能全面的web services平臺是XML+HTTP+P+WSDL+UDDI。在更高層次上,可能還要加上一些尚未廣泛接受的技術如XAML,XLANG, XKMS,和XFS。

以下是對這些平臺要素的簡要描述。需要指出的是,這些還是發展中的技術,很多時候對一個問題會有多種解決方案。
◆SOAP (Simple Access Protocol,)
◆UDDI (Universal Description, Divery and Integration Service貿易,目錄服務)
◆WSDL (描述服務特徵)
◆XLANG/XAML (為包括多種web services的複雜web事務提供支援)
◆XKMS (XML Key Management Specification) - 支援和註冊,這個工作還在進展之中

SOAP
SOAP是用在分散或分佈的環境中資訊的簡單的協議,它是一個基於XML的協議,定義了傳遞XML-encoded資料時的統一方式。包括三個部分:封裝定義了一個描述訊息中包含什麼內容以及如何處理它們的,編碼規則用於表示應用定義的資料型別的例項,另外還有一個表示遠端過程呼叫和應答的協定。SOAP被設計為可以與各種其它協議結合使用。

SOAP的興起是基於這樣一種認識,無論現在的中介軟體是如何的好,他們都需要一個WAN包裝。以XML格式傳送訊息有很多好處,如能夠確保互用性。中介軟體使用者看來願意容忍解析和序列化XML文件的代價,因為這可以讓他們的使用範圍更寬。

IBM, , UserLand,和DevelopMentor在2000年向提交了SOAP,併成為W3C的Note,SOAP更長遠的發展規劃現在是由W3C的XML協議工作組來制定。這有力的表明了直到W3C工作組交付規範為止,SOAP都將是一個穩定的規範。

UDDI (Universal Description, Discovery and Integration Service)
UDDI為客戶提供了動態查詢其它Web Services的機制。使用UDDI介面,商務處理可以動態的連線到外部的商務合作者提供的服務上。一個UDDI註冊類似於的trader,也可以把它想象成商業應用程式的服務。一個UDDI註冊有兩種客戶:要釋出一個服務(和使用介面)的商務應用,以及想要得到特定服務的客戶。UDDI層在SOAP層之上,並假定請求和應答都是以SOAP訊息傳送的UDDI。

WSDL :Web服務定義語言
Web服務描述語言(WSDL)是一種XML語法,為服務提供者提供了描述構建在不同協議或編碼方式之上的Web Service請求基本格式的方法。WSDL用來描述一個Web Service能做什麼,它的位置在哪裡,如何呼叫它等等。在假定以SOAP/HTTP/MIME 作為遠端物件呼叫機制的情況下,WSDL會發揮最大作用。UDDI註冊描述了Web Service的絕大多數方面,包括服務的繫結細節。WSDL可以看作是UDDI服務描述的子集。
WSDL將服務定義為一個端點的集合,或者說埠的集合。在WSDL裡面,端點及訊息的抽象定義與它們具體的網路實現和資料格式繫結是分離的。這樣就可以重用這些抽象定義:訊息,需要交換的資料的抽象描述;埠型別,操作的抽象集合。針對一個特定埠型別的具體協議和資料格式規範構成一個可重用的繫結。一個埠定義成網路地址和可重用的繫結的聯接,埠的集合定義為服務。因此一個WSDL文件在定義網路服務的時候使用如下的元素:

型別-- 使用某種的型別(比如XSD)定義資料型別的容器
訊息-- 通訊資料抽象的有型別的定義
操作-- 服務支援的動作的抽象描述
埠型別-- 一個操作的抽象集合,該操作由一個或多個端點支援
繫結-- 針對一個特定埠型別的具體的協議規範和資料格式規範
埠-- 一個單一的端點,定義成一個繫結和一個網路地址的聯接
服務-- 相關的端點的集合

所以,可以這樣說,WSDL給客戶提供了一個模板,方便他們描述和繫結服務。

XLANG
中的事務的傳統概念是原子性,即要麼不做,要麼全做。在分散式的系統中維持這種原子性,一般採用一種代價昂貴的處理方式,即兩相承諾。另一個相對的模型也在研究之中(最初叫做sagas,由Hector Garcia-Molina提出),即每個動作都有一個明確的互補動作,用以取消該動作產生的結果。在現實生活中,這種互補動作的例子很多,比如說,你在信用卡里取出$52,互補動作就是存入$52,你發出一封E說“你將會在7天內拿到你預定的產品”,互補動作就是發說“哦,你還得多等幾天”。XLang就是基於這樣一個概念,用來表示任何要取消的請求的互補動作。而Web Service的分散式基礎將推動XLang規範的發展,使之能完成複雜的撤銷操作。

XKMS (XML Key Management Specification)
XKMS是Microsoft和Verisign用XML應用程式整合PKI和數字認證(用於Internet事務性)的成果。關鍵的思想是將簽名處理放到Web上的可信(trust server)上,這樣小客戶就不必自己來做這些內容。XKMS依賴於XML數字簽名規範和正在制定中的XML規範。現在的XKMS規範依賴於XML,SOAP,WSDL。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-992011/,如需轉載,請註明出處,否則將追究法律責任。

相關文章