Gli ultimi tutorial di sviluppo web
 

XML Servizi web


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:

Fahrenheit a Celsius:

Celsius a Fahrenheit:

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