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.