web service
loc. inglese (propr. servizi su web). Applicazione on line che fornisce piccoli servizi su interfacce di comunicazioni standardizzate e basate su XML. È un risultato della ricerca sul web semantico che costituisce una risposta al problema dell'interoperabilità fra applicazioni diverse, che necessitino di utilizzare risorse di calcolo o di dati disponibili sul web. In particolare, esso permette di trasformare un tradizionale sistema client-server in uno accessibile in modo asincrono da altri sistemi definiti indipendentemente. La descrizione di un servizio viene resa pubblica sul web attraverso un documento scritto in WSDL (Web Service Description Language) che definisce le caratteristiche del servizio e i modi con cui accedervi. Il servizio è poi implementato tramite un agente in grado di ricevere e inviare messaggi, tipicamente attraverso una connessione HTTP. È possibile quindi sostituire, in qualsiasi momento, l'implementazione del servizio senza modificarne la descrizione e il riferimento da parte di altri agenti. Attraverso l'uso delle descrizioni si possono avere forme di scoperta dei servizi: un'applicazione che ricerca un servizio può collegarsi al sito che lo fornisce con le caratteristiche più vantaggiose, per esempio in termini di costi o di qualità del servizio, come riportate dalla sua descrizione. Un'applicazione può anche combinare servizi forniti da diversi siti per realizzare le sue funzionalità complessive, creando quella che viene definita una coreografia. Per esempio, per confrontare i prezzi delle offerte di voli, un'applicazione potrà collegarsi ai servizi che pubblicizzano le offerte di varie compagnie aeree, fornirne i parametri desiderati (aeroporto di partenza e di arrivo, date di andata e ritorno), ottenere i costi, gli orari e i cambi di valuta. La comunicazione con un web service avviene attraverso messaggi conformi al protocollo SOAP (Simple Object Access Protocol). Esso definisce la struttura dei messaggi per scambiare informazione strutturata e tipizzata tra elaboratori di pari livello (quindi non organizzati secondo una struttura client-server) in un ambiente distribuito e decentralizzato. Tali messaggi sono recapitati sulla base del protocollo HTTP. Il paradigma di comunicazione tramite SOAP è unidirezionale e senza mantenimento di informazione sullo stato della connessione, ma permette la creazione di schemi di interazione più complessi. La procedura di scoperta può essere facilitata dall'utilizzo di registri che centralizzano le descrizioni, eliminando quindi la necessità di esplorare la rete alla ricerca di descrizioni. Uno standard proposto per la realizzazione di questi registri è UDDI (Universal Description, Discovery and Integration). Mentre WSDL e SOAP sono raccomandazioni W3C, UDDI è uno standard definito da un consorzio indipendente.