Webservice 安全與應用
2011-06-22 14:53 熬夜的蟲子 閱讀(391) 評論(0) 收藏 舉報從表面上看,Web service 就是一個應用程序,它向外界暴露出一個能夠通過Web進行調用的API。這就是說,你能夠用編程的方法通過Web來調用這個應用程序。我們把調用這個Web service 的應用程序叫做客戶。
下面是對Web service 更精確的解釋: Web services是建立可互操作的分布式應用程序的新平臺。作為一個Windows程序員,你可能已經用COM或DCOM建立過基于組件的分布式應用程 序。COM是一個非常好的組件技術,但是我們也很容易舉出COM并不能滿足要求的情況。Web service平臺是一套標準,它定義了應用程序如何在Web上實現互操作性。你可以用任何你喜歡的語言,在任何你喜歡的平臺上寫Web service ,只要我們可以通過Web service標準對這些服務進行查詢和訪問。
Webservice協議:
Web service平臺需要一套協議來實現分布式應用程序的創建。任何平臺都有它的數據表示方法和類型系統。要實現互操作性,Web service平臺必須提供一套標準的類型系統,用于溝通不同平臺、編程語言和組件模型中的不同類型系統。在傳統的分布式系統中,基于界面 (interface)的平臺提供了一些方法來描述界面、方法和參數(譯注:如COM和COBAR中的IDL語言)。同樣的,Web service平臺也必須提供一種標準來描述Web service,讓客戶可以得到足夠的信息來調用這個Web service。最后,我們還必須有一種方法來對這個Web service進行遠程調用。這種方法實際是一種遠程過程調用協議(RPC)。為了達到互操作性,這種RPC協議還必須與平臺和編程語言無關。下面我們就簡要介紹了組成Web service平臺的這三個技術。
XML和XSD:
XML解決了數據表示的問題,但它沒有定義一套標準的數據類型,更沒有說怎么去擴展這套數據類型。例如,整形數到底代表什么?16位,32位,還是64 位?這些細節對實現互操作性都是很重要的。W3C制定的XML Schema(XSD)就是專門解決這個問題的一套標準。它定義了一套標準的數據類型,并給出了一種語言來擴展這套數據類型。Web service平臺就是用XSD來作為其數據類型系統的。當你用某種語言(如VB.NET或C#)來構造一個Web service時,為了符合Web service標準,所有你使用的數據類型都必須被轉換為XSD類型。
SOAP:
Web service建好以后,你或者其他人就會去調用它。簡單對象訪問協議(SOAP)提供了標準的RPC方法來調用Web service。實際上,SOAP在這里有點用詞不當:它意味著下面的Web service是以對象的方式表示的,但事實并不一定如此:你完全可以把你的Web service寫成一系列的C函數,并仍然使用SOAP進行調用。SOAP規范定義了SOAP消息的格式,以及怎樣通過HTTP協議來使用SOAP。 SOAP也是基于XML和XSD的,XML是SOAP的數據編碼方式。
WSDL:
你會怎樣向別人介紹你的Web service有什么功能,以及每個函數調用時的參數呢?你可能會自己寫一套文檔,你甚至可能會口頭上告訴需要使用你的Web service的人。這些非正式的方法至少都有一個嚴重的問題:當程序員坐到電腦前,想要使用你的Web service的時候,他們的工具(如Visual Studio)無法給他們提供任何幫助,因為這些工具根本就不了解你的Webservice。解決方法是:用機器能閱讀的方式提供一個正式的描述文檔。Web service描述語言(WSDL)就是這樣一個基于XML的語言,用于描述Web service及其函數、參數和返回值。因為是基于XML的,所以WSDL既是機器可閱讀的,又是人可閱讀的,這將是一個很大的好處。一些最新的開發工具 既能根據你的Web service生成WSDL文檔,又能導入WSDL文檔,生成調用相應Web service的代碼。
Wse介紹:
微軟發表了構筑Web服務應用程序所需的附加套件“Web Services Enhancements 1.0(WSE)”。該套件可以使Web服務應用程序支持WS-Security、WS-Routing、WS-Attachments等規格
WS-Security是IBM、微軟、VeriSign聯手打造的Web服務安全標準。三公司向XML相關標準化團體OASIS(結構化信息標準促進組織)提交了該標準,并在OASIS內部發起成立了技術委員會。
WS-Routing是指此前被稱為SOAP-RP的、SOAP的擴展規格,規定了SOAP信息頭中的地址記述方法。 WS-Attachments是指記述了向SOAP信息中添加二進制數據的方法的規格,是由微軟與IBM于2002年7月共同向標準團體IETF(因特網工程任務組)提出的。
WSE的主要特點如下:
安全性:支援涉及整個平臺的安全的XML Web服務的構筑。具有用于對SOAP信息進行電子簽名和加密的功能。支持WS-Security規格;
路由功能:使用WS-Routing規格,對SOAP信息進行中繼,并負責XML Web服務的路由;
添加功能:可以向在XML Web服務之間進行交換的SOAP信息中添加二進制數據。該功能基于WS-Attachments標準;
擴展架構:通過對處理SOAP信息的系統進行擴展,并與適當的安全基礎相配合,就能夠定制加密和簽名功能。
![]() |
原創作品允許轉載,轉載時請務必以超鏈接形式標明文章原始出處以及作者信息。 作者:熬夜的蟲子 點擊查看:博文索引 |

浙公網安備 33010602011771號