sabato 15 novembre 2014

Cos'è un Web Service

Un Web Service (WS) è una funzionalità informatica offerta sulla rete da una applicazione che fornisce il servizio (sistema provider o server) ad uso di altre applicazioni che fruiscono del servizio stesso (sistemi requester o client)

Caratteristiche fondamentali di un WS sono:
  • essere raggiungibile via Web (rete Internet o Intranet) su un determinato indirizzo URI,
  • implementare una funzionalità auto-consistente,
  • avere un interfaccia documentata secondo delle specifiche standard, indipendente rispetto alla tecnologia con la quale è sviluppato e con la quale sono realizzati i client che lo invocano.
Solitamente quando si parla di Web Services si fa riferimento a servizi realizzati secondo quelli che sono gli standard più consolidati, cioè le specifiche HTTPSOAPWSDL, XML e XSD.
Tuttavia il termine generico WS può indicare anche servizi basati su altri tipi di protocolli, come ad esempio JMS per trasporto ed i sempre più utilizzati REST e JSON per il formato dati.

Rispetto ai meccanismi di comunicazione chiamati API (Application Programming Interface), i WS si differenziano perchè:
  • un API non è detto che rispetti specifiche standard di protocollo,
  • la fruizione di una funzionalità API da parte dei client, quasi mai è consentita mediante una interfaccia esposta sul web, ma tipicamente devono essere utilizzate delle librerie software specifiche rilasciate ad hoc, con tutte le limitazioni tecnologiche che ne conseguono,
  • un API solitamente da accesso a funzionalità atomiche interne ad un singolo sistema/applicazione mentre i WS realizzano anche processi di business distribuiti con workflows più articolati.
Fermo restando l'interfaccia di accesso unica che prevede dati di input e output, un WS può essere semplice oppure composto, nel caso in cui al proprio interno invochi altri servizi WS sequenzializzandoli o parallelizzandoli in un workflow (Service Orchestration).

Quando un contesto IT distribuito è formato da sistemi che cooperano con un approccio a servizi strutturato, si parla di SOA (Service Oriented Architecture).

Image courtesy of ddpavumba at FreeDigitalPhotos.net


Articoli Correlati