Un servizio Web è un insieme di funzioni di applicazioni correlate che può essere richiamato programmaticamente su Internet. I business possono essere alternati dinamicamente con i servizi Web per eseguire transazioni complesse con una minima programmazione. I servizi Web consentono agli acquirenti e ai venditori in tutto il mondo di comunicare, connettersi dinamicamente ed eseguire transazioni in tempo reale con la minima interazione da parte dell'utente.
I servizi Web sono applicazioni indipendenti, che si descrivono da sole, e che possono essere pubblicate, individuate e richiamate sul Web.
I servizi Web sono applicazioni indipendenti. Sul client non è richiesto software aggiuntivo. Un linguaggio di programmazione con XML e il client HTTP sono sufficienti per iniziare. Sul server, sono richiesti un server Web e un motore servlet. Il client e il server possono essere implementati in ambienti diversi. È possibile che il servizio Web abiliti un'applicazione esistente senza scrivere neanche una riga di codice.
I servizi Web si descrivono da soli. Il client e il server devono riconoscere solo il formato e il contenuto dei messaggi di richiesta e di risposta. La definizione del formato del messaggio è inclusa nel messaggio stesso; non sono richiesti repository di metadati esterni o strumenti di generazione codice.
I servizi Web sono modulari. È possibile aggregare più servizi Web semplici per formare servizi più complessi da un'implementazione del servizio Web.
I servizi Web sono indipendenti dalle piattaforme. I servizi Web si basano su un insieme specifico di standard aperti e basati su XML che permettono l'interoperabilità tra un servizio Web e i client su diverse piattaforme di elaborazione e linguaggi di programmazione.
I servizi Web possono rappresentare qualsiasi cosa, ad esempio articoli di recensione teatrali, previsioni del tempo, assegni di credito, quotazioni in borsa, consigli di viaggio o processi di prenotazione di biglietti aerei. Ciascuno di questi servizi business indipendenti, è un'applicazione che può essere facilmente integrata in altri servizio, dalla stessa azienda o da aziende diverse, per creare un processo business completo. Questa interoperabilità consente ai business di pubblicare, esplorare e associarsi dinamicamente a una vasta gamma di servizi Web in Internet.
I servizi Web possono essere raggruppati in tre categorie:
Informazioni business. Un business condivide informazioni con i consumatori o con altri business. In questo caso il business sta utilizzando il servizio Web per ampliarsi. Alcuni esempi di servizi Web business informativi sono notizie, previsioni del tempo o quotazioni in borsa.
Integrazione business. Un business fornisce servizi di transazioni ai propri clienti. In questo caso, il business diventa parte di una rete globale di fornitori che può essere utilizzata a scopi commerciali. Esempi di servizi Web di integrazione business comprendono offerte ed aste in e-marketplace, sistemi di prenotazione e controllo dei crediti.
Esternalizzazione del processo business I business si differenziano dai rispettivi competitori attraverso la creazione di una catena di valori globale. In questo caso, il business utilizza i servizi Web per integrare dinamicamente i propri processi. Un esempio di servizi Web di esternalizzazione dei processi business è l'associazione tra diverse aziende per combinare produzione, assemblaggio, distribuzione all'ingrosso e vendita al dettaglio di un prodotto particolare.
Un componente di rete in un'architettura di servizi Web può avere uno o più ruoli fondamentali: fornitore di servizi, broker di servizi e client di servizi.
Il binding stabilisce tutti i prerequisiti ambientali necessari per completare correttamente i servizi. Esempi di prerequisiti ambientali includono protezione, controllo delle transazioni e disponibilità HTTP. Le relazioni tra questi ruoli sono descritti nella Figura 1.
Figura 1. Ruoli dei servizi e interazioni
Per ulteriori informazioni sui servizi Web, fare riferimento a www.ibm.com/developerworks/webservices