Un Web service è un componente applicativo largamente utilizzato. Andiamo nel dettaglio e capiamo di cosa si tratta nello specifico e quali sono le sue principali caratteristiche.
Web Service: cos'è e cosa fa
Possiamo definirlo come un sistema software in grado di mettersi al servizio di un applicazione comunicando su di una medesima rete tramite il protocollo HTTP. Un Web service consente quindi alle applicazioni che vi si collegano di usufruire delle funzioni che mette a disposizione.
Nella sezione Web service 2.0 del sito di HTML.it dedicato al linguaggio PHP trovate articoli e tutorial sui web service di Youtube, Yahoo, Flickr, Facebook e altri.
Per fare un esempio potremmo ipotizzare un Web service che chiameremo "cambiavalute". Il nostro Web service fornisce le seguenti operazioni: cambio euro/dollaro e viceversa. Questo Web service potrebbe essere offerto da un istituto bancario ed una nostra applicazione potrebbe utilizzarlo per effettuare le operazioni di cambio senza doversi preoccupare dei tassi in vigore al momento dell'operazione.
Già dopo questo primo esempio dovreste aver notato che le operazioni svolte da un Web service non sono nulla di eclatante, qualsiasi comune applicazione potrebbe infatti effettuare l'operazione di cambio. Ciò che una comune applicazione però non può fare è mettersi in comunicazione con un altro software come ha fatto cambiavalute nel nostro esempio. Un Web service infatti comunica tramite protocolli e standard definiti "aperti" e quindi sempre a disposizione degli sviluppatori.
Le caratteristiche di un Web Service
I Web service hanno un'altra caratteristica molto particolare ed utile al loro scopo: sono auto-contenuti ed auto-descrittivi. Se non ti risulta chiaro non ti preoccupare, sono due concetti molto semplici.
Un Web service è in grado di offrire un'interfaccia software assieme alla descrizione delle sue caratteristiche, cioè è in grado di farci sapere che funzioni mette a disposizione (senza bisogno di conoscerle a priori) e ci permette inoltre di capire come vanno utilizzate. Ciò significa che (sempre per rimanere al nostro esempio) con una semplice connessione a cambiavalute, anche senza conoscerlo, possiamo stabilire le operazioni che fornisce e possiamo subito iniziare ad usarle perchè ogni operazione ha una sua descrizione comprendente i parametri che si aspetta di ricevere, quelli che restituirà ed il tipo di entrambi.
Questa caratteristica dei Web service è estremamente utile se si considera che possono essere trovati utilizzando l'UDDI (Universal Description, Discoverey and Integration), un servizio di directory disponibile sul Web dove gli interessati possono registrare e cercare servizi web.