Concept: Services Web pour J2EE
Ces instructions présentent une vue d'ensemble des services Web J2EE.
Relations
Eléments connexes
Description principale

Qu'est-ce qu'un service Web J2EE ?

Un service Web s'organise autour d'une architecture composée de trois éléments principaux : le registre, le fournisseur et le demandeur du service. La figure 1 présente les relations entre ces différents éléments.

architecture du service Web
Figure 1 : - architecture du service Web

Le fournisseur du service commence par définir l'interface du service via un document descriptif de service élaboré en langage WSDL (Web Services Description Language). Cette description abstraite est associée à des liaisons de transport et de codage, ainsi qu'à une adresse présente au sein d'une description de service concrète ; cela permet de définir une instance de service concrète (également appelée extrémité ou port de service Web). Cette description concrète peut être publiée dans un registre de services tel que le registre UDDI (Universal Description, Discovery and Integration (UDDI) accessible à tous les demandeurs de services. Les demandeurs de services l'utilisent pour sélectionner et utiliser une implémentation de service concrète pour le service Web.

Un service Web J2EE se compose d'un ensemble de ports de ce type fonctionnant dans un conteneur. Le conteneur favorise l'accès au service et fournit l'environnement d'exécution.

Les clients de service Web peuvent être d'autres services Web, des composants J2EE ou une application Java arbitraire. Même les applications non Java ou non Web peuvent utiliser les services Web.

Vue client des services Web

La vue client du service Web est fournie par le fournisseur de ports (fournisseur de services) et le conteneur. Comme l'illustre la figure 2 ci-dessous (en gris), la vue client représente une interface de service et une interface d'extrémité de service.

vue client des services Web
Figure 2 : - vue client du service Web

Pour accéder au port d'un service Web, le client commence par rechercher l'interface de service à l'aide des API JNDI. L'interface de service permet au client de connaître les méthodes à utiliser pour accéder à un port et à l'implémentation de service Web à l'aide de l'interface d'extrémité de service. Dans la vue client, un port est considéré comme un objet sans état.

Les interfaces de service et d'extrémité de service sont définies par la spécification JAX-RPC ; toutefois, le comportement de l'interface de service est défini par le document de description de service WSDL mis à disposition par le fournisseur de services Web.

Vue serveur des services Web

La vue serveur d'un service Web traite de l'implémentation de la logique métier du service. Comme défini dans J2EE 1.4, l'extrémité de service Web peut être implémentée de l'une des manières suivantes :

  • A l'aide d'un bean session sans état, comme décrit dans les spécifications JSR 109 et EJB 2.1
  • A l'aide d'un servlet, comme spécifié dans JAX-RPC

Pour plus d'informations sur ces deux approches, reportez-vous à Instructions : Identification des beans session pour l'extrémité fondée sur les beans session, et à Instructions : Identification des servlets pour l'extrémité fondée sur les servlets.

Référence

La principale référence de cette page est la  spécification des services Web pour J2EE (JSR 109).