Servizi Web XML
I servizi Web sono componenti di applicazioni Web.
I servizi Web possono essere pubblicati, trovati e utilizzati sul Web.
Questo tutorial introduce WSDL, SOAP, RDF e RSS.
WSDL
- WSDL sta per Web Services Description Language
- WSDL è un linguaggio basato su XML per la descrizione dei servizi Web.
- WSDL è una raccomandazione del W3C
SAPONE
- SOAP sta per Simple Object Access Protocol
- SOAP è un protocollo basato su XML per l'accesso ai servizi Web.
- SOAP è basato su XML
- SOAP è una raccomandazione del W3C
RDF
- RDF sta per Resource Description Framework
- RDF è un framework per descrivere le risorse sul web
- RDF è scritto in XML
- RDF è una Raccomandazione del W3C
RSS
- RSS sta per Really Simple Syndication
- RSS ti consente di distribuire i contenuti del tuo sito
- RSS definisce un modo semplice per condividere e visualizzare titoli e contenuti
- I file RSS possono essere aggiornati automaticamente
- RSS consente visualizzazioni personalizzate per diversi siti
- RSS è scritto in XML
Quello che dovresti già sapere
Prima di studiare i servizi Web, dovresti avere una conoscenza di base degli spazi dei nomi XML e XML.
Se vuoi studiare prima queste materie, leggi il nostro Tutorial XML .
Servizi web
- I servizi Web sono componenti dell'applicazione
- I servizi Web comunicano utilizzando protocolli aperti
- I servizi Web sono autonomi e autodescrittivi
- I servizi Web possono essere scoperti utilizzando UDDI
- I servizi Web possono essere utilizzati da altre applicazioni
- HTTP e XML sono la base per i servizi Web
L'interoperabilità ha la massima priorità
Quando tutte le principali piattaforme potevano accedere al Web utilizzando i browser Web, piattaforme diverse non potevano interagire. Affinché queste piattaforme funzionino insieme, sono state sviluppate applicazioni Web.
Le applicazioni Web sono semplicemente applicazioni che vengono eseguite sul Web. Questi sono costruiti attorno agli standard dei browser Web e possono essere utilizzati da qualsiasi browser su qualsiasi piattaforma.
I servizi Web portano le applicazioni Web al livello successivo
Utilizzando i servizi Web, l'applicazione può pubblicare la propria funzione o messaggio nel resto del mondo.
I servizi Web utilizzano XML per codificare e decodificare i dati e SOAP per trasportarli (utilizzando protocolli aperti).
Con i servizi Web, il sistema di fatturazione del server Win 2k del reparto contabilità può connettersi al server UNIX del fornitore IT.
I servizi Web hanno due tipi di utilizzo
Componenti applicativi riutilizzabili.
Ci sono cose di cui le applicazioni hanno bisogno molto spesso. Allora perché farli più e più volte?
I servizi Web possono offrire componenti dell'applicazione come: conversione di valuta, bollettini meteorologici o persino traduzione linguistica come servizi.
Collega il software esistente.
I servizi Web possono aiutare a risolvere il problema dell'interoperabilità fornendo a diverse applicazioni un modo per collegare i propri dati.
Con i servizi Web puoi scambiare dati tra diverse applicazioni e diverse piattaforme.
Qualsiasi applicazione può avere un componente Web Service.
I servizi Web possono essere creati indipendentemente dal linguaggio di programmazione.
Un esempio di servizio Web
Nell'esempio seguente utilizzeremo ASP.NET per creare un semplice Web Service 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 i servizi Web XML.
Esempio spiegato
Nota: per eseguire questo esempio, avrai bisogno di un server .NET.
La prima riga nell'esempio afferma che questo è un servizio Web, scritto in VBScript e ha il nome della classe "TempConvert":
<%@ WebService Language="VBScript" Class="TempConvert" %>
Le righe successive importano lo spazio dei nomi "System.Web.Services" dal framework .NET:
Imports System
Imports System.Web.Services
La riga successiva definisce che la classe "TempConvert" è un tipo di classe WebService:
Public Class TempConvert :Inherits WebService
I passaggi successivi sono la programmazione VB di base. Questa applicazione ha due funzioni. Uno per convertire da Fahrenheit a Celsius e uno per convertire da Celsius a Fahrenheit.
L'unica differenza rispetto a un'applicazione normale è che questa funzione è definita come "WebMethod()".
Usa "WebMethod()" per convertire le funzioni nella tua 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
Quindi, termina la lezione:
end class
Pubblica il file .asmx su un server con supporto .NET e avrai il tuo primo servizio Web funzionante.
Metti il servizio web sul tuo sito web
Utilizzando un modulo e il metodo HTTP POST, puoi inserire 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>
Sostituisci "tempconvert.asmx" con l'indirizzo del tuo servizio web come:
http://www.example.com/xml/tempconvert.asmx