web-services Tutorial
Iniziare con i servizi web
Ricerca…
Osservazioni
Un servizio Web è un componente di un'applicazione Web che consente la comunicazione tra applicazioni per scopi di integrazione.
I servizi Web seguono un'architettura client-server. Un'applicazione "offre" un servizio Web (server) e altre applicazioni "consumano" il servizio Web (client).
Sono implementati su HTTP utilizzando richieste e risposte.
I principali tipi di servizi web sono:
Installazione o configurazione
Lato server (servizi Web host)
I servizi Web devono essere installati e in esecuzione (distribuiti) in un server Web come componenti di applicazioni Web. Possono far parte di un'applicazione più grande, oppure possono essere distribuiti da soli in quanto possono comporre un'applicazione completa.
È responsabilità del server inoltrare una richiesta HTTP in arrivo all'applicazione distribuita corrispondente e responsabilità dell'applicazione per gestire la richiesta in base a:
- il verbo HTTP (GET, POST, PUT, DELETE, OPTIONS, HEAD, TRACE, CONNECT)
- l'URL della richiesta
L'applicazione utilizza la combinazione di questi elementi per individuare il componente del servizio web corrispondente che dovrebbe elaborare la richiesta.
Una volta individuato il servizio Web, i parametri della richiesta vengono utilizzati come dati di input per il servizio Web. Il servizio web è responsabile della conversione dei dati nei tipi di dati corretti e di stabilire una convenzione con i client sulla trasmissione di diversi tipi di dati.
Il servizio Web sta elaborando i dati di input e produce un set di dati di output. Il set di dati di output viene avvolto in una risposta HTTP e viene rinviato al mittente della richiesta.
Dalla parte del cliente
Un cliente deve preparare una richiesta HTTP, conforme alle regole del server, e inviarla al server. La risposta che verrà ricevuta conterrà i dati richiesti.
Perché usare i servizi web
L'utilizzo di programmi client di servizi Web e di programmi server può scambiare informazioni e collaborare per produrre nuovi servizi e risultati indipendentemente dalla loro posizione fisica e dalla tecnologia su cui sono costruiti. Devono solo rispettare le specifiche del livello di applicazione.
La differenza tra l'utilizzo di servizi Web e di Web-HTML-serving (browsing) è principalmente il fatto che i servizi web sono focalizzati e specializzati nell'elaborazione e conversione di tipi di dati per produrre risultati strutturati, che possono essere utilizzati per chiamate remote. Il servizio Web-HTML serve più a fornire risorse renderizzabili / scaricabili.
Scambiare i risultati del processo utilizzando i servizi Web sta facilitando:
- integrazione di applicazioni
- separazione degli interessi
- architetture applicative distribuite / decentralizzate
Implementazioni Java
Nei servizi Web Java sono implementati come servlet. I framework di servizi web più popolari implementano un servlet che deve essere mappato con un URL. Esempi di quadri:
Componenti relativi al servizio Web
- WSDL (lingua di descrizione del servizio Web)
- UDDI (Universal Description Discovery and Integration)
- SOAP (Simple Object Access Protocol)