I servizi Web sono componenti applicativi web.
I servizi Web possono essere pubblicati, trovati, e utilizzati sul Web.
Questo tutorial introduce WSDL, SOAP, RDF e feed.
WSDL
- WSDL è sinonimo di Web Services Description Language
- WSDL è un linguaggio basato su XML per descrivere i servizi Web.
- WSDL è una raccomandazione W3C
SAPONE
- SOAP l'acronimo di Simple Object Access Protocol
- SOAP è un protocollo basato su XML per l'accesso ai servizi Web.
- SOAP si basa su XML
- SOAP è una raccomandazione W3C
RDF
- RDF sta per Resource Description Framework
- RDF è un framework per la descrizione delle risorse sul web
- RDF è scritto in XML
- RDF è una raccomandazione W3C
RSS
- RSS è l'acronimo di Really Simple Syndication
- RSS permette di sindacare il contenuto del sito
- RSS definisce un modo semplice per condividere e visualizzare i titoli e contenuti
- file RSS possono essere aggiornati automaticamente
- RSS permette viste personalizzate per diversi siti
- RSS è scritto in XML
Che cosa dovreste già sapere
Prima di studiare i servizi web si dovrebbe avere una conoscenza di base di namespace XML e XML.
Se si vuole studiare queste materie prima, si prega di leggere il nostro tutorial XML .
Servizi web
- I servizi Web sono componenti applicativi
- servizi Web comunicano utilizzando protocolli aperti
- I servizi Web sono autonomo e autodescrittivi
- I servizi Web possono essere scoperti tramite UDDI
- I servizi Web possono essere utilizzati da altre applicazioni
- HTTP e XML è la base per i servizi Web
L'interoperabilità ha la massima priorità
Quando tutte le principali piattaforme potrebbero accedere al Web utilizzando browser Web, piattaforme diverse non potevano interagire. Per queste piattaforme di lavorare insieme, sono state sviluppate applicazioni web.
Web-applicazioni sono semplicemente applicazioni che girano sul web. Questi sono costruiti attorno agli standard del browser Web e può essere utilizzato da qualsiasi browser su qualsiasi piattaforma.
Web Services prendono applicazioni web al livello successivo
Utilizzando i servizi Web, l'applicazione può pubblicare la sua funzione o un messaggio al resto del mondo.
I servizi Web utilizzano XML per codificare e decodificare i dati, e sapone per trasportarlo (using open protocols) .
Con i servizi Web, il sistema di fatturazione di Win server del reparto contabilità 2k può collegarsi con il server UNIX del fornitore IT.
Web Services hanno due tipi di usi
Reusable application-components.
Ci sono cose applicazioni necessitano molto spesso. Allora perché fare queste più e più volte?
I servizi Web in grado di offrire applicazioni-componenti quali: conversione di valuta, previsioni del tempo, o addirittura traduzione come servizi.
Connect existing software.
I servizi Web possono aiutare a risolvere il problema di interoperabilità dando diverse applicazioni un modo per collegare i loro dati.
Con i servizi Web è possibile scambiare dati tra diverse applicazioni e piattaforme diverse.
Ogni applicazione può avere una componente Web Service.
Web Services possono essere creati indipendentemente dal linguaggio di programmazione.
Un servizio Esempio Web
Nel seguente esempio useremo ASP.NET per creare un semplice servizio web che converte la temperatura da Fahrenheit a Celsius, e viceversa:
<%@ 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
Questo documento viene salvato come file .asmx. Questa è l'estensione del file ASP.NET per servizi Web XML.
esempio spiegato
Note: Per eseguire questo esempio, è necessario un server .NET.
La prima riga nell'esempio afferma che questo è un servizio web, scritto in VBScript, e ha il nome di classe "TempConvert" :
<%@ WebService Language="VBScript" Class="TempConvert" %>
Le prossime linee di importare lo spazio "System.Web.Services" dal framework .NET:
Imports System
Imports System.Web.Services
La riga successiva definisce che il "TempConvert" classe è un tipo di classe WebService:
Public Class TempConvert :Inherits WebService
I passi successivi sono programmazione di base VB. Questa applicazione ha due funzioni. Uno di convertire da Fahrenheit a Celsius, e uno per convertire da Celsius a Fahrenheit.
L'unica differenza da un normale applicazione è che questa funzione è definita come "WebMethod() ".
Usare "WebMethod() " per convertire le funzioni nell'applicazione in servizi web:
<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
Poi, terminare la classe:
end class
Pubblicare il file .asmx su un server con supporto .NET, e avrete il vostro primo Web Service di lavoro.
Guarda il nostro esempio Web Service
ASP.NET automatizza il processo
Con ASP.NET, non c'è bisogno di scrivere i propri WSDL e SOAP documenti.
Se si guarda più da vicino il nostro esempio Web Service, si vedrà che ASP.NET ha creato automaticamente un WSDL e SOAP richiesta.
Utilizzando il servizio di esempio Web
Nella pagina precedente abbiamo creato un servizio Web .
Il FahrenheitToCelsius() funzione può essere testato qui: FahrenheitToCelsius
Il CelsiusToFahrenheit() funzione può essere testato qui: CelsiusToFahrenheit
Queste funzioni invierà una risposta XML come questo:
<?xml version="1.0" encoding="utf-8" ?>
<string xmlns="http://tempuri.org/">38</string>
Mettere il servizio Web sul tuo sito web
Utilizzando un modulo e il metodo HTTP POST, si può mettere il servizio web sul tuo sito, in questo modo:
Come farlo
Ecco il codice per aggiungere il servizio Web a una pagina Web:
<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>
Sostituire il "tempconvert.asmx" con l'indirizzo del vostro servizio web come:
http://www.example.com/xml/tempconvert.asmx