Address Book (carnet d'adresses) - Notes techniques


Pour une description générale des services Web, consultez la section Services Web IBM WebSphere dans le Centre de documentation.

L'exemple AddressBook illustre les différentes techniques d'accès à un service Web. Il inclut deux versions de client et quatre variantes du même bean AddressBook. L'un des clients est de type J2SE (Java 2 Standard Edition), l'autre est une application J2EE (Java 2 Enterprise Edition). Chaque client sollicite les quatre variantes du bean de service Web AddressBook déployées dans le serveur.

Recherche du code source

Vous trouverez le code source de l'exemple AddressBook dans les sous-répertoires de racine_profil/samples/src/WebServicesSamples. Le code source des beans de chaque variante de l'application AddressBook se trouve dans un sous-répertoire dont le nom est indiqué dans le tableau ci-après. Le code source du client simple J2SE se trouve dans le répertoire Clients/simpleClients/samples/address. Celui de la version client d'application J2EE se trouve dans le répertoire Clients/applicationClients/AddressBookClient.

Clients z/OS : L'arborescence du code source des exemples n'est pas fournie sur la plateforme z/OS car les applications ne sont pas générées sur cette plateforme.

Les quatre variantes des beans d'application illustrent différentes techniques de développement d'une application implémentée sous forme de service Web. Il y a deux Enterprise JavaBeans (EJB), chacun étant créé suivant une approche différente. L'une de ces approches montre comment concevoir un bean de services Web en partant d'un fichier WSDL (Web Service Definition Language) et en utilisant l'outil WSDL2Java pour générer le code Java (les liaisons).

Les artefacts de cet EJB incluent "W2JE" dans leur nom pour les distinguer des autres versions. Un second Enterprise JavaBean est créé suivant l'approche inverse, c'est-à-dire en partant d'un EJB déjà implémenté et en utilisant l'outil Java2WSDL pour générer son fichier WSDL. Le fichier WSDL est utilisé pour générer les descripteurs de déploiement. Les artefacts de cet EJB sont identifiés par la chaîne "J2WE".

Suivant le même principe, les artefacts des deux JavaBeans contiennent la chaîne "J2WB" ou "W2JB" pour indiquer l'approche utilisée.

Le tableau suivant indique les noms des quatre beans AddressBook.

 
Port Répertoire Classe d'implémentation Technique illustrée
AddressBookW2JE addrEJBTopDown AddressBookSoapBindingImpl.java EJB de service Web développé en partant d'un fichier WSDL et en utilisant l'outil WSDL2Java pour générer le code Java des liaisons de cet EJB.
AddressBookJ2WE addrEJBBottomUp AddressBookBeanImpl.java EJB de service Web développé en partant d'un bean existant et en utilisant l'outil Java2WSDL pour générer le fichier de définition WSDL correspondant, à partir duquel seront créés les descripteurs de déploiement.
AddressBookJ2WB addrBeanBottomUp AddressBookBean.java JavaBean de service Web développé en partant d'un bean existant et en utilisant l'outil Java2WSDL pour générer le fichier de définition WSDL correspondant, à partir duquel seront créés les descripteurs de déploiement.
AddressBookW2JB addrBeanTopDown AddressBookBean.java JavaBean de service Web développé en partant d'un fichier WSDL et en utilisant l'outil WSDL2Java pour générer le code Java des liaisons de ce bean.

Les répertoires indiqués dans le tableau ci-dessus se trouvent sous le répertoire racine_profil/samples/src/WebServicesSamples.

Chaque implémentation du service AddressBook prend en charge l'opération getAddressFromName. Celle-ci renvoie une réponse statique au client. Les adresses ne sont pas stockées dans une base de données. En effet, l'objectif de cet exemple est simplement de montrer la relation entre un bean et un service Web.

Toutes les versions du service AddressBook se trouvent dans le fichier d'archive WebServicesSamples.ear. Elles ont chacune une racine de contexte et un nom de fichier JAR qui leur est propre, ce qui rend possible leur déploiement simultané. En outre, les classes d'implémentation des EJB portent des noms uniques, différents de ceux des classes d'implémentation des JavaBeans. Grâce à cette distinction, le chargeur de classe du serveur est en mesure de localiser à chaque fois la classe d'implémentation correcte.

Relations entre les beans de l'exemple AddressBook

Cet exemple inclut deux clients, une version simple J2SE et une version implémentée sous forme d'application J2EE. Chaque client sollicite les quatre variantes du bean de service Web AddressBook déployées dans le serveur.

La relation entre les quatre beans déployés sur le serveur est visible dans le fichier WSDL client, lequel est conçu pour permettre au client d'accéder à n'importe lequel des quatre beans. Le fichier WSDL définit un seul service, AddressBookService, avec quatre ports. Le fichier AddressBook.wsdl du client se trouve dans le répertoire des exemples, src/WebServicesSamples/Clients/applicationClients/META-INF.