SOAP Web Services

Note dalla lettura di Beginning Java EE 6 Platform with GlassFish 3 di Antonio Goncalves. Capitolo 14: SOAP Web Services.

SOA (Service-Oriented Architecture) é una architettura che può essere implementata usando servizi web.

I servizi web sono detti debolmente accopiati (loosely coupled) perché il cliente non ha bisogno di conoscere i suoi dettagli implementativi. Il cliente, normalmente chiamato consumer, e il servizio scambiano dati usando documenti XML.

I servizi web forniscono un modo standard per connettere diversi prodotti standard.

In pratica, i web service sono un modo di mettere a disposizione la logica business per mezzo di una interfaccia al consumer. Differentemente da oggetti o EJB, i servizi web usano XML per implementare un accoppiamento debole. L'interfaccia a cui il messaggio viene mandato definisce il formato del messaggio in input e output, e il meccaniscmo per pubblicare e scoprire le interfacce al servizio web.

Il meccanismo opzionale di registrazione dei servizi web (UDDI) permette al cunsumer di trovare il servizio. Una volta trovato lo può contattare via HTTP mandandogli un messaggio XML.

I principali protocolli e tecnologie utilizzati dai servizi web sono:
  • UDDI: Universal Description Discovery and Integration. Una sorta di pagine gialle usate per categorizzare e memorizzare le interfacce ai servizi web.
  • WSDL: Web Services Description Language. Definisce l'interfaccia al servizio web, i tipi di messaggi e dati, interazioni e protocolli.
  • SOAP: Simple Object Access Protocol. Un protocollo basato su XML che definisce la busta (envelope) utilizzata per le comunicazioni del servizio web.
  • HTTP: Hypertext Transfer Protocol. É il protocollo di trasporto normalmente utilizzato per scambiare messaggi, ma é possibile usarne altri come SMTP, FTP o JMS.
  • XML: Extensible Markup Language: É il fondamento su cui sono costruiti i servizi web.
Il registry UDDI punta ad un file WSDL pubblicamente disponibile su internet che il potenziale consumer può scaricare. Si può pensare a WSDL come ad una sorta di interfaccia Java scritta in XML. SOAP definisce il modo in cui i messaggi sono spediti da un computer ad un altro.

Nessun commento:

Posta un commento