Web services
Web Services 可以將應用程式轉換為網絡應用程式,以便於您的應用程式可以向全世界發布信息,或提供某項功能 基本的 Web Services 平台是 XML+HTTP。
Web Services 簡介
[編輯]Web Services 可使您的應用程式成為 Web 應用程式。
Web Services 通過 Web 進行發布、查找和使用。
您應當具備的基礎知識
[編輯]在繼續學習之前,您需要對下面的知識有基本的了解:
- HTML
- XML
什麼是Web Services
[編輯]- Web Services 是應用程式組件
- Web Services 使用開放協議進行通信
- Web Services 是獨立的(self-contained)並可自我描述
- Web Services 可通過使用UDDI來發現
- Web Services 可被其他應用程式使用
- XML 是 Web Services 的基礎
它如何工作
[編輯]基礎的 Web Services 平台是 XML + HTTP。XML 提供了一種可用於不同的平台和程式語言之間的語言。HTTP 協議是最常用的互聯網協議。Web services 平台的元素:
- SOAP (簡易對象訪問協議)
- UDDI (通用描述、發現及整合)
- WSDL (Web services 描述語言)
Web Services 為什麼使用它
[編輯]早期,Web services 的發展速度還沒有讓人們對它產生興趣。
互操作性具有最高優先級
[編輯]由於所有主要的平台均可通過 Web 瀏覽器來訪問 Web,不同的平台可以藉此進行交互。為了讓這些平台協同工作,Web 應用程式被開發了出來。
Web 應用程式是運行在 Web 上的簡易應用程式。它們圍繞 Web 瀏覽器標準被進行構建,幾乎可被任何平台之上的任何瀏覽器來使用。
Web services 把 Web 應用程式提升到了另外一個層面
[編輯]通過使用 Web services,您的應用程式可向全世界發布功能或消息。
Web services 使用 XML 來編解碼數據,並使用 SOAP 藉由開放的協議來傳輸數據。
通過 Web services,您的會計部門的 Win 2k 伺服器可與 IT 供應商的 UNIX 伺服器進行連接。
Web services 有兩種類型的應用
[編輯]重複使用的應用程式組件
有一些功能是不同的應用程式常常會用到的。
那麼為什麼要周而復始地開發它們呢?
Web services 可以把應用程式組件作為服務來提供,比如匯率轉換、天氣預報或者甚至是語言翻譯等等。
比較理想的情況是,每種應用程式組件只有一個最優秀的版本,這樣任何人都可以在其應用程式中使用它。
連接現有的軟件
通過為不同的應用程式提供一種連結其數據的途徑,Web services有助於解決協同工作的問題。
通過使用 Web services,您可以在不同的應用程式與平台之間來交換數據。
Web Services 平台元素
[編輯]Web Services 擁有三種基本的元素:SOAP、WSDL 以及 UDDI。
什麼是 SOAP
[編輯]SOAP是一個基於XML的協議,讓應用程式通過HTTP交換信息。
或更簡單:SOAP是一種用於訪問Web服務的協議。
- SOAP 指簡易對象訪問協議
- SOAP 是一種通信協議
- SOAP 用於應用程式之間的通信
- SOAP 是一種用於發送消息的格式
- SOAP 被設計用來通過互聯網進行通信
- SOAP 獨立於平台
- SOAP 獨立於語言
- SOAP 基於 XML
- SOAP 很簡單並可擴展
- SOAP 允許您繞過防火牆
- SOAP 將作為 W3C 標準來發展
什麼是 WSDL
[編輯]WSDL 是基於 XML 的用於描述 Web Services 以及如何訪問 Web Services 的語言。
- WSDL 指網絡服務描述語言
- WSDL 使用 XML 編寫
- WSDL 是一種 XML 文檔
- WSDL 用於描述網絡服務
- WSDL 也可用於定位網絡服務
- WSDL 還不是 W3C 標準
什麼是UDDI
[編輯]UDDI 是一種目錄服務,通過它,企業可註冊並搜索 Web services。
- UDDI 指通用的描述、發現以及整合(Universal Description, Discovery and Integration)。
- UDDI 是一種用於存儲有關 web services 的信息的目錄。
- UDDI 是一種由 WSDL 描述的網絡服務接口目錄。
- UDDI 經由 SOAP 進行通迅。
- UDDI 被構建於 Microsoft .NET 平台之中。
Web Services 實例
[編輯]任何應用程式都可擁有 Web Service 組件。
Web Services 的創建與程式語言的種類無關。
一個 Web Service 實例
[編輯]在這個例子中,我們會使用 ASP.NET 來創建一個簡單的 Web Service。
<%@ WebService Language="VB" Class="TempConvert" %><br />
Imports System<br />
Imports System.Web.Services<br />
Public Class TempConvert :Inherits WebService<br />
<WebMethod()> Public Function FahrenheitToCelsius<br />
(ByVal Fahrenheit As String) As String
dim fahr
fahr=trim(replace(Fahrenheit,",","."))
if fahr="" or IsNumeric(fahr)=false then return "Error"
return ((((fahr) - 32) / 9) * 5)
end function
<WebMethod()> Public Function CelsiusToFahrenheit
(ByVal Celsius As String) As String
dim cel
cel=trim(replace(Celsius,",","."))
if cel="" or IsNumeric(cel)=false then return "Error"
return ((((cel) * 9) / 5) + 32)
end function
end class
ASP.NET 的自動化處理
[編輯]通過 ASP.NET,你不必親自編寫 WSDL 和 SOAP 文檔。 如果您仔細研究我們的這個例子,您會發現 ASP.NET 會自動創建 WSDL 和 SOAP 請求。
參考資料
[編輯]www.44lan.cn/lan_web/webservice/