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.

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.

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).
|