Concetto: Servizi Web per J2EE
Questa linea guida fornisce una panoramica sui servizi Web J2EE.
Relazioni
Elementi correlati
Descrizione principale

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.

architettura del servizio Web
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.

vista del client del servizio Web
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).