Webové služby XML
Webové služby jsou komponenty webových aplikací.
Webové služby lze publikovat, vyhledávat a používat na webu.
Tento tutoriál představuje WSDL, SOAP, RDF a RSS.
WSDL
- WSDL znamená jazyk popisu webových služeb
- WSDL je jazyk založený na XML pro popis webových služeb.
- WSDL je doporučení W3C
MÝDLO
- SOAP je zkratka pro Simple Object Access Protocol
- SOAP je protokol založený na XML pro přístup k webovým službám.
- SOAP je založen na XML
- SOAP je doporučení W3C
RDF
- RDF je zkratka pro Resource Description Framework
- RDF je rámec pro popis zdrojů na webu
- RDF je napsáno v XML
- RDF je doporučení W3C
RSS
- RSS je zkratka pro Really Simple Syndication
- RSS vám umožňuje syndikovat obsah vašich stránek
- RSS definuje snadný způsob sdílení a zobrazení titulků a obsahu
- Soubory RSS lze automaticky aktualizovat
- RSS umožňuje personalizované zobrazení pro různé stránky
- RSS je napsáno v XML
Co byste již měli vědět
Než začnete studovat webové služby, měli byste mít základní znalosti o XML a jmenných prostorech XML.
Chcete-li nejprve studovat tyto předměty, přečtěte si prosím náš XML Tutorial .
Webové služby
- Webové služby jsou součástí aplikace
- Webové služby komunikují pomocí otevřených protokolů
- Webové služby jsou soběstačné a samy se popisují
- Webové služby lze objevit pomocí UDDI
- Webové služby mohou využívat i jiné aplikace
- HTTP a XML jsou základem webových služeb
Interoperabilita má nejvyšší prioritu
Když všechny hlavní platformy mohly přistupovat k webu pomocí webových prohlížečů, různé platformy nemohly interagovat. Aby tyto platformy spolupracovaly, byly vyvinuty webové aplikace.
Webové aplikace jsou jednoduše aplikace, které běží na webu. Ty jsou postaveny na standardech webových prohlížečů a mohou být použity jakýmkoli prohlížečem na jakékoli platformě.
Webové služby posouvají webové aplikace na další úroveň
Pomocí webových služeb může vaše aplikace publikovat svou funkci nebo zprávu do zbytku světa.
Webové služby používají XML ke kódování a dekódování dat a SOAP k jejich přenosu (pomocí otevřených protokolů).
Pomocí webových služeb se může fakturační systém serveru Win 2k vašeho účetního oddělení připojit k UNIX serveru vašeho dodavatele IT.
Webové služby mají dva typy použití
Opakovaně použitelné aplikační komponenty.
Jsou věci, které aplikace potřebují velmi často. Tak proč je dělat znovu a znovu?
Webové služby mohou nabízet jako služby aplikační komponenty jako: převod měn, zprávy o počasí nebo dokonce jazykový překlad.
Připojte stávající software.
Webové služby mohou pomoci vyřešit problém interoperability tím, že umožní různým aplikacím propojit svá data.
Pomocí webových služeb si můžete vyměňovat data mezi různými aplikacemi a různými platformami.
Každá aplikace může mít komponentu webové služby.
Webové služby lze vytvořit bez ohledu na programovací jazyk.
Příklad webové služby
V následujícím příkladu použijeme ASP.NET k vytvoření jednoduché webové služby, která převádí teplotu z Fahrenheita na Celsia a naopak:
<%@ WebService Language="VBScript" Class="TempConvert" %>
Imports System
Imports System.Web.Services
Public Class TempConvert :Inherits WebService
<WebMethod()> Public Function FahrenheitToCelsius(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
Tento dokument je uložen jako soubor .asmx. Toto je přípona souboru ASP.NET pro webové služby XML.
Příklad vysvětlen
Poznámka: Ke spuštění tohoto příkladu budete potřebovat server .NET.
První řádek v příkladu uvádí, že se jedná o webovou službu napsanou ve VBScriptu a má název třídy „TempConvert“:
<%@ WebService Language="VBScript" Class="TempConvert" %>
Následující řádky importují jmenný prostor „System.Web.Services“ z rozhraní .NET:
Imports System
Imports System.Web.Services
Další řádek definuje, že třída "TempConvert" je typem třídy WebService:
Public Class TempConvert :Inherits WebService
Dalšími kroky jsou základní programování VB. Tato aplikace má dvě funkce. Jeden pro převod z stupňů Fahrenheita na stupně Celsia a jeden pro převod ze stupňů Celsia na stupně Fahrenheita.
Jediný rozdíl od normální aplikace je ten, že tato funkce je definována jako "WebMethod()".
Pomocí „WebMethod()“ převeďte funkce ve vaší aplikaci na webové služby:
<WebMethod()> Public Function FahrenheitToCelsius(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
Poté ukončete hodinu:
end class
Publikujte soubor .asmx na serveru s podporou .NET a budete mít svou první funkční webovou službu.
Umístěte webovou službu na svůj web
Pomocí formuláře a metody HTTP POST můžete webovou službu umístit na svůj web takto:
Jak to udělat
Zde je kód pro přidání webové služby na webovou stránku:
<form
action='tempconvert.asmx/FahrenheitToCelsius'
method="post" target="_blank">
<table>
<tr>
<td>Fahrenheit to Celsius:</td>
<td>
<input class="frmInput" type="text"
size="30" name="Fahrenheit">
</td>
</tr>
<tr>
<td></td>
<td align="right">
<input type="submit"
value="Submit" class="button">
</td>
</tr>
</table>
</form>
<form
action='tempconvert.asmx/CelsiusToFahrenheit'
method="post" target="_blank">
<table>
<tr>
<td>Celsius to Fahrenheit:</td>
<td>
<input class="frmInput" type="text"
size="30" name="Celsius">
</td>
</tr>
<tr>
<td></td>
<td align="right">
<input type="submit"
value="Submit" class="button">
</td>
</tr>
</table>
</form>
Nahraďte "tempconvert.asmx" adresou vaší webové služby, jako je:
http://www.example.com/xml/tempconvert.asmx