Caratteristiche, vantaggi e tecnologie dei Web Services

Caratteristiche, vantaggi e tecnologie dei Web Services

Definizione Web Services

Un Web Service è un servizio disponibile in rete ad uso di altri programmi, che può essere pubblicato, localizzato e invocato attraverso il Web. A sua volta, un servizio espone una o più funzionalità che devono essere specificate in termini di contratto tra il fornitore e l’utilizzatore. Una funzionalità offerta da un Web Service può andare da una semplice richiesta a complesse elaborazioni.
I Web Services sono lascamente accoppiati e comunicano direttamente con altri Web Services attraverso Internet usando tecnologia basata esclusivamente su standard. Essi, dunque, possono essere utilizzati come building block per realizzare applicazioni in sistemi distribuiti aperti, senza preoccuparci dell’implementazione e della localizzazione dei componenti software che forniscono i servizi.

Caratteristiche, vantaggi e tecnologie dei Web Services

Diversamente dalle attuali tecnologie basate su componenti, i Web Services non sono accessibili mediante un protocollo specifico di modello ad oggetti, come Distributed Component Object Model (DCOM), Remote Method Invocation (RMI), o Internet Inter-ORB Protocol (IIOP), bensì utilizzano protocolli e formati dati che sono standard per il Web, come HTTP (Hypertext Transfer Protocol) e XML (eXtensible Markup Language). Inoltre, l’applicazione client che consuma i Web Services può essere implementata in un qualsiasi linguaggio di programmazione capace di creare e interpretare i messaggi definiti per l’interfaccia dei Web Services.

L’uso di questa nuova tecnologia, può consentire alle compagnie di esporre, in modo veloce ed economicamente vantaggioso, le proprie applicazioni correnti e future come Web Services che possono essere scoperti e consumati dai partner esterni, oltre il firewall. In definitiva, i Web Services possono essere utilizzati da customer, fornitori e partner commerciali indipendentemente dalla piattaforma hardware, dal sistema operativo e dall’ambiente di programmazione utilizzato.

Per meglio comprendere quanto detto, faccio un semplice esempio di come, nel prossimo futuro, un’applicazione Web può trarre vantaggio dall’uso di Web Services. Consideriamo un sito Web che vende componenti per PC. Questo desidera inserire nelle sue offerte due nuovi servizi di cui non ha il controllo diretto. Il primo è un servizio di spedizione, fornito da un corriere espresso, e il secondo un servizio d’accredito, fornito da un’istituzione di credito.
Una possibile soluzione consisterebbe nello stabilire relazioni EDI (Electronic Data Interchange) con i fornitori e, conseguentemente, ottenere i moduli da integrare per lo specifico ambiente di sviluppo. Questa soluzione richiede un investimento non indifferente e una stretta collaborazione con l’infrastruttura IT dei partner.

Un’altra soluzione potrebbe essere quella di usare un collegamento ipertestuale che rimandi il visitatore al Web site dei partner. Questa soluzione, meno complessa e più veloce, è sconsigliabile perché poco flessibile e comporta la perdita di controllo sul cliente.
Adottando l’approccio basato sui Web Services , invece, il sito, che vende componenti per PC al dettaglio, può cercare i due servizi desiderati in un catalogo, contattare i fornitori, provare, eventualmente, i servizi e, infine, se li ritiene soddisfacenti può decidere di integrarli nella propria applicazione Web e usarli attraverso Internet.

Vantaggi dei Web Services

I benefici e i vantaggi derivanti dall’uso dei Web Services sia per l’interazioni interne (Intranet aziendale) sia per quelle su Internet con i partner commerciali, sono tanti. Questi includono:

  • Interoperabilità: le funzionalità dei componenti di piattaforme di sviluppo eterogenee (.NET, CORBA, J2EE) possono essere velocemente integrate nelle applicazioni business. Tutti i Web Services possono interagire tra loro.
  • Accessibilità: le correnti applicazioni, sviluppate in qualsivoglia linguaggio di programmazione, possono essere esposte come Web Services velocemente usando appositi tools, che possono essere inseriti in qualsiasi ambiente di sviluppo. Tutti i dispositivi, che supportano fondamentalmente le tecnologie HTTP e XML, possono accedere ai Web Services e consumarli.
  • Riuso di componenti: gli sviluppatori potranno usare un ampio numero di Web Services, forniti da terzi parti, da integrare nelle proprie applicazioni. Un’azienda può decidere di riusare il proprio patrimonio software esistente, trasformando i propri componenti software in Web Services.
  • Nuovi canali di comunicazione: si può far leva sugli investimenti fatti nell’infrastruttura Internet per realizzare nuovi canali di comunicazione per raggiungere i propri clienti.

Tecnologie per Web Services

Lo standard che consente ai customer, fornitori, e partner commerciale d’invocare un Web Service è SOAP (Simple Object Access Protocol). Mediante questo protocollo una qualsiasi applicazione può invocare un servizio a run-time, ovunque esso si trovi nel Web. I parametri d’ingresso e uscita del metodo del componente remoto sono definiti in un documento XML che viene incapsulato in un messaggio HTTP e inviato al Web Application Server del privider del servizio. Un dispatch SOAP, ecodificato il messaggio XML, provvede a invocare il metodo richiesto e prepara una risposta, codificata in XML, che invia al richiedente.

Per integrare automaticamente un Web Service a livello di programmazione è necessario un documento che descriva tutti i dettagli tecnici relativi al servizio, come l’interfaccia (nomi dei metodi, i tipi degli argomenti e dei valori di ritorno), il protocollo utilizzato per effettuarne il binding, informazioni relative all’endpoint e altri dettagli associati all’implementazione. Il linguaggio usato per scrivere questo documento è chiamato WSDL (Web Services Description Language) e la sua semantica è stata definita utilizzando l’estendibilità del metalinguaggio XML. La descrizione del servizio risulta essere indipendente dall’implementazione del servizio.

Infine, un Web Service può essere pubblicato e scoperto utilizzando un registro di disponibilità, una specie di pagine gialle elettronoche. Le specifiche che definiscono le strutture dati che rappresentano le informazioni dell’azienda che fornisce il servizio e i dettagli sul servizio stesso, le API (Application Programming Interface) delle operazioni di pubblicazione e ricerca nonché la tassonomia dei servizi sono proposte dello standard UDDI (Universal Description, Discovery and Integration).

Tecnologie per Web Services - SOAP, WSDL e UDDI

Precedente Differenza tra URI, URL, URN e IRI in informatica Successivo Web Services: Differenza tra XML, SOAP, WSDL e UDDI

Lascia un commento