Cosa si intende per servizi Web J2EE?
Un servizio Web è organizzato intorno ad un'architettura contenente tre elementi principali: il registro del servizio,
il provider del servizio e il richiedente del servizio. La Figura 1 fornisce una panoramica della relazione tra questi
diversi elementi.

Figura 1: - Architettura del servizio Web
Il provider del servizio inizia definendo l'interfaccia del servizio tramite un documento astratto della descrizione
del servizio utilizzando WSDL (Web Services Description Language). Questa descrizione astratta è associata al trasporto
e alla codifica di collegamenti e ad un indirizzo in una descrizione del servizio concreta per definire un'istanza di
servizio concreta denominata anche Service Endpoint o Port. Questa descrizione concreta può dunque essere
pubblicata in un registro del servizio quale UDDI (Universal Description, Discovery and Integration) a cui ogni
richiedente del servizio può accedere. Quest'ultimo lo utilizzerà per selezionare e utilizzare un'implementazione del
servizio concreta per il servizio Web.
Un servizio Web J2EE consiste in una serie di queste Port operanti all'interno di un contenitore. Il contenitore media
l'accesso al servizio e fornisce l'ambiente runtime.
Un client di un servizio Web può essere un altro servizio Web, qualunque componente J2EE o un'applicazione Java
arbitraria. Anche le applicazioni non Java o non Web possono utilizzare i servizi Web.
Vista del client del servizio Web
La vista del client del servizio Web è fornita dal provider Port (provider del servizio) e dal contenitore. Come
mostrato nella Figura 2 qui sotto (in grigio), la vista del client comprende un'interfaccia di servizio e
un'interfaccia di sevizio Endpoint.

Figura 2: - Vista del client del servizio Web
Per accedere ad una Port di un servizio Web, il client inizia collocando l'interfaccia del servizio utilizzando l'API
JNDI. Tramite l'interfaccia del servizio, il client scoprirà i metodi da utilizzare per accedere ad una Port e
all'implementazione del servizio Web utilizzando l'interfaccia del servizio Endpoint. Nella vista del client una Port è
considerato un oggetto stateless.
Le interfacce del servizio e del servizio Endpoint sono definite dalla specifica JAX-RPC, tuttavia il comportamento
dell'interfaccia del servizio è definita dal documento di descrizione del servizio WSDL fornito dal provider del
servizio Web.
Vista del server del servizio Web
La vista del server del servizio Web si occupa dell'implementazione della logica di business del servizio. Come
definito in J2EE 1.4, il servizio Web Endpoint può essere implementato con uno dei seguenti approcci:
-
Utilizzando un bean di sessione stateless come definito nelle specifiche JSR 109 e EJB 2.1
-
Utilizzando un servlet come specificato in JAX-RPC
Per ulteriori informazioni su questi due approcci, vedere Linea guida: Identificazione di bean di sessione per Endpoint basati sui bean di
sessione e Linea guida: Identificazione di servlet per Endpoint basati sui servlet.
Riferimento
Il riferimento principale per questa pagina è la Specifica dei servizi Web per J2EE (JSR 109).
|