Esercitazione XML

XML CASA Introduzione XML XML Come usare Albero XML Sintassi XML Elementi XML Attributi XML Spazi dei nomi XML Visualizzazione XML Richiesta HTTP XML Analizzatore XML XML DOM XPath XML XML XSLT XQuery XML XML XLink Validatore XML DTD XML Schema XML Server XML Esempi XML Quiz XML Certificato XML

XML AJAX

Introduzione AJAX AJAX XMLHttp Richiesta AJAX Risposta dell'AJAX File XML AJAX AJAX PHP AJAX ASP Database AJAX Applicazioni AJAX Esempi AJAX

XML DOM

DOM Introduzione Nodi DOM Accesso DOM Informazioni sul nodo DOM Elenco dei nodi DOM DOM attraversando Navigazione DOM DOM Ottieni valori Nodi di modifica DOM DOM Rimuovere i nodi DOM Sostituisci nodi DOM Crea nodi DOM Aggiungi nodi Clonazione dei nodi DOM Esempi DOM

Esercitazione XPath

Introduzione a XPath Nodi XPath Sintassi XPath Assi XPath Operatori XPath Esempi di XPath

Esercitazione XSLT

Introduzione a XSLT Lingue XSL Trasformazione XSLT XSLT <modello> XSLT <valore-di> XSLT <per-ciascuno> XSLT <ordina> XSLT <se> XSLT <scegli> Applicare XSLT XSLT sul Cliente XSLT sul server XSLT Modifica XML Esempi XSLT

Esercitazione XQuery

Introduzione a XQuery Esempio XQuery XQuery FLWOR XQuery HTML Termini di XQuery Sintassi XQuery Aggiungi XQuery XQuery Seleziona Funzioni XQuery

DTD XML

Introduzione alla DTD Blocchi di costruzione DTD Elementi DTD Attributi DTD Elementi DTD vs Attr Entità DTD Esempi di DTD

Schema XSD

Introduzione all'XSD XSD Come fare per XSD <schema> Elementi XSD Attributi XSD Restrizioni XSD

Complesso XSD

Elementi XSD XSD vuoto Solo elementi XSD Solo testo XSD XSD misto Indicatori XSD XSD <qualsiasi> XSD <qualsiasi attributo> Sostituzione XSD Esempio XSD

Dati XSD

Stringa XSD Data XSD Numerico XSD XSD Varie Riferimento XSD

Servizi Web

Servizi XML XML WSDL SAPONE XML XML RDF RSS XML

Riferimenti

Tipi di nodi DOM Nodo DOM Elenco nodi DOM DOM NamedNodeMap Documento DOM Elemento DOM Attributo DOM Testo DOM DOM CDATA Commento DOM DOM XMLHttpRichiesta Analizzatore DOM Elementi XSLT Funzioni XSLT/XPath

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:

Fahrenheit a Celsius:

Celsius in 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>

Sostituisci "tempconvert.asmx" con l'indirizzo del tuo servizio web come:

http://www.example.com/xml/tempconvert.asmx