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.
Nessun commento:
Posta un commento