Servizi Web - Architettura

Esistono due modi per visualizzare l'architettura del servizio Web:

  • Il primo è esaminare i ruoli individuali di ogni attore del servizio web.
  • Il secondo è esaminare lo stack di protocolli del servizio web emergente.

Ruoli del servizio Web

Ci sono tre ruoli principali all'interno dell'architettura del servizio web:

Fornitore di servizi

Questo è il fornitore del servizio web. Il fornitore di servizi implementa il servizio e lo rende disponibile su Internet.

Richiedente del servizio

Questo è qualsiasi consumatore del servizio web. Il richiedente utilizza un servizio Web esistente aprendo una connessione di rete e inviando una richiesta XML.

Registro dei servizi

Questa è una directory di servizi centralizzata in modo logico. Il registro fornisce un luogo centrale in cui gli sviluppatori possono pubblicare nuovi servizi o trovare quelli esistenti. Serve quindi come un centro di compensazione centralizzato per le aziende e i loro servizi.

Stack di protocollo del servizio Web

Una seconda opzione per visualizzare l'architettura del servizio Web è esaminare lo stack di protocollo del servizio Web emergente. Lo stack è ancora in evoluzione, ma attualmente ha quattro livelli principali.

Servizio di trasporto

Questo livello è responsabile del trasporto dei messaggi tra le applicazioni. Attualmente, questo livello include Hyper Text Transport Protocol (HTTP), Simple Mail Transfer Protocol (SMTP), File Transfer Protocol (FTP) e protocolli più recenti come Blocks Extensible Exchange Protocol (BEEP).

Messaggistica XML

Questo livello è responsabile della codifica dei messaggi in un formato XML comune in modo che i messaggi possano essere compresi a entrambe le estremità. Attualmente, questo livello include XML-RPC e SOAP.

Descrizione del servizio

Questo livello è responsabile della descrizione dell'interfaccia pubblica di un servizio Web specifico. Attualmente, la descrizione del servizio viene gestita tramite WSDL (Web Service Description Language).

Scoperta del servizio

Questo livello è responsabile della centralizzazione dei servizi in un registro comune e della semplice funzionalità di pubblicazione / ricerca. Attualmente, l'individuazione dei servizi viene gestita tramite UDDI (Universal Description, Discovery, and Integration).

Man mano che i servizi Web si evolvono, possono essere aggiunti ulteriori livelli e ulteriori tecnologie possono essere aggiunte a ogni livello.

Il capitolo successivo spiega i componenti dei servizi web.

Poche parole sul servizio di trasporto

Il fondo dello stack del protocollo del servizio Web è il trasporto del servizio. Questo livello è responsabile del trasporto effettivo dei messaggi XML tra due computer.

Hyper Text Transfer Protocol (HTTP)

Attualmente, HTTP è l'opzione più popolare per il trasporto di servizi. HTTP è semplice, stabile e ampiamente distribuito. Inoltre, la maggior parte dei firewall consente il traffico HTTP. Ciò consente ai messaggi XMLRPC o SOAP di mascherarsi come messaggi HTTP. Ciò è utile se si desidera integrare applicazioni remote, ma solleva una serie di problemi di sicurezza.

Blocks Extensible Exchange Protocol (BEEP)

Questa è una promettente alternativa a HTTP. BEEP è un nuovo framework IETF (Internet Engineering Task Force) per la creazione di nuovi protocolli. BEEP è stratificato direttamente su TCP e include una serie di funzionalità integrate, tra cui un protocollo di handshake iniziale, autenticazione, sicurezza e gestione degli errori. Utilizzando BEEP, è possibile creare nuovi protocolli per una varietà di applicazioni, inclusi messaggistica istantanea, trasferimento di file, diffusione di contenuti e gestione della rete.

SOAP non è legato ad alcun protocollo di trasporto specifico. In effetti, puoi utilizzare SOAP tramite HTTP, SMTP o FTP. Un'idea promettente è quindi quella di utilizzare SOAP su BEEP.