實現帶有用戶身份驗證的文件傳輸Web Service(1) (轉)
2024-07-21 02:21:30
供稿:網友
作者: 曹勇剛 www.aspcool.com 時間:2001-11-28 22:49:30 閱讀次數:754
一、 理解web service
首先讓我們簡單理解一下web service。
web services 實際上是基于xml的針對商業、應用程序的系統服務。實際上是建立在一系列已有的技術基礎上的一個新的概念。使用它如同使用rpc(遠程過程調用),不過它提供的接口是基于對象的。它與原有的組件模型,如com/dcom,corba,rmi等,最大的特點就是標準化(基于xml的一系列標準)帶來的跨平臺的通用性,基于http帶來的暢通無阻的能力(跨越防火墻),對于dot net來說,配合visual studio.net其中的web service還具有易用性的特點。用戶即便不懂那些相關標準,只要會面向對象變成,對web service有個初步的了解就可以動手寫web service了。
如何建立一個web service呢?下面的技術步驟獲得了工業界普遍認同。
1.服務提供者建立、組織和發布網絡服務。它的手段是多樣的,可以使用編程語言(例如delphi,java,c#等)、中間件或其它特殊平臺來完成。
2.服務提供者用wsdl (the web services description language )來提供服務描述。. wsdl文檔向第三方提供服務描述。
3.服務提供者向uddi (universal description, discovery, and integration ) 注冊表注冊網絡服務。uddi使得開發者發布服務并且可以通過軟件搜索其它人提供的服務。 用戶將通過搜索uddi 注冊表來搜索服務。
4. 客戶端應用程序通過和網絡服務綁定并且通過soap (the simple object access protocol )來激活網絡服務相應的操作。soap 提供xml格式的參數和返回結果,并利用http傳送。所有網絡服務都通過soap通訊。
上面的第一步是核心,它決定了你的web service的用途和接口。第二步在visual studio.net中被自動完成,大家當然也可以用wsdl.exe手動生成。第四步在客戶端編程時visual studio提供了最大的便利。用戶只要使用” add web service reference”或者“添加web服務引用”(中文版),敲入網址,visual studio.net就會自動生成調用web service的類,底層的soap對用戶完全透明。
但是,當用戶需要考慮安全性時就不得不考慮一下soap了。記住,安全性是將來必須考慮的,在將來軟件開發變為配置集成,軟件產品變為服務,購買軟件變為租用軟件,大部分服務都基于網絡時,你可能得考慮誰可以用你的服務,誰不可以用你的服務了,當然,我也比較贊同開放源代碼和公開交流技術,我把自己辛苦鉆研出來的東西寫出來也表明了我的態度。但是,畢竟,我們還是要靠寫軟件吃飯的:)
在web service中,用戶名,密碼可以通過soap頭(soap header)進行傳送。在web service的編寫中,需要對soap頭進行處理,不過這也不太難,大家認識到這一點然后看我下面的例子就可以學會如何利用它了。