Cosa sono i servizi Web?
Libri diversi e organizzazioni diverse forniscono definizioni diverse ai servizi Web. Alcuni di loro sono elencati qui.
Un servizio Web è un qualsiasi software che si rende disponibile su Internet e utilizza un sistema di messaggistica XML standardizzato. XML viene utilizzato per codificare tutte le comunicazioni a un servizio Web. Ad esempio, un client richiama un servizio Web inviando un messaggio XML, quindi attende una risposta XML corrispondente. Poiché tutta la comunicazione è in XML, i servizi web non sono legati a nessun sistema operativo o linguaggio di programmazione: Java può parlare con Perl; Le applicazioni Windows possono dialogare con le applicazioni Unix.
I servizi Web sono applicazioni autonome, modulari, distribuite e dinamiche che possono essere descritte, pubblicate, localizzate o invocate sulla rete per creare prodotti, processi e catene di fornitura. Queste applicazioni possono essere locali, distribuite o basate sul Web. I servizi Web si basano su standard aperti come TCP / IP, HTTP, Java, HTML e XML.
I servizi Web sono sistemi di scambio di informazioni basati su XML che utilizzano Internet per l'interazione diretta da applicazione a applicazione. Questi sistemi possono includere programmi, oggetti, messaggi o documenti.
Un servizio Web è una raccolta di protocolli aperti e standard utilizzati per lo scambio di dati tra applicazioni o sistemi. Le applicazioni software scritte in vari linguaggi di programmazione e in esecuzione su varie piattaforme possono utilizzare i servizi web per scambiare dati su reti di computer come Internet in un modo simile alla comunicazione tra processi su un singolo computer. Questa interoperabilità (ad esempio, tra Java e Python, o applicazioni Windows e Linux) è dovuta all'uso di standard aperti.
Per riassumere, un servizio web completo è, quindi, qualsiasi servizio che:
È disponibile su Internet o reti private (intranet)
Utilizza un sistema di messaggistica XML standardizzato
Non è legato a nessun sistema operativo o linguaggio di programmazione
Si autodefinisce tramite una grammatica XML comune
È rilevabile tramite un semplice meccanismo di ricerca
Componenti dei servizi Web
La piattaforma di servizi Web di base è XML + HTTP. Tutti i servizi web standard funzionano utilizzando i seguenti componenti:
SOAP (Simple Object Access Protocol)
UDDI (Universal Description, Discovery and Integration)
WSDL (Web Services Description Language)
Tutti questi componenti sono stati discussi nel capitolo Architettura dei servizi Web .
Come funziona un servizio Web?
Un servizio Web consente la comunicazione tra varie applicazioni utilizzando standard aperti come HTML, XML, WSDL e SOAP. Un servizio web richiede l'aiuto di:
XML per contrassegnare i dati
SOAP per trasferire un messaggio
WSDL per descrivere la disponibilità del servizio.
È possibile creare un servizio Web basato su Java su Solaris accessibile dal programma Visual Basic in esecuzione su Windows.
È inoltre possibile utilizzare C # per creare nuovi servizi Web su Windows che possono essere richiamati dall'applicazione Web basata su JSP (JavaServer Pages) e eseguita su Linux.
Esempio
Considera un semplice sistema di gestione degli account e di elaborazione degli ordini. Il personale addetto alla contabilità utilizza un'applicazione client creata con Visual Basic o JSP per creare nuovi account e immettere nuovi ordini cliente.
La logica di elaborazione per questo sistema è scritta in Java e risiede su una macchina Solaris, che interagisce anche con un database per memorizzare le informazioni.
I passaggi per eseguire questa operazione sono i seguenti:
Il programma client raggruppa le informazioni di registrazione dell'account in un messaggio SOAP.
Questo messaggio SOAP viene inviato al servizio Web come corpo di una richiesta HTTP POST.
Il servizio Web decomprime la richiesta SOAP e la converte in un comando comprensibile dall'applicazione.
L'applicazione elabora le informazioni come richiesto e risponde con un nuovo numero di conto univoco per quel cliente.
Successivamente, il servizio Web impacchetta la risposta in un altro messaggio SOAP, che invia al programma client in risposta alla sua richiesta HTTP.
Il programma client decomprime il messaggio SOAP per ottenere i risultati del processo di registrazione dell'account.