dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier...

182
Guide du développeur de services Web VERSION 8 Borland ® JBuilder ®

Transcript of dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier...

Page 1: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

Guide du développeur de services Web

V E R SI O N 8

Borland®

JBuilder®

Page 2: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

Consultez le fichier deploy.html situé dans le répertoire redist de JBuilder pour avoir la liste complète des fichiers que vous pouvez distribuer en accord avec votre contrat de licence JBuilder.

Les applications mentionnées dans ce manuel sont brevetées par Borland Software Corporation ou en attente de brevet. Reportez-vous au CD ou à la boîte de dialogue A propos. Ce document ne donne aucun droit sur ces brevets.

COPYRIGHT © 1997, 2002 Borland Software Corporation. Tous droits réservés. Tous les produits Borland sont des marques commerciales ou des marques déposées de Borland Software Corporation aux Etats-Unis et dans les autres pays. Toutes les autres marques sont la propriété de leurs fabricants respectifs.

Pour connaître les conditions et limites des fournisseurs tiers, lisez les Remarques version sur votre CD JBuilder.

JBE0080WW21002websvcs 1E0R10020203040506-9 8 7 6 5 4 3 2 1PDF

Page 3: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

i

Chapitre 1Introduction 1-1Conventions de la documentation . . . . . . . . 1-4Support et ressources destinés

aux développeurs . . . . . . . . . . . . . . . . 1-6Comment contacter le support technique

de Borland. . . . . . . . . . . . . . . . . . . 1-6Ressources en ligne. . . . . . . . . . . . . . . 1-6World Wide Web . . . . . . . . . . . . . . . . 1-7Groupes de discussion Borland. . . . . . . . 1-7Groupes de discussion Usenet . . . . . . . . 1-7Rapports de bogues . . . . . . . . . . . . . . 1-8

Chapitre 2Introduction aux services Web 2-1Architecture des services Web . . . . . . . . . . 2-2Normes des services Web . . . . . . . . . . . . . 2-3

Simple Object Access Protocol (SOAP) . . . 2-3Web Services Description Language

(WSDL) . . . . . . . . . . . . . . . . . . . . 2-4UDDI (Universal Description, Discovery

and Integration). . . . . . . . . . . . . . . . 2-5WSIL (Web Services Inspection Language) . 2-5API Java pour appels de procédures distantes

basés sur XML (JAX-RPC) . . . . . . . . . . 2-6JBuilder et services Web . . . . . . . . . . . . . . 2-7

Utilisation et création de services Web avec les experts JBuilder . . . . . . . . . . . 2-8

Exemples de services Web. . . . . . . . . . . 2-8Serveurs d’applications d’entreprise

pris en charge . . . . . . . . . . . . . . . . . 2-8

Chapitre 3Configuration des projets pour les services Web 3-1

Utilisation de l’expert Configuration des services Web . . . . . . . . 3-1

Dénomination de la WebApp . . . . . . . . . 3-3Sélection d’un EAR. . . . . . . . . . . . . . . 3-3Sélection d’une boîte à outils

de services Web . . . . . . . . . . . . . . . . 3-3Boîte à outils Apache Axis . . . . . . . . . 3-4Boîte à outils WebLogic . . . . . . . . . . 3-4Boîte à outils Apache SOAP 2 . . . . . . . 3-4

Définition d’une configuration d’exécution pour le serveur de services Web . . . . . . 3-5

Examen du nœud WebApp . . . . . . . . . . . . 3-5

Démarrage du serveur de services Web . . . . . 3-6Définition des options de construction . . . . . . 3-6

Chapitre 4Surveillance des messages SOAP 4-1Utilisation du moniteur TCP . . . . . . . . . . . 4-2

Création d’un nouveau moniteur TCP/IP . . 4-3Surveillance des messages SOAP

d’un service . . . . . . . . . . . . . . . . . . 4-4Utilisation de la page d’accueil

des services Web WebLogic . . . . . . . . . . . 4-6

Chapitre 5Utilisation de WSDL 5-1Termes WSDL . . . . . . . . . . . . . . . . . . . . 5-2Exemples WSDL . . . . . . . . . . . . . . . . . . 5-3

Chapitre 6Développement d’EJB en tant que services Web 6-1

Chapitre 7Utilisation de la boîte à outils Apache Axis 7-1

Exportation d’une classe en tant que service Web. . . . . . . . . . . . . . 7-1

Importation d’un WSDL . . . . . . . . . . . . . . 7-6Exportation d’EJB en tant que services Web . . . 7-9Importation de services

en tant qu’applications EJB. . . . . . . . . . . 7-11Importation de services

en tant qu’applications EJB dans l’explorateur de services Web . . . . 7-13

Déploiement de services Web . . . . . . . . . . 7-14Compréhension des fichiers WSDD. . . . . 7-14deploy.wsdd . . . . . . . . . . . . . . . . . . 7-15

Modifications des fichiers WSDD pour les EJB . . . . . . . . . . . . . . . . 7-16

server-config.wsdd . . . . . . . . . . . . . . 7-17Modification de server-config.wsdd. . . 7-18

Chapitre 8Utilisation de la boîte à outils WebLogic 8-1

Exportation d’une classe en tant que service Web. . . . . . . . . . . . . . 8-2

Table des matières

Page 4: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

ii

Exportation de plusieurs classes en tant que service Web . . . . . . . . . . . 8-6

Importation d’un WSDL ou d’un EAR en tant que service Web . . . . . . . . . . . . . 8-6

Importation d’un EAR en tant que service Web . . . . . . . . . . . 8-6

Importation d’un WSDL en tant que service Web . . . . . . . . . . . 8-8

Test des services déployés . . . . . . . . . . . . 8-9Ecriture d’un client de test. . . . . . . . . . . 8-11

Exportation d’EJB en tant que services Web . . 8-12Déploiement de services Web . . . . . . . . . . 8-14

Compréhension des fichiers WLDU . . . . . 8-14Modifications des fichiers WLDU

pour les EJB . . . . . . . . . . . . . . . . . . 8-15Modification des propriétés

du nœud de déploiement EJB . . . . . . 8-15Edition du fichier WLDU et modification

de l’élément <documentation> . . . . . 8-16web-services.xml . . . . . . . . . . . . . . . . 8-17

Déploiement manuel de services avec web-services.xml . . . . . . . . . . 8-17

Définition des valeurs par défaut d’appellation de services . . . . . . . . . . . . 8-18

Chapitre 9Utilisation de la boîte à outils Apache SOAP 2 9-1

Exportation d’une classe en tant que service Web . . . . . . . . . . . . . 9-2

Importation d’un WSDL . . . . . . . . . . . . . 9-2

Chapitre 10Modification des paramètres des serveurs d’applications d’entreprise pour les services Web 10-1

Borland Enterprise Server 5.0.2 – 5.1.x. . . . . .10-2WebLogic Server 7.0 (avec et sans SP1) . . . . . 10-2WebSphere Application Server 4.0 AES/AE . . 10-3

Chapitre 11Parcours et publication de services Web 11-1

Présentation de l’explorateur des services Web . . . . . . . . . . . . . . . . . 11-1

Présentation d’UDDI . . . . . . . . . . . . . . . 11-3Termes et définitions UDDI . . . . . . . . . . 11-4

Présentation d’Axis . . . . . . . . . . . . . . . . 11-5

Présentation de WSIL. . . . . . . . . . . . . . . 11-5Ajout et suppression de nœuds

dans l’arborescence de l’explorateur . . . . . 11-6Recherche dans un registre UDDI. . . . . . . . 11-8

Recherche de business . . . . . . . . . . . . 11-8Recherche par nom . . . . . . . . . . . . 11-8Recherche par catégorie . . . . . . . . . .11-10Recherche par identificateur . . . . . . .11-12

Recherche des services . . . . . . . . . . . .11-13Recherche de tModel . . . . . . . . . . . . .11-14

Recherche par nom . . . . . . . . . . . .11-14Consultation des résultats

de la requête UDDI . . . . . . . . . . . . . . .11-15Pages de détail UDDI . . . . . . . . . . . . .11-15

Page Détails . . . . . . . . . . . . . . . .11-16Page Détails business . . . . . . . . . . .11-16Page Détails du service . . . . . . . . . .11-16Page Détails de liaison . . . . . . . . . .11-16Page Détails d’instance TModel . . . . .11-16Page Détails TModel . . . . . . . . . . .11-16

Recherche de services Web sur un serveur Axis . . . . . . . . . . . . . . .11-17

Affichage des services . . . . . . . . . . . .11-17Importation d’un WSDL et publication

de services Web Axis . . . . . . . . . . . .11-19Accès aux serveurs Axis distants . . . . . .11-19

Recherche de services Web avec des documents WSIL . . . . . . . . . . .11-20

Nœud Services. . . . . . . . . . . . . . . . .11-21Nœud Liens . . . . . . . . . . . . . . . . . .11-21Exécution d’une recherche

avec un document WSIL . . . . . . . . . .11-23Publication de services Web

dans un registre UDDI . . . . . . . . . . . . .11-23Recensement sur le site UDDI par

l’intermédiaire d’un navigateur Web . . .11-24Création et déploiement d’un service . . . .11-24Publication de business et de services . . .11-24Publication de tModel . . . . . . . . . . . .11-26

Publication de services Web à partir d’un serveur Axis . . . . . . . . . . .11-26

Création et déploiement de services Web hébergés sur un serveur Axis . . . . . . .11-26

Affichage des services Web hébergés par Axis . . . . . . . . . . . . . .11-27

Publication à partir du serveur Axis . . . .11-27Surveillance des messages UDDI . . . . . . . .11-28Génération de classes Java

à partir de documents WSDL . . . . . . . . .11-29

Page 5: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

iii

Chapitre 12Tutoriels de services Web 12-1Tutoriels de services Web Axis . . . . . . . . . . 12-1Tutoriels de services Web WebLogic . . . . . . . 12-2Tutoriels de services Web généraux . . . . . . .12-2

Chapitre 13Tutoriel : Création d’un service Web simple avec Axis 13-1

Etape 1 : Création d’un exemple de JavaBean . 13-2Etape 2 : Exportation de l’exemple de bean

en tant que service Web et configuration du projet pour les services Web. . . . . . . . . 13-2

Etape 3 : Déploiement, exécution et test du service Web . . . . . . . . . . . . . . . . . . 13-5

Chapitre 14Tutoriel : Génération d’un service Web à partir d’un document WSDL 14-1

Etape 1 : Configuration du projet pour les services Web . . . . . . . . . . . . . .14-2

Etape 2 : Importation du document WSDL . . . 14-3Etape 3 : Examen des descripteurs

de déploiement . . . . . . . . . . . . . . . . . . 14-4Etape 4 : Implémentation du service. . . . . . . 14-5Etape 5 : Création de l’application Web Public .14-6Etape 6 : Création d’une JSP appelant

le service Web. . . . . . . . . . . . . . . . . . . 14-6Etape 7 : Implémentation du bean . . . . . . . . 14-9Etape 8 : Appel du service Web et surveillance

des messages SOAP . . . . . . . . . . . . . . 14-10

Chapitre 15Tutoriel : Création d’un service Web à partir d’une application EJB avec Borland Enterprise Server 15-1

Etape 1 : Installation du projet exemple . . . . . 15-2Etape 2 : Création d’un serveur de services Web

et déploiement sur le serveur d’applications .15-2Etape 3 : Génération des codes client et serveur

à partir du WSDL . . . . . . . . . . . . . . . . 15-4Etape 4 : Test du service . . . . . . . . . . . . . . 15-5Etape 5 : Ecriture du client et utilisation

du service . . . . . . . . . . . . . . . . . . . . . 15-6

Chapitre 16Tutoriel : Importation d’un service Web en tant qu’application EJB 16-1

Etape 1 : Ajout d’un document WSDL au projet . . . . . . . . . . . . . . . . . . . . . 16-2

Etape 2 : Création d’une application EJB à partir du WSDL . . . . . . . . . . . . . . . . 16-2

Etape 3 : Test de l’application EJB . . . . . . . . 16-3

Chapitre 17Tutoriel : Création d’un service Web simple avec WebLogic 17-1

Etape 1 : Création d’un exemple de JavaBean . 17-2Etape 2 : Exportation de l’exemple de bean

en tant que service Web. . . . . . . . . . . . . 17-2Etape 3 : Exécution du serveur

et déploiement du service . . . . . . . . . . . 17-5Etape 4 : Test du service déployé . . . . . . . . 17-5Etape 5 : Ecriture d’un client

pour tester le service . . . . . . . . . . . . . . 17-6

Chapitre 18Tutoriel : Création d’un service Web à partir d’une application EJB avec le serveur WebLogic 18-1

Etape 1 : Installation du projet. . . . . . . . . . 18-2Etape 2 : Configuration du projet

pour les services Web . . . . . . . . . . . . . . 18-2Etape 3 : Déploiement de l’EJB

en tant que service Web. . . . . . . . . . . . . 18-3Etape 4 : Génération du code côté client

à partir du WSDL . . . . . . . . . . . . . . . . 18-4Etape 5 : Ecriture du client et utilisation

du service en local. . . . . . . . . . . . . . . . 18-4

Chapitre 19Tutoriel : Parcours des services Web UDDI 19-1

Etape 1 : Parcours des services Web sur le site XMethods . . . . . . . . . . . . . . 19-2

Etape 2 : Parcours des tModel . . . . . . . . . . 19-4Etape 3 : Recherche des éditeurs de logiciels

sur le site UDDI de Microsoft . . . . . . . . . 19-6Etape 4 : Génération de classes Java . . . . . . 19-7

Index I-1

Page 6: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

iv

Page 7: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

I n t r o d u c t i o n 1-1

C h a p i t r e

1Chapitre1Introduction

C’est une fonctionnalitéde JBuilder Entreprise.

Le Guide du développeur de services Web explique comment utiliser les fonctionnalités de services Web de JBuilder pour créer, parcourir, utiliser et publier des services Web.

Le Guide du développeur de services Web contient les chapitres suivants :

• Chapitre 2, “Introduction aux services Web”

Donne un aperçu des services Web et fonctionnalités de services Web disponibles dans JBuilder.

• Chapitre 3, “Configuration des projets pour les services Web”

Explique comment créer un serveur de services Web pour héberger un service Web en utilisant l’expert Configuration des services Web et comment exécuter ce serveur de services Web dans l’EDI JBuilder.

• Chapitre 4, “Surveillance des messages SOAP”

Décrit la manière de surveiller les messages SOAP en utilisant des outils proposés par les boîtes à outils de services Web.

• Chapitre 5, “Utilisation de WSDL”

Donne un aperçu du langage Web Services Description Language (WSDL) et de la manière dont ce langage est utilisé dans les services Web.

• Chapitre 6, “Développement d’EJB en tant que services Web”

Donne un aperçu de la façon dont JBuilder développe les Enterprise JavaBeans en tant que services web.

Page 8: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

1-2 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

I n t r o d u c t i o n

• Chapitre 7, “Utilisation de la boîte à outils Apache Axis”

Explique comment utiliser la boîte à outils Apache Axis pour développer des services Web. La boîte à outils Apache Axis n’est pas prise en charge dans l’édition WebLogic de JBuilder.

• Chapitre 8, “Utilisation de la boîte à outils WebLogic”

Explique comment utiliser la boîte à outils WebLogic pour développer des services Web.

• Chapitre 9, “Utilisation de la boîte à outils Apache SOAP 2”

Explique comment utiliser la boîte à outils Apache SOAP 2 pour développer des services Web.

• Chapitre 10, “Modification des paramètres des serveurs d’applications d’entreprise pour les services Web”

Décrit les serveurs d’applications d’entreprise pris en charge par JBuilder pour les services Web et fournit des informations sur les paramètres personnalisés pour différents serveurs.

• Chapitre 11, “Parcours et publication de services Web”

Décrit comment utiliser l’explorateur de services Web pour parcourir et publier des services web.

• Exemples de services Web

Des exemples de services Web sont disponibles dans les répertoires JBuilder suivants :

• samples/webservices/axis

• samples/webservices/weblogic

• thirdparty/apache-soap/samples

• thirdparty/xml-axis/java/samples

• Tutoriels Axis :

La boîte à outils ApacheAxis n’est pas prise en

charge dans l’éditionWebLogic de JBuilder.

• Chapitre 13, “Tutoriel : Création d’un service Web simple avec Axis”

Explique comment utiliser l’expert Exportation en tant que service Web pour exporter un JavaBean en tant que service web avec la boîte à outils Axis, avec exposition de méthodes sélectionnées auprès du consommateur de services web.

• Chapitre 14, “Tutoriel : Génération d’un service Web à partir d’un document WSDL”

Explique comment utiliser l’expert Importation d’un service Web afin de générer des classes Java pour un service Web avec la boîte à outils Axis, puis implémenter ces classes pour donner accès au service de traduction BabelFish d’AltaVista.

Page 9: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

I n t r o d u c t i o n 1-3

I n t r o d u c t i o n

• Chapitre 15, “Tutoriel : Création d’un service Web à partir d’une application EJB avec Borland Enterprise Server”

Explique comment créer un service Web à partir d’une application Enterprise JavaBean en utilisant Borland Enterprise Server.

• Chapitre 16, “Tutoriel : Importation d’un service Web en tant qu’application EJB”

Explique comment importer un WSDL en tant qu’application EJB en utilisant la boîte à outils Axis et Borland Enterprise Server.

• Tutoriels WebLogic :

• Chapitre 17, “Tutoriel : Création d’un service Web simple avec WebLogic”

Explique comment utiliser l’expert Exportation en tant que service Web pour publier un JavaBean en tant que service web, avec exposition de méthodes sélectionnées auprès du consommateur de services web.

• Chapitre 18, “Tutoriel : Création d’un service Web à partir d’une application EJB avec le serveur WebLogic”

Explique comment créer un service Web à partir d’une application EJB en utilisant WebLogic Server.

• Tutoriels généraux :

• Chapitre 19, “Tutoriel : Parcours des services Web UDDI”

Explique comment utiliser l’explorateur de services Web pour parcourir les services Web et générer des classes Java à partir d’un document WSDL.

Page 10: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

1-4 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

C o n v e n t i o n s d e l a d o c u m e n t a t i o n

Conventions de la documentationLa documentation Borland sur JBuilder utilise les polices et les symboles décrits dans le tableau suivant pour signaler du texte particulier.

Tableau 1.1 Polices et symboles

Police Signification

Police à espacement fixe

La police à espacement fixe représente :• du texte tel qu’il apparaît à l’écran• du texte que vous devez taper, comme dans “Tapez Hello

World dans le champ Titre de l’expert Application.”• des noms de fichiers• des noms de chemins• des noms de répertoires ou de dossiers• des commandes, comme SET PATH• du code Java• des types de données Java, comme boolean, int et long.• des identificateurs Java, comme des noms de variables,

classes, noms de paquets, interfaces, composants, propriétés, méthodes et événements

• des noms d’argument• des noms de champs• des mots clés Java, comme void et static

Gras Le gras est utilisé pour désigner les outils java, bmj (Borland Make for Java), bcj (Borland Compiler for Java) et les options du compilateur. Par exemple : javac, bmj, -classpath.

Italiques L’italique est utilisé pour les termes nouveaux, les titres des manuels et, parfois, pour la mise en valeur.

Touches Cette police indique les touches du clavier, comme dans “Appuyez sur Echap pour quitter le menu.”

[ ] Les crochets droits dans le texte ou dans la syntaxe entourent les éléments facultatifs. Ne tapez pas ces crochets.

Page 11: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

I n t r o d u c t i o n 1-5

C o n v e n t i o n s d e l a d o c u m e n t a t i o n

JBuilder est disponible sur plusieurs plates-formes. Reportez-vous au tableau suivant pour une description des conventions associées aux diverses plates-formes.

< > Les crochets angulaires indiquent des variables dans les chemins de répertoire, les options de commande et les exemples de code.Par exemple, <filename> peut être utilisé pour indiquer l’emplacement où vous devez fournir un nom de fichier (y compris l’extension du fichier) et <username> indique généralement que vous devez fournir votre nom d’utilisateur.Lorsque vous remplacez des variables dans les chemins de répertoire, les options de commande et les exemples de code, remplacez toute la variable, y compris les crochets angulaires (< >). Par exemple, vous pouvez remplacer <filename> par le nom d’un fichier, comme employee.jds, et omettre les crochets.Remarque : Les crochets angulaires sont utilisés dans les fichiers HTML, XML, JSP et d’autres fichiers basés sur des balises pour démarquer les éléments des documents, comme <font color=red> et <ejb-jar>. La convention suivante décrit comment les chaînes variables sont spécifiées dans les exemples de code qui utilisent déjà des crochets angulaires comme délimiteurs.

Italiques, serif Ce formatage permet d’indiquer les chaînes variables des exemples de code qui utilisent déjà des crochets angulaires comme délimiteurs. Par exemple, <url="jdbc:borland:jbuilder\\samples\\guestbook.jds">

... Dans les exemples de code, les points de suspension (...) indiquent le code qui a été omis dans l’exemple pour gagner de la place et améliorer la compréhension. Sur un bouton, les points de suspension indiquent que ce bouton ouvre une boîte de dialogue de sélection.

Tableau 1.2 Conventions des plates-formes

Elément Signification

Chemins Les chemins d’accès mentionnés dans la documentation sont indiqués par une barre oblique (/).Pour Windows, utilisez une barre oblique inversée (\).

Répertoire de base L’emplacement du répertoire de base standard dépend de la plate-forme et sera indiqué par la variable <home>.• Pour UNIX et Linux, le répertoire de base peut varier. Par

exemple, ce peut être /user/<nomutilisateur> ou /home/<username>

• Pour Windows NT, le répertoire de base est C:\Winnt\Profiles\<nomutilisateur>

• Pour Windows 2000, le répertoire de base est C:\Document and Settings\<nomutilisateur>

Captures d’écran Les captures d’écran reflètent l’apparence Metal sur diverses plates-formes.

Tableau 1.1 Polices et symboles (suite)

Police Signification

Page 12: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

1-6 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

S u p p o r t e t r e s s o u r c e s d e s t i n é s a u x d é v e l o p p e u r s

Support et ressources destinés aux développeursBorland fournit de nombreuses options de support et ressources d’information pour aider les développeurs à tirer le meilleur parti de leurs produits Borland. Ces options comprennent des programmes de support technique Borland, ainsi que des services gratuits sur Internet, où vous pouvez consulter notre importante base d’informations et entrer en contact avec d’autres utilisateurs de produits Borland.

Comment contacter le support technique de Borland

Borland propose divers programmes de support destinés aux clients et aux futurs clients. Vous pouvez choisir parmi plusieurs catégories de support, allant de l’installation des produits Borland au support tarifé de niveau consultant, en passant par une assistance complète.

Pour obtenir des informations sur les services Borland de support aux développeurs, veuillez consulter notre site Web, à l’adresse http://www.borland.fr/support/.

Quand vous contacterez le support, préparez des informations complètes sur votre environnement, la version du produit que vous utilisez et une description détaillée du problème.

Pour avoir de l’aide sur les outils tiers, ou leur documentation, contactez votre fournisseur.

Ressources en ligne

Vous pouvez obtenir des informations depuis les sources ci-après :

World Wide Web http://www.borland.fr/

FTP ftp://ftp.borland.com/

Documents techniques accessibles par anonymous ftp.

Listserv Pour vous abonner aux bulletins électroniques, utilisez le formulaire en ligne : http://info.borland.com/contact/listserv.html

ou, pour l’international,http://info.borland.com/contact/intlist.html

Page 13: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

I n t r o d u c t i o n 1-7

S u p p o r t e t r e s s o u r c e s d e s t i n é s a u x d é v e l o p p e u r s

World Wide Web

Consultez régulièrement www.borland.fr/jbuilder. L’équipe produit de JBuilder y place notes techniques, analyses des produits concurrents, réponses aux questions fréquemment posées, exemples d’applications, mises à jour du logiciel et informations sur les produits existants ou nouveaux.

Vous pouvez vous connecter en particulier aux URL suivantes :

• http://www.borland.fr/jbuilder/ (mises à jour du logiciel et autres fichiers)

• http://www.borland.com/techpubs/jbuilder/ (mises à jour de la documentation et autres fichiers)

• http://community.borland.com/ (contient notre magazine d’informations web pour les développeurs)

Groupes de discussion Borland

Vous pouvez vous inscrire à JBuilder et participer à de nombreux groupes de discussion dédiés à JBuilder. Les groupes de discussion Borland permettent à la communauté mondiale d’utilisateurs d’échanger des astuces et des techniques concernant les produits Borland, ainsi que les outils et technologies associés.

Vous trouverez des groupes de discussion, animés par les utilisateurs, pour JBuilder et d’autres produits Borland, à l’adresse http://www.borland.com/newsgroups/.

Groupes de discussion Usenet

Les groupes Usenet suivants sont dédiées à Java et concernent la programmation :

• news:comp.lang.java.advocacy • news:comp.lang.java.announce • news:comp.lang.java.beans • news:comp.lang.java.databases • news:comp.lang.java.gui • news:comp.lang.java.help • news:comp.lang.java.machine • news:comp.lang.java.programmer • news:comp.lang.java.security • news:comp.lang.java.softwaretools

Remarque Ces groupes de discussion sont maintenus par les utilisateurs et ne sont pas des sites Borland officiels.

Page 14: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

1-8 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

S u p p o r t e t r e s s o u r c e s d e s t i n é s a u x d é v e l o p p e u r s

Rapports de bogues

Si vous pensez avoir trouvé un bogue dans le logiciel, merci de le signaler dans la page du support développeur de JBuilder, à l’adresse http://www.borland.com/devsupport/emea/. Cliquez sur “this form” dans “Reporting Borland Product Defects” pour afficher le formulaire de saisie.

Quand vous signalez un bogue, indiquez toutes les étapes nécessaires à la reproduction de ce bogue, ainsi que tout paramètre spécial de votre environnement et les autres programmes utilisés avec JBuilder. Précisez bien le comportement attendu et ce qui s’est réellement passé.

Si vous avez des commentaires (compliments, suggestions ou questions) destinés aux rédacteurs de la documentation de JBuilder, vous pouvez envoyer un e-mail à [email protected]. Uniquement pour la documentation. Les questions de support doivent être adressées au support développeur.

JBuilder est fait par des développeurs pour des développeurs. Nous apprécions vraiment vos remarques.

Page 15: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

I n t r o d u c t i o n a u x s e r v i c e s W e b 2-1

C h a p i t r e

2Chapitre2Introduction aux services Web

C’est une fonctionnalitéde JBuilder Entreprise.

Un service Web est un module logiciel effectuant une tâche discrète ou un ensemble de tâches, qui peut être localisé et appelé au travers d’un réseau, en particulier le World Wide Web. Le développeur peut créer une application client qui appelle une série de services Web par l’intermédiaire d’appels de procédures distantes (RPC, remote procedure calls) ou d’un service de messagerie pour fournir une partie, petite ou grande, de la logique de l’application. Un service Web publié se décrit lui-même pour que les développeurs puissent le localiser et évaluer son adaptation à leurs besoins.

Une entreprise pourrait, par exemple, fournir à ses clients un service Web pour vérifier le stock des produits avant une commande. Un transporteur comme Federal Express propose également un service de suivi des paquets permettant à ses clients de suivre leurs colis.

Les services Web utilisent SOAP (Simple Object Access Protocol) pour le coeur XML, et un protocole de transport comme HTTP pour échanger les messages SOAP. Ces messages sont en réalité des documents XML qui sont échangés entre un service Web et l’application appelante.

Les services Web peuvent être écrits dans n’importe quel langage et exécutés sur n’importe quelle plate-forme. Un client d’un service Web peut également être écrit dans n’importe quel langage et exécuté sur n’importe quelle plate-forme. Ainsi, un client écrit en Delphi et s’exécutant sous Windows pourrait appeler un service Web écrit en Java et s’exécutant sous Linux.

Page 16: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

2-2 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

A r c h i t e c t u r e d e s s e r v i c e s W e b

Architecture des services WebL’architecture des services Web permet de développer des services Web qui encapsulent tous les niveaux de fonctionnalité métier. En d’autres termes, un service Web peut être très simple, par exemple renvoyer la température actuelle, ou bien constituer une application complexe. Cette architecture autorise également la combinaison de plusieurs services Web pour la création d’une nouvelle fonctionnalité.

L’architecture des services Web a trois rôles distincts : un fournisseur, un demandeur et un agent. Le fournisseur crée le service Web et le met à la disposition des clients qui souhaitent l’utiliser. Un demandeur est une application client qui utilise le service Web. Le service Web demandé peut également être client d’autres services Web. L’agent, qui peut être par exemple un registre de service, permet au fournisseur et au demandeur d’un service Web de communiquer.

Les trois rôles de fournisseur, de demandeur et d’agent interagissent les uns avec les autres par l’intermédiaire des opérations de publication, de recherche et de liaison. Un fournisseur informe l’agent de l’existence du service Web en utilisant l’interface de publication de cet agent pour permettre aux clients d’accéder au service. Les informations publiées décrivent le service et spécifient son emplacement. Le demandeur consulte l’agent pour localiser un service Web publié. Grâce aux informations sur le service Web obtenues par l’agent, le demandeur peut lier, ou appeler, le service Web.

Ce diagramme résume la manière dont le fournisseur, le demandeur et l’agent interagissent les uns avec les autres :

Figure 2.1 Rôles et opérations du service Web

Page 17: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

I n t r o d u c t i o n a u x s e r v i c e s W e b 2-3

N o r m e s d e s s e r v i c e s W e b

Normes des services WebLes normes sur lesquelles repose le développement de services Web sont des technologies en cours d’évolution. Les principaux acteurs sont SOAP (Simple Object Access Protocol), WSDL (Web Services Description Language), UDDI (Universal Description, Discovery and Integration) et WSIL (Web Services Inspection Language).

Simple Object Access Protocol (SOAP)

SOAP est un protocole de messagerie indépendant du transport. Chaque message SOAP est un document XML. SOAP utilise des messages unidirectionnels, bien qu’il soit possible de combiner des messages en des séquences requête-réponse. La spécification SOAP définit le format du message XML, mais pas son contenu ni la manière dont il est réellement envoyé. SOAP spécifie toutefois la manière dont les messages SOAP sont routés sur HTTP.

Chaque document SOAP possède un élément <Enveloppe> racine. L’élément racine, le premier élément d’un document XML, contient tous les autres éléments du document. Cette “enveloppe” se compose de deux parties : un en-tête et un corps. L’en-tête contient les données de routage ou de contexte. Il peut être vide. Le corps contient le message réel. Il peut aussi être vide.

Voici un exemple de message SOAP simple envoyé sur HTTP, qui demande le cours actuel de l’action Borland :

POST /StockQuote HTTP/1.1Hôte : www.stockquoteserver.comType de contenu : text/xml; charset="utf-8"Contenu-Longueur : nnnn

Page 18: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

2-4 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

N o r m e s d e s s e r v i c e s W e b

SOAPAction: "urn:stock-quote-services"

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <m:GetLastTradePrice xmlns:m="Some-URI"> <symbol>BORL</symbol> </m:GetLastTradePrice> </SOAP-ENV:Body></SOAP-ENV:Envelope>

Pour plus d’informations sur SOAP, commencez par consulter les documents SOAP sur le site du World Wide Web Consortium à l’adresse http://www.w3.org/2002/ws/. Visitez également le site SOAP Apache à l’adresse http://xml.apache.org/soap/.

Web Services Description Language (WSDL)

Un service Web n’est utilisable que si d’autres personnes peuvent découvrir ce qu’il fait et comment l’appeler. Les développeurs doivent posséder suffisamment d’informations sur un service Web pour pouvoir écrire un programme client qui l’appelle. WSDL est un langage basé sur XML qui permet de définir des services Web et de décrire la manière d’y accéder. Il décrit en particulier les contrats de données et de messages d’un service Web. En examinant le document WSDL d’un service Web, les développeurs peuvent connaître les méthodes disponibles et savoir comment les appeler en utilisant les paramètres appropriés.

Pour des informations approfondies sur WSDL, consultez la spécification de Web Services Description Language 1.1 à l’adresse http://www.w3.org/TR/wsdl sur le site Web du World Wide Web Consortium.

Page 19: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

I n t r o d u c t i o n a u x s e r v i c e s W e b 2-5

N o r m e s d e s s e r v i c e s W e b

UDDI (Universal Description, Discovery and Integration)

UDDI est une norme en cours d’évolution pour la description, la publication et la découverte des services Web fournis par un business. Il s’agit d’une spécification de registre distribué d’informations sur des services Web. Lorsqu’un service Web a été développé et qu’un document WSDL le décrivant a été créé, il doit y avoir un moyen de mettre les informations WSDL à la disposition des utilisateurs désirant utiliser le service Web décrit. La publication d’un service Web dans un registre UDDI permet aux utilisateurs potentiels de rechercher et d’apprendre l’existence du service Web.

Le contenu d’un registre UDDI est similaire à celui d’un répertoire téléphonique. Dans la section des “pages blanches” du registre, l’on trouve des informations comme le nom, l’adresse et le numéro de téléphone du business qui propose un ou plusieurs services Web. La section des “pages jaunes” identifie le type de business et le classe par industrie. La section des “pages vertes” fournit des informations sur les services Web proposés par le business.

Pour en savoir plus sur UDDI, visitez le site Web UDDI.org à l’adresse http://www.uddi.org.

WSIL (Web Services Inspection Language)

Comme UDDI, WSIL fournit une méthode de découverte des services Web. Mais à la différence d’UDDI, WSIL utilise un modèle distribué décentralisé à la place d’un modèle centralisé. Les documents WSIL, qui sont essentiellement des pointeurs sur des listes de services, permettent aux consommateurs de services Web de parcourir les services disponibles sur les sites Web. La spécification WSIL fournit des normes pour l’utilisation de documents au format XML afin d’inspecter un site et de connaître ses services, ainsi qu’un ensemble de règles sur la manière dont les informations sont mises à disposition. Un document WSIL regroupe dans un même document plusieurs références à des documents de

Page 20: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

2-6 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

N o r m e s d e s s e r v i c e s W e b

description de services pré-existants. Le document WSIL est ensuite hébergé par le fournisseur du service, de manière à ce que les consommateurs puissent connaître les services disponibles.

Pour plus d’informations sur la spécification Web Services Inspection Language (WS-Inspection) 1.0, voir http://www-106.ibm.com/developerworks/webservices/library/ws-wsilspec.html.

API Java pour appels de procédures distantes basés sur XML (JAX-RPC)

JAX-RPC définit des API Java que les développeurs Java peuvent utiliser dans leurs applications pour développer et consommer des services Web. En utilisant JAX-RPC, un client Java peut consommer un service Web sur un serveur distant au travers d’Internet, même si ce service est écrit dans un autre langage et s’exécute sur une autre plate-forme. Un service JAX-RPC peut aussi être utilisé par des clients non-Java.

JAX-RPC se sert d’un protocole de messagerie XML comme SOAP pour transmettre un appel de procédure distante au travers d’un réseau. Par exemple, un service Web renvoyant le cours d’une action recevrait de la part du client une requête HTTP SOAP contenant un appel de méthode. A l’aide de JAX-RPC, le service extrait l’appel de méthode du message SOAP, le convertit en appel de méthode et l’appelle. Le service utilise ensuite JAX-RPC pour reconvertir la réponse de la méthode en SOAP puis renvoie les résultats au client. Le client reçoit le message SOAP et utilise JAX-RPC pour le convertir en réponse.

Le runtime JAX-RPC génère les stubs et les ties, qui sont des classes permettant la communication entre le client et le service. Un stub, qui se trouve du côté client, est un objet local qui représente un service distant et

Page 21: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

I n t r o d u c t i o n a u x s e r v i c e s W e b 2-7

J B u i l d e r e t s e r v i c e s W e b

agit comme proxy pour ce service. Un tie, qui se trouve du côté serveur, agit comme proxy sur le serveur.

Pour plus d’informations sur JAX-RPC, consultez http://java.sun.com/xml/jaxrpc/index.html et le tutoriel JAX-RPC à l’adresse http://java.sun.com/webservices/docs/1.0/tutorial/doc/JAXRPC.html.

JBuilder et services WebBien qu’il puisse être utile d’en savoir plus sur les technologies sous-jacentes aux services Web, vous n’avez pas à créer les messages SOAP et les descriptions WSDL vous-même. JBuilder peut effectuer ces opérations à votre place.

JBuilder utilise les boîtes à outils Apache Axis, WebLogic ou Apache SOAP 2 pour sa prise en charge de SOAP. JBuilder peut générer le document WSDL pour un service Web que vous avez créé. Il peut également prendre un WSDL existant de service Web et créer les fichiers de classes Java ou les EJB, de manière à ce que vous puissiez créer un client qui appelle le service Web. Une autre possibilité consiste à utiliser le code Java généré pour implémenter vous-même le service Web. JBuilder peut aussi créer rapidement une application Web qui héberge un serveur de services Web.

JBuilder fournit l’explorateur des services Web pour la recherche de services Web adaptés à vos besoins, ainsi que pour la publication dans un registre UDDI.

Pour voir un exemple de client Page JavaServer appelant un service Web pour traduire des mots d’une langue vers une autre, ouvrez le projet BasicWebService.jpx dans le répertoire JBuilder samples/webservices/axis.

Page 22: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

2-8 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

J B u i l d e r e t s e r v i c e s W e b

Utilisation et création de services Web avec les experts JBuilder

JBuilder fournit des experts pour l’utilisation et la création de services Web. L’expert Importation d’un service Web génère des classes Java à partir d’un document WSDL ou d’un EAR existant. Vous pouvez ensuite implémenter ces classes pour utiliser le service spécifié dans le WSDL. Vous pouvez également créer des classes côté serveur pour un service Web ou implémenter un service Web sous forme d’Enterprise JavaBean (EJB) à partir du WSDL importé. L’expert Exportation en tant que service Web génère un document WSDL à partir d’une classe Java existante et expose des méthodes sélectionnées de cette classe en tant que service Web. Les fonctionnalités de services Web disponibles varient selon la boîte à outils de services Web utilisée.

Ces experts sont disponibles dans la page des services Web de la galerie d’objets (Fichier|Nouveau). Ils sont également disponibles dans le menu contextuel du volet projet pour les nœuds appropriés.

Exemples de services Web

Des exemples de services Web sont disponibles dans les répertoires JBuilder suivants :

• samples/webservices/axis

• samples/webservices/weblogic

• thirdparty/apache-soap/samples

• thirdparty/xml-axis/java/samples

Serveurs d’applications d’entreprise pris en charge

Les fonctionnalités de services Web sont prises en charge sur les serveurs d’applications d’entreprise suivants :

• Borland Enterprise Server 5.0.2 – 5.1.x

• WebLogic Server 7.0 (avec et sans SP1)

• WebSphere Application Server 4.0 AES/AE

L’édition WebLogic de JBuilder ne prend en charge ni Borland Enterprise Server ni WebSphere Application Server.

Pour des informations sur la manière d’utiliser ces serveurs avec les fonctionnalités de services Web de JBuilder, voir Chapitre 10, “Modification des paramètres des serveurs d’applications d’entreprise pour les services Web”.

Page 23: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

C o n f i g u r a t i o n d e s p r o j e t s p o u r l e s s e r v i c e s W e b 3-1

C h a p i t r e

3Chapitre3Configuration des projets

pour les services WebC’est une fonctionnalitéde JBuilder Entreprise.

Avant de pouvoir travailler avec des services Web dans JBuilder, vous devez configurer le projet pour les services Web. L’expert Configuration des services Web crée une configuration pour l’hébergement d’un service Web. Cela implique la création d’une WebApp et sa configuration avec la bibliothèque boîte à outils du service Web sélectionné. Sur les serveurs d’applications, l’expert crée également un nœud eargrp et le lie à la WebApp. En outre, l’expert crée une configuration d’exécution personnalisée spécifique à la boîte à outils serveur qui reflète les sélections d’archives. La configuration est sensible à la configuration serveur et permet de déterminer les boîtes à outils qui rendent un serveur compatible avec les services Web.

Utilisation de l’expert Configuration des services WebJBuilder met à disposition l’expert Configuration des services Web pour créer rapidement une WebApp permettant d’héberger un service Web avec les fichiers de déploiement appropriés. L’expert Configuration des services Web crée une implémentation SOAP pour le projet qui est basée sur la boîte à outils sélectionnée : Axis, Apache SOAP ou WebLogic. Il crée également une configuration d’exécution de serveur de services Web pour déployer et exécuter le service ou l’une de ses implémentations. Lorsqu’un service Web a été déployé sur le serveur de services Web, il peut échanger des messages SOAP avec les applications client. Pour plus d’informations sur SOAP, voir Chapitre 4, “Surveillance des messages SOAP”.

Le service Web doit être hébergé par une application Web. Si votre projet ne dispose pas d’une application Web existante, vous pouvez en créer une

Page 24: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

3-2 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

U t i l i s a t i o n d e l ’ e x p e r t C o n f i g u r a t i o n d e s s e r v i c e s W e b

à partir de l’expert Configuration des services Web. Pour plus d’informations sur les applications web, voir “Utilisation des WebApps et des fichiers WAR” dans le Guide du développeur d’applications web.

L’expert Configuration des services Web génère les nœuds et fichiers suivants et les ajoute à votre WebApp. Le contenu des nœuds varie selon la boîte à outils sélectionnée.

• nœud Composants service Web

Le nom de ce nœud dépend de la boîte à outils sélectionnée dans l’expert. Ce nœud comporte deux nœuds enfants :

• Le nœud des services basés sur EJB contient les éventuels fichiers de déploiement EJB (Enterprise JavaBean). Tous les beans session stateless auxquels sont associées des méthodes métier dans l’interface remote sont automatiquement déployés. Les informations de déploiement sont générées dans un fichier de déploiement par module EJB. Au moment de la construction, les classes EJB des fichiers de déploiement sont déployées sur le serveur.

• Le nœud des services basés sur Java contient les éventuels fichiers de déploiement de classes Java.

• nœud Descripteurs de déploiement

L’expert ajoute les informations SOAP appropriées au fichier web.xml qui décrit le déploiement de la WebApp. Si la boîte à outils sélectionnée est Axis, un fichier de déploiement final est également généré dans ce nœud.

• nœud Répertoire racine

L’expert ajoute à ce nœud un contenu dépendant de la boîte à outils sélectionnée dans l’expert.

Pour ouvrir l’expert Configuration des services Web,

1 Choisissez Fichier|Nouveau pour ouvrir la galerie d’objets.

2 Cliquez sur l’onglet Services Web et double-cliquez sur l’icône Configuration des services Web.

3 Choisissez un EAR dans le projet ou cliquez sur Nouveau pour en créer un. Cela n’est obligatoire que si vous utilisez un serveur d’applications d’entreprise nécessitant un EAR.

4 Choisissez dans le projet une WebApp pour héberger le service ou cliquez sur Nouveau pour créer une nouvelle WebApp.

5 Sélectionnez une boîte à outils pour le projet.

6 Cliquez sur Suivant pour voir la configuration d’exécution du serveur de services Web créée pour le projet.

7 Cliquez sur Terminer pour configurer le projet pour les services Web.

Page 25: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

C o n f i g u r a t i o n d e s p r o j e t s p o u r l e s s e r v i c e s W e b 3-3

U t i l i s a t i o n d e l ’ e x p e r t C o n f i g u r a t i o n d e s s e r v i c e s W e b

Dénomination de la WebApp

Le contexte Web, qui contient le nom de la WebApp et son répertoire, est important. Il constitue une partie de l’adresse d’invocation du service Web. Voici un exemple d’adresse pour appeler un service Web s’exécutant sur votre serveur local : http://localhost:8080/<contexte Web>/<URIservice>. Le contexte Web est utilisé dans l’adresse SOAP du document WSDL. En outre, la boîte à outils Axis l’utilise dans l’adresse du port du service dans <ServiceName>Locator.java.

Pour plus d’informations sur les WebApps, voir “Utilisation des WebApps et des fichiers WAR” dans le Guide du développeur d’applications web.

Sélection d’un EAR

Si le projet est configuré de manière à utiliser un serveur d’applications, l’expert Configuration des services Web vous demande de sélectionner ou de créer un EAR. L’EAR est automatiquement configuré par l’expert de manière à inclure l’archive WebApp et automatiquement mis à jour au moment de la construction de manière à comprendre tous les JAR EJB référencés utilisés dans le service Web.

Sélection d’une boîte à outils de services Web

L’édition WebLogic deJBuilder ne prend pas encharge les boîtes à outils

Apache Axis et ApacheSoap 2.

Le champ Boîte à outils de l’expert Configuration des services Web vous propose toutes les boîtes à outils de services Web recensées. Plusieurs boîtes à outils de services Web sont couplées avec JBuilder : Apache Axis, Apache SOAP 2 et WebLogic. Le champ Boîte à outils peut contenir des plugins de boîtes à outils supplémentaires s’ils sont disponibles sur votre machine.

L’option Copier admin/console vers l’application web copie des fichiers dans le dossier Répertoire racine, afin que vous puissiez utiliser l’interface utilisateur des boîtes à outils pour administrer le serveur de services Web. Activez cette option pour que ces fichiers soient ajoutés à la WebApp. L’option Copier admin/console vers l’application web peut être désactivée si vous utilisez une boîte à outils ne disposant pas d’une admin/console. Les boîtes à outils Apache Axis et Apache SOAP 2 possèdent une admin/console, aussi cette option est-elle activée pour ces deux boîtes à outils.

Page 26: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

3-4 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

U t i l i s a t i o n d e l ’ e x p e r t C o n f i g u r a t i o n d e s s e r v i c e s W e b

Boîte à outils Apache AxisLa boîte à outils Apache

Axis n’est pas prise encharge dans l’édition

WebLogic de JBuilder.

La boîte à outils Apache Axis est une implémentation à source ouvert de SOAP, la génération suivante d’Apache SOAP 2.0. Axis est une réécriture d’Apache SOAP 2.0 qui utilise SAX à la place de DOM. Il s’agit d’une implémentation de SOAP ultra-performante, plus modulaire et plus souple que Apache SOAP 2.0. La boîte à outils Apache Axis est compatible avec JAX-RPC (API Java pour “Remote Procedure Call” basé sur XML) et prend en charge WSDL 1.1.

La boîte à outils Apache Axis génère des fichiers pour l’administration, le listage des services déployés et la validation. Pour plus d’informations sur ces fichiers, consultez la documentation de la boîte à outils.

Remarque la boîte à outils Axis combine chaque fichier de déploiement (deploy.wsdd) de votre projet en un server-config.wsdd. Toutes les modifications manuelles apportées aux fichiers de déploiement sont remplacées par le toolkit. Si vous modifiez server-config.wsdd, désactivez l’option Régénérer le déploiement dans l’onglet Services Web de la page Construction de Propriétés du projet, sans quoi server-config.wsdd sera écrasé par la boîte à outils lorsque vous construirez le projet. Voir “Définition des options de construction”, page 3-6, pour plus d’informations.

Voir aussi

• Chapitre 7, “Utilisation de la boîte à outils Apache Axis”

• Axis à http://xml.apache.org/axis/

• La documentation Apache Axis dans <jbuilder>/thirdparty/xml-axis/java/docs/index.html

Boîte à outils WebLogicWebLogic Server 7.x comprend des fonctionnalités de services web intégrés. Cette option est disponible lorsque votre projet spécifie WebLogic Server 7.x comme serveur. WebLogic prend en charge WSDL 1.1 et est compatible avec JAX-RPC.

Voir aussi

• Chapitre 8, “Utilisation de la boîte à outils WebLogic”

• “Programmation de services Web WebLogic” à l’adresse http://edocs.bea.com/wls/docs70/webserv/index.html

Boîte à outils Apache SOAP 2L’édition WebLogic de

JBuilder ne prend pas encharge la boîte à outils

Apache Soap 2

La boîte à outils Apache SOAP 2 est une implémentation à source ouvert de SOAP 1.1 développée par la communauté Apache SOAP. Cette implémentation de SOAP utilise DOM.

Page 27: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

C o n f i g u r a t i o n d e s p r o j e t s p o u r l e s s e r v i c e s W e b 3-5

E x a m e n d u n œ u d W e b A p p

Attention Apache SOAP 2 est une ancienne version de Axis et ne prend pas en charge JAX-RPC ou WSDL. Il est donc recommandé d’utiliser Axis. si vous utilisez la boîte à outils Apache SOAP 2, vous devrez apporter des modifications aux experts JBuilder et ajouter du code manuellement. Pour plus d’informations, voir Chapitre 9, “Utilisation de la boîte à outils Apache SOAP 2”.

Voir aussi

• Apache SOAP à http://xml.apache.org/soap/

• La documentation Apache SOAP 2 dans <jbuilder>/thirdparty/apache-soap/docs/index.html

Définition d’une configuration d’exécution pour le serveur de services Web

Sur la dernière page de l’expert Configuration des services Web, vous pouvez définir une configuration d’exécution pour le serveur de services Web. Ce dernier nécessite une configuration d’exécution de type serveur pour s’exécuter.

Si aucune configuration d’exécution de type serveur n’existe et si vous décidez de ne pas en définir une sur cette page, une configuration d’exécution appelée Serveur services Web est automatiquement ajoutée. Cette configuration d’exécution utilise la configuration serveur par défaut pour le projet définie sur la page Serveur de la boîte de dialogue Propriétés du projet.

Pour plus d’informations sur les configurations d’exécution, voir “Définition des configurations d’exécution” dans Construction d’applications avec JBuilder.

Examen du nœud WebAppAprès avoir créé un serveur de services Web au moyen de l’expert Configuration des services Web, vous pouvez développer le nœud WebApp dans le volet projet pour visualiser les nœuds enfant ajoutés par l’expert. Vous verrez un nœud de boîte à outils, un nœud Descripteurs de déploiement et un nœud Répertoire racine. Si vous avez ajouté des fichiers pour administrer la WebApp dans le Répertoire racine, développez ce nœud pour voir les fichiers.

Pour plus d’informations sur les WebApps, voir “Utilisation des WebApps et des fichiers WAR” dans le Guide du développeur d’applications web.

Page 28: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

3-6 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

D é m a r r a g e d u s e r v e u r d e s e r v i c e s W e b

Démarrage du serveur de services WebPour exécuter un serveur de services Web, vous devez disposer d’une configuration d’exécution serveur qui utilise un serveur Web approprié. L’expert Configuration des services Web ajoute automatiquement la configuration d’exécution du serveur de services Web à votre projet. Pour plus d’informations sur les configurations d’exécution, voir “Définition des configurations d’exécution” dans Construction d’applications avec JBuilder.

Après avoir exécuté l’expert Configuration des services Web, vous pouvez démarrer le serveur de services Web en sélectionnant Exécuter|Exécuter le projet lorsque la configuration d’exécution Serveur services Web est la configuration d’exécution par défaut, ou en cliquant sur la petite flèche située près de l’icône Exécuter dans la barre d’outils principale et en sélectionnant la configuration d’exécution Serveur services Web dans la liste. Vous pouvez visualiser la progression du serveur dans le volet message. Si vous utilisez la boîte à outils Axis, vous pouvez également effectuer un clic droit sur n’importe quel servlet, JSP ou fichier HTML dans le volet projet et sélectionner Exécution Web en utilisant “Serveur services Web” dans le menu contextuel.

Si vous aviez choisi de copier les fichiers Admin/console éventuels de la boîte à outils vers le nœud WebApp lors de la création du serveur de services Web, vous pouvez maintenant développer le nœud Répertoire racine, cliquer avec le bouton droit sur le fichier index.html et sélectionner Exécution Web dans le menu contextuel pour accéder à l’interface utilisateur admin pour la boîte à outils Axis. Le fichier d’Exécution Web pour la boîte à outils Apache Soap 2 est admin/index.html. Avec les paramètres de l’EDI par défaut, lorsque le serveur Web est déjà en train de s’exécuter, Exécution Web provoque l’accès au fichier en dehors du serveur Web.

Définition des options de constructionLa page Construction de la boîte de dialogue Propriétés du projet possède une option de construction pour le contrôle du déploiement lors de la construction.

Pour accéder à l’option de construction :

1 Choisissez Projet|Propriétés du projet pour ouvrir la boîte de dialogue Propriétés du projet.

2 Choisissez l’onglet Construction et cliquez sur l’onglet Services Web.

L’option Régénérer le déploiement est activée par défaut. Si cette option est activée, les fichiers de déploiement sont régénérés à chaque construction du projet. Pour plus d’informations sur cette option, cliquez sur le bouton Aide de l’onglet Services Web de la page Construction.

Page 29: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

S u r v e i l l a n c e d e s m e s s a g e s S O A P 4-1

C h a p i t r e

4Chapitre4Surveillance

des messages SOAPC’est une fonctionnalitéde JBuilder Entreprise.

Les services Web utilisent SOAP (Simple Object Access Protocol), qui fournit un protocole de messagerie pour permettre aux clients et aux serveurs d’échanger des messages. SOAP est un protocole de messagerie indépendant du transport qui permet l’accès aux objets distants. SOAP utilise XML comme protocole de messagerie, et une couche de transport comme HTTP. Les messages SOAP sont des messages unidirectionnels, bien qu’il soit possible de les combiner dans des séquences requête-réponse. La spécification SOAP définit le format du message XML, mais pas son contenu ni la manière dont il est réellement envoyé. SOAP spécifie toutefois la manière dont les messages SOAP sont routés sur HTTP.

Chaque message SOAP possède un élément <Enveloppe> racine. Cette “enveloppe” se compose de deux parties : un en-tête et un corps. L’enveloppe et le corps sont des éléments obligatoires des messages SOAP, tandis que l’en-tête est facultatif. L’en-tête contient des données de routage ou de contexte et peut être vide. Le corps, qui contient le message réel, peut également être vide.

Les messages SOAP sont envoyés et reçus par les clients SOAP et les serveurs de services Web. Le client SOAP génère et envoie des requêtes SOAP au serveur SOAP sur HTTP. Le serveur SOAP reçoit ces requêtes et génère la réponse appropriée pour le client sur HTTP.

Page 30: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

4-2 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

U t i l i s a t i o n d u m o n i t e u r T C P

Figure 4.1 Architecture Soap

Certaines boîtes à outils des services Web proposent des outils pour la surveillance des messages SOAP entre le client et le serveur :

• Le moniteur TCP, une fonctionnalité de la boîte à outils Axis

• La page d’accueil des services Web WebLogic, une fonctionnalité de la boîte à outils WebLogic

Utilisation du moniteur TCPC’est une fonctionnalitéde la boîte à outils Axis.La boîte à outils Apache

Axis n’est pas prise encharge dans l’édition

WebLogic de JBuilder.

Le moniteur TCP, qui est fourni avec la boîte à outils Axis, vous permet de surveiller les enveloppes SOAP lors de leur transport entre le client et le serveur. TCP, Transmission Control Protocol, est le protocole de couche de transport Internet le plus courant. Le moniteur TCP se situe entre le client et le serveur SOAP. Le client envoie sa requête au moniteur TCP, qui la transmet au serveur. Les réponses du serveur sont à leur tour envoyées au moniteur TCP, puis au client. Vous pouvez surveiller ces messages localement pour tester le service ou écouter une connexion.

Figure 4.2 Moniteur TCP

Le moniteur TCP prend en charge les fonctionnalités suivantes :

• Ajout de plusieurs ports auditeurs

• Modification des messages SOAP

• Renvoi des messages SOAP

Page 31: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

S u r v e i l l a n c e d e s m e s s a g e s S O A P 4-3

U t i l i s a t i o n d u m o n i t e u r T C P

• Consultation d’un historique des requêtes et des réponses

• Enregistrement des requêtes et des réponses dans un fichier

Vous pouvez configurer le moniteur TCP en tant qu’auditeur ou l’utiliser comme proxy si vous vous trouvez derrière un pare-feu. Les différentes boîtes à outils de services Web offrent différents niveaux de prise en charge pour les serveurs proxy et les différentes utilisations. Consultez la documentation de la boîte à outils pour des informations sur la manière de configurer l’utilisation d’un serveur proxy.

Création d’un nouveau moniteur TCP/IP

Par défaut, le moniteur TCP initialise le port client à 8082 et le port serveur à 8080.

Pour créer un nouveau port à écouter, effectuez les étapes suivantes :

1 Choisissez Outils|TCP Monitor pour ouvrir le moniteur TCP.

2 Choisissez l’onglet Admin.

3 Entrez un numéro de port à écouter, comme 8082 pour localhost. Il doit s’agir d’un port qui ne sera pas utilisé par le service.

4 Choisissez Act As A Listener.

5 Entrez le nom d’hôte cible du serveur de destination que vous voulez surveiller, comme 127.0.0.1 pour localhost. Si vous entrez un nom à la place d’une adresse, comme services.xmethods.net, assurez-vous de retirer le protocole de l’adresse (http://).

6 Entrez le numéro du port cible pour le serveur, comme 8080. Il s’agit du port de destination que vous voulez surveiller.

Page 32: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

4-4 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

U t i l i s a t i o n d u m o n i t e u r T C P

7 Cliquez sur le bouton Add pour ajouter ce nouveau moniteur TCP/IP. Une nouvelle page est ajoutée.

8 Choisissez le nouvel onglet Port pour surveiller les messages.

9 Modifiez le client pour envoyer et recevoir ses messages du moniteur TCP sur le port d’écoute. Modifiez l’adresse et le numéro de port dans votre code, mais ne supprimez pas la cible de contexte et de service dans l’adresse. Par exemple, la cible de contexte et de service dans l’adresse "http://localhost:8082/soap/servlet/rpcrouter" est soap/servlet/rpcrouter et ne doit pas être modifiée.

10 Reconstruisez le client pour enregistrer les modifications.

11 Exécutez l’application sur le serveur Web.

12 Utilisez le service Web et examinez les requêtes et les réponses SOAP dans le moniteur TCP. Vous pouvez également apporter les modifications éventuellement nécessaires aux requêtes dans le moniteur TCP puis les renvoyer, ainsi qu’enregistrer les messages de requête et de réponse sur disque au format texte ou XML.

Surveillance des messages SOAP d’un service

Examinons un exemple de services Web et surveillons les messages SOAP avec le moniteur TCP. Dans cet exemple, vous allez créer un service Web, modifier l’URL du client pour pointer sur le port écouté par le moniteur TCP, reconstruire le client, exécuter le cas de test du service et surveiller les messages acheminés entre le client et le serveur par le moniteur TCP.

Page 33: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

S u r v e i l l a n c e d e s m e s s a g e s S O A P 4-5

U t i l i s a t i o n d u m o n i t e u r T C P

1 Créez un service Web comme décrit au Chapitre 13, “Tutoriel : Création d’un service Web simple avec Axis”.

2 Ouvrez Bean1ServiceLocator.java dans le paquet <project name>.generated et modifiez l’URL pour l’adresse du port du service afin de remplacer 8080 par 8082. Par défaut, le moniteur TCP est configuré pour écouter les messages sur le port 8082. Vous pouvez rediriger le client pour envoyer les messages au port d’écoute afin que le moniteur puisse recevoir les messages et les envoyer au service.

3 Choisissez Outils|TCP Monitor pour ouvrir le moniteur TCP. Notez que le port d’écoute est configuré à 8082 et le port de destination à 8080. Il s’agit des paramètres par défaut du moniteur TCP.

Remarque Vous pouvez modifier les paramètres par défaut à tout moment. Choisissez le bouton Stop et modifiez les champs Listen Port, Host et Port. Vous pouvez également créer un nouveau moniteur TCP dans la page Admin.

4 Développez le répertoire racine du nœud axis, cliquez avec le bouton droit sur index.html, et choisissez Exécution Web en utilisant “Serveur services Web” pour exécuter le serveur de services Web.

5 Cliquez avec le bouton droit sur le cas de test Bean1ServiceTestCase.java et choisissez Exécuter le test en utilisant les valeurs par défaut.

6 Revenez au moniteur TCP pour voir la requête et la réponse envoyées du client et du serveur vers le moniteur.

Voir aussi

• Chapitre 14, “Tutoriel : Génération d’un service Web à partir d’un document WSDL”

Page 34: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

4-6 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

U t i l i s a t i o n d e l a p a g e d ’ a c c u e i l d e s s e r v i c e s W e b W e b L o g i c

Utilisation de la page d’accueil des services Web WebLogicC’est une fonctionnalité

de JBuilder Entreprise etde la boîte à outils

WebLogic.

Chaque service Web déployé sur le serveur WebLogic dispose d’une page d’accueil. A partir de cette page, vous pouvez voir les méthodes exposées, voir les requêtes et les réponses SOAP, tester chaque opération, voir le WSDL qui décrit le service et copier un exemple de code appelant le service.

Pour ouvrir la page d’accueil pour votre service Web, utilisez l’URL du service Web :

<protocole>://<hôte:port>/<contextURI>/<serviceURI>

où :

Par exemple, si vous exécutez WebLogic sur le port par défaut 7001 localement, que la WebApp est web-services et que ServiceUri vaut Bean1, l’adresse du service Web sera : http://localhost:7001/web-services/Bean1.

Si vous ne connaissez pas la valeur de ServiceURI, vous pouvez la trouver dans le fichier servicegen.wldu ou cliquer avec le bouton droit sur le nœud

<protocole> Le protocole du service, par exemple http.

<hôte> L’ordinateur exécutant le serveur WebLogic, par exemple localhost.

<port> Le numéro de port écouté par le serveur WebLogic, par exemple localhost:7001.

<contextURI> La racine du contexte de la WebApp ou le nom du fichier d’archive de la WebApp, par exemple web-services.

<serviceURI> L’URI (Uniform Resource Identifier) du service.

Page 35: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

S u r v e i l l a n c e d e s m e s s a g e s S O A P 4-7

U t i l i s a t i o n d e l a p a g e d ’ a c c u e i l d e s s e r v i c e s W e b W e b L o g i c

Composants service Web dans le nœud WebApp du volet projet, puis choisir Propriétés.

Page 36: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

4-8 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

U t i l i s a t i o n d e l a p a g e d ’ a c c u e i l d e s s e r v i c e s W e b W e b L o g i c

Pour ouvrir le WSDL pour votre service Web sur la page d’accueil, choisissez le lien de description du service ou entrez l’URL suivante :

<protocole>://<hôte:port>/<contextURI>/<serviceURI>?WSDL

Voir aussi

• “Test des services déployés”, page 8-9

• “The WebLogic Web Services Home Page and WSDL URLs” dans la documentation WebLogic sur le site http://edocs.bea.com/wls/docs70/webserv/client.html#1051033.

Page 37: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

U t i l i s a t i o n d e W S D L 5-1

C h a p i t r e

5Chapitre5Utilisation de WSDL

C’est une fonctionnalitéde JBuilder Entreprise.

Pour écrire une application client appelant un service Web, les développeurs ont besoin d’informations sur l’emplacement du service et la manière d’y accéder. Ces informations sont fournies par le Web Services Description Language (WSDL). Un document WSDL, écrit en XML, décrit un service Web et la manière de l’appeler.

Un document WSDL expose la signature de méthode du service Web, le protocole à utiliser, l’adresse réseau et le format des données. Avec les informations disponibles dans le document WSDL, un programmeur peut écrire une application à interfacer avec un service Web. En examinant le document WSDL d’un service Web, les développeurs peuvent connaître les méthodes disponibles et savoir comment les appeler en utilisant les paramètres appropriés.

Pour découvrir d’autres services Web et leurs documents WSDL correspondants et pour publier des services Web, les programmeurs peuvent utiliser le registre UDDI Business Registry dans lequel les business enregistrent leurs services. Pour la découverte et la publication de services Web, JBuilder met à votre disposition l’explorateur des services Web dans le menu Outils. Pour plus d’informations, voir Chapitre 11, “Parcours et publication de services Web”.

Page 38: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

5-2 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

T e r m e s W S D L

Termes WSDLPour mieux comprendre les termes employés par les documents WSDL, consultez le tableau ci-après. Pour des informations approfondies sur WSDL, consultez la spécification de Web Services Description Language 1.1 à l’adresse http://www.w3.org/TR/wsdl sur le site Web du World Wide Web Consortium.

<?xml version="1.0" ?><definitions name="urn:GetQuote" targetNamespace="urn:xmltoday-delayed-quotes" xmlns:tns="urn:xmltoday-delayed-quotes" xmlns:xsd="http://www.w3.org/1999/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/"><!-- message declns --> <message name="GetQuoteRequest"> <part name="symbol" type="xsd:string"/> </message>

Tableau 5.1 Termes WSDL

Terme Elément WSDL Définition

Point terminal (endpoint)

Un port. Voir port.

Message <message name="GetQuoteRequest"> Une définition typée abstraite des données (paramètre).

Type <part name="symbol" type="xsd:string"/>

Un conteneur de définitions de types de données, comme XSD, qui est un attribut de l’élément <part> dans un message.

Type de port <portType name="GetQuote"> Un ensemble abstrait d’opérations prises en charge par un ou plusieurs points terminaux.

Liaison (binding)

<binding name="GetQuoteBinding" type="tns:GetQuote">

Un protocole et format de données pour un type de port particulier. Il s’agit de la liaison entre la définition WSDL abstraite et l’implémentation. SOAP est un exemple de type de liaison.

Opération <operation name="getQuote"> Une définition abstraite d’une action du service (méthode).

Port <port name="GetQuote" binding="tns:GetQuoteBinding"><soap:address location="http://localhost:8080/axis/servlet/AxisServlet"/>

Une adresse d’une liaison ou d’un point terminal de communication défini comme une combinaison d’une liaison et d’une adresse réseau.

Service <service name="GetQuoteService"> Une collection de points terminaux liés (ports).

Page 39: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

U t i l i s a t i o n d e W S D L 5-3

E x e m p l e s W S D L

<message name="GetQuoteResponse"> <part name="result" type="xsd:float"/> </message><!-- port type declns --> <portType name="GetQuote"> <operation name="getQuote"> <input message="tns:GetQuoteRequest"/> <output message="tns:GetQuoteResponse"/> </operation> </portType>

<!-- binding declns --> <binding name="GetQuoteBinding" type="tns:GetQuote"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="getQuote"> <soap:operation soapAction="getQuote"/> <input> <soap:body use="encoded" namespace="urn:xmltoday-delayed-quotes" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </input> <output> <soap:body use="encoded" namespace="urn:xmltoday-delayed-quotes" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </output> </operation> </binding>

<!-- service decln --> <service name="GetQuoteService"> <port name="GetQuote" binding="tns:GetQuoteBinding"> <soap:address location="http://localhost:8080/axis/servlet/AxisServlet"/> </port> </service></definitions>

Exemples WSDLPour des exemples de documents WSDL, consultez <jbuilder>/samples/webservices/axis/wsdl. D’autres exemples WSDL Apache SOAP sont disponibles dans <jbuilder>/thirdparty/apache-soap/samples.

Voir aussi

• Chapitre 14, “Tutoriel : Génération d’un service Web à partir d’un document WSDL”

• Chapitre 11, “Parcours et publication de services Web”

Page 40: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

5-4 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

Page 41: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

D é v e l o p p e m e n t d ’ E J B e n t a n t q u e s e r v i c e s W e b 6-1

C h a p i t r e

6Chapitre6Développement d’EJB

en tant que services WebC’est une fonctionnalitéde JBuilder Entreprise.

Les fonctionnalités de services Web de JBuilder sont conçues pour vous aider à construire des applications de services Web d’entreprise sur la plate-forme J2EE. Ces solutions sont basées sur des normes et portables d’un serveur d’applications à l’autre. La plate-forme J2EE a évolué ces dernières années et est actuellement la plate-forme idéale pour le développement Java d’entreprise. Les conteneurs EJB (Enterprise JavaBean), qui fournissent une plate-forme robuste pour la logique métier et les données d’entreprise, associés aux conteneurs Web, comme les servlets et les JSP, ont étendu la fonctionnalité des applications en exploitant la pénétration des navigateurs et du HTML.

Les services Web étendent encore davantage la fonctionnalité de la plate-forme J2EE en fournissant des solutions multiplates-formes indépendantes du langage. De plus, la plate-forme J2EE peut elle-même exploiter des services Web construits en dehors de son domaine. Les services Web ne sont pas confinés à un environnement de navigateur et peuvent être incorporés très simplement dans d’autres applications ainsi que dans des serveurs d’applications.

Généralement, comme avec les conteneurs Web, les méthodes métier relativement larges sont parfaitement adaptées et offrent une conception adéquate pour l’exposition des fonctionnalités. JBuilder effectue cela aisément en exposant automatiquement les méthodes appropriées dans les beans session stateless au sein du projet. Vous pouvez également passer outre ce comportement par défaut et ne sélectionner que les modules EJB, les beans et les méthodes que vous souhaitez exposer en tant que services Web. En plus de la création de services Web basés sur des EJB, JBuilder offre des fonctionnalités pour implémenter rapidement les services Web existants en tant qu’EJB.

Page 42: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

6-2 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

D é v e l o p p e m e n t d ’ E J B e n t a n t q u e s e r v i c e s W e b

Comme le décrivent les sections qui traitent des boîtes à outils, JBuilder exporte automatiquement vos EJB en tant que services Web. Vous devez simplement développer votre application EJB comme d’habitude, configurer le projet pour les services Web avec l’expert Configuration des services Web et exécuter le projet avec la configuration d’exécution Serveur services Web créée par l’expert. Tous les beans session stateless auxquels sont associées des méthodes métier dans l’interface remote sont automatiquement déployés vers le serveur en tant que services Web sans étapes supplémentaires, bien que certains serveurs d’applications puissent nécessiter une étape supplémentaire pour déployer l’EAR vers le serveur.

Le développement des EJB en tant que services Web varie selon la boîte à outils sélectionnée. Pour plus d’informations sur les EJB, voir Chapitre 7, “Utilisation de la boîte à outils Apache Axis”, et Chapitre 8, “Utilisation de la boîte à outils WebLogic”.

Important Pour les problèmes de configuration avec les serveurs d’applications, voir Chapitre 10, “Modification des paramètres des serveurs d’applications d’entreprise pour les services Web”, et “Remarques version” (Aide|Remarques version).

Pour obtenir la liste des serveurs d’applications d’entreprise que JBuilder prend en charge pour les fonctionnalités de services Web, voir “Serveurs d’applications d’entreprise pris en charge”, page 2-8.

Page 43: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

U t i l i s a t i o n d e l a b o î t e à o u t i l s A p a c h e A x i s 7-1

C h a p i t r e

7Chapitre7Utilisation de la boîte à outils

Apache AxisC’est une fonctionnalitéde JBuilder Entreprise.

La boîte à outils ApacheAxis n’est pas prise en

charge dans l’éditionWebLogic de JBuilder.

Apache Axis est une implémentation à source ouvert du protocole SOAP (Simple Object Access Protocol), un protocole basé sur XML pour l’échange d’informations. Lorsque vous choisissez Apache Axis comme boîte à outils dans un expert de services Web de JBuilder, cet expert utilise Axis pour générer, selon l’expert utilisé, un WSDL, des classes Java, des fichiers de déploiement, des fichiers d’administration, etc.

Par exemple, lorsque la boîte à outils Axis est sélectionnée dans l’expert Importation d’un service Web, cet expert génère des classes Java à partir d’un document WSDL existant, ainsi que des fichiers de déploiement. Vous pouvez ensuite implémenter ces classes pour utiliser le service spécifié dans le WSDL. Vous pouvez également créer des classes côté serveur pour un service Web. Si la boîte à outils Axis est utilisée dans l’expert Exportation en tant que service Web, cet expert génère un document WSDL à partir d’une classe Java existante et expose certaines méthodes de la classe sous la forme d’un service Web.

Pour plus d’informations sur la boîte à outils Apache Axis, consultez la documentation à votre disposition dans <jbuilder>/thirdparty/xml-axis/java/docs.

Exportation d’une classe en tant que service WebL’expert Exportation en tant que service Web est utilisé pour exporter une classe en tant que service Web. Il offre des options vous permettant de choisir les méthodes que vous souhaitez mettre à disposition du service. Vous pouvez utiliser cet expert pour exporter toute classe Java comme un service web ; par exemple, un JavaBean. Toutefois, si la classe utilise des

Page 44: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

7-2 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E x p o r t a t i o n d ’ u n e c l a s s e e n t a n t q u e s e r v i c e W e b

types non-bean comme paramètres ou valeurs de retour, vous devez fournir des sérialiseurs et des désérialiseurs. L’expert permet de générer les implémentations côté serveur et côté client du service. Il génère également un WSDL, qui décrit le service, et des informations de déploiement pour la boîte à outils Axis.

Remarque l’exportation d’une classe est différente de l’exportation d’un EJB. Vous devez explicitement exporter une classe Java avec l’expert Exportation en tant que service Web. Les EJB, par contre, sont automatiquement exportés si le projet est configuré pour les services Web à l’aide de l’expert Configuration des services Web.

Si le projet n’est pas configuré pour héberger le service Web, l’expert Configuration des services Web s’affiche avant l’expert Exportation en tant que service Web.

En fonction des paramètres que vous sélectionnez, l’expert Exportation en tant que service Web génère une partie ou la totalité des fichiers suivants à partir de l’interface ou de la classe Java. Si vous désactivez l’option de génération du stub client, aucun fichier Java n’est généré ; seuls le WSDL et le WSDD sont générés. Les exemples de noms de fichiers du tableau suivant sont tirés de l’exemple AddressBook.wsdl situé dans <jbuilder>/samples/webservices/axis/wsdl/AddressBook.wsdl.

Tableau 7.1 Fichiers générés par l’expert Exportation en tant que service Web

Nom de fichier Description Elément WSDL Exemple

nom de classe[PortType].wsdl

Le document WSDL qui décrit le service Web.

nom de service.java Une interface de service qui définit une méthode get pour chaque port répertorié dans l’élément service du WSDL. Cette interface de service définit une classe factory pour l’obtention d’une instance de stub.

<service name="AddressBookService">

AddressBookService.java

nom de serviceLocator.java

Une classe locator représentant l’implémentation du serveur côté client de l’interface de service.

<service name="AddressBookService">

AddressBookServiceLocator.java

nom de serviceTestCase.java

Un cas de test JUnit facultatif pour le test du service Web.

<service name="AddressBookService">

AddressBookServiceTestCase.java

nom portType.java Une interface pour chaque portType du WSDL. Vous devrez utiliser l’implémentation de cette interface pour appeler les méthodes distantes.

<portType name="AddressBookPortType">

AddressBookPortType.java

Page 45: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

U t i l i s a t i o n d e l a b o î t e à o u t i l s A p a c h e A x i s 7-3

E x p o r t a t i o n d ’ u n e c l a s s e e n t a n t q u e s e r v i c e W e b

L’expert génère un nom de paquet basé sur le nom de paquet de la classe, auquel est ajouté .generated.

L’expert Exportation en tant que service Web peut générer de manière facultative des classes stub client. Si l’option de génération du stub client est sélectionnée sur la première page de l’expert, celui-ci dispose d’étapes supplémentaires. Ces étapes offrent la même fonctionnalité que l’expert Importation d’un service Web et génèrent un stub client à partir d’un document WSDL.

L’expert Exportation en tant que service Web est disponible dans l’onglet Services Web de la galerie d’objets. Vous pouvez également cliquer avec le bouton droit de la souris sur n’importe quel fichier .java dans le volet de projet et sélectionner Exporter en tant que service Web dans le menu contextuel.

nom liaisonImpl.java Une classe d’implémentation pour chaque interface portType. Vous modifiez ce fichier pour ajouter votre implémentation.

<binding name="AddressBookSOAPBinding">

AddressBookSOAPBindingImpl.java

nom liaisonSkeleton.java

Une classe squelette facultative permettant d’encapsuler une implémentation pour le serveur.

<binding name="AddressBookSOAPBinding">

AddressBookSOAPBindingSkeleton.java

nom liaisonStub.java Une classe stub côté client (facultative) qui agit en tant que proxy pour un service Web distant. Cela vous permet d’appeler le service Web comme s’il s’agissait d’un objet local. Cette classe implémente l’interface nom classe[PortType].java.

<binding name="AddressBookSOAPBinding">

AddressBookSOAPBindingStub.java

types de données Les fichiers Java pour tous les autres types et intermédiaires nécessaires au service Web.

deploy.wsdd Un fichier XML qui fournit des informations de déploiement au serveur de services Web.

server-config.wsdd Un fichier XML qui fournit des informations de déploiement au serveur.

Tableau 7.1 Fichiers générés par l’expert Exportation en tant que service Web (suite)

Nom de fichier Description Elément WSDL Exemple

Page 46: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

7-4 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E x p o r t a t i o n d ’ u n e c l a s s e e n t a n t q u e s e r v i c e W e b

Pour exporter une classe en tant que service Web et générer des classes Java ainsi qu’un WSDL pour le service, suivez ces étapes élémentaires :

1 Créez un nouveau projet (Fichier|Nouveau projet).

2 Créez un JavaBean (Fichier|Nouveau|Général|JavaBean), choisissez java.lang.Object comme classe de base et cochez l’option Générer la propriété exemple.

3 Compilez le projet (Projet|Construire le projet).

4 Cliquez avec le bouton droit de la souris sur le bean et choisissez Exporter en tant que service Web pour ouvrir l’expert Exportation en tant que service Web.

Comme le projet n’est pas encore configuré pour les services Web, l’expert Configuration des services Web s’affiche avant l’expert Exportation en tant que service Web.

5 Créez une implémentation SOAP avec la boîte à outils Axis pour héberger le service Web comme décrit dans “Utilisation de l’expert Configuration des services Web”, page 3-1.

Une fois que le projet est configuré pour les services Web, l’expert Exportation en tant que service Web s’affiche.

6 Poursuivez les étapes de l’expert et choisissez les options souhaitées ainsi que les méthodes que vous voulez exposer en tant que service dans l’expert. Pour plus d’informations sur les options de l’expert

Page 47: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

U t i l i s a t i o n d e l a b o î t e à o u t i l s A p a c h e A x i s 7-5

E x p o r t a t i o n d ’ u n e c l a s s e e n t a n t q u e s e r v i c e W e b

Exportation en tant que service Web, cliquez sur le bouton Aide dans l’expert.

7 Développez le nœud du serveur de services Web, cliquez avec le bouton droit de la souris sur index.html, et choisissez Exécution Web en utilisant “Serveur services Web” pour déployer le service sur le serveur de services Web. Vous pouvez également choisir Exécuter|Exécuter le projet pour exécuter la configuration Serveur services Web créée par l’expert Configuration des services Web.

Le service est déployé vers le serveur Web et la page d’administration Axis s’affiche, dans laquelle vous pouvez administrer, visualiser et valider le service.

8 Développez le paquet généré par l’expert, cliquez avec le bouton droit de la souris sur le cas de test JUnit, <nom classe>ServiceTestCase.java, et choisissez Exécuter le test en utilisant les valeurs par défaut pour tester le service généré.

Page 48: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

7-6 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

I m p o r t a t i o n d ’ u n W S D L

Important si vous apportez des modifications à une classe après l’avoir exportée, vous devrez recompiler, exporter à nouveau en tant que service Web et redéployer sur le serveur de services Web pour que les modifications soient prises en compte.

Pour un tutoriel utilisant l’expert Exportation en tant que service Web pour exporter un JavaBean en tant que service Web, voir Chapitre 13, “Tutoriel : Création d’un service Web simple avec Axis”. Pour plus d’informations sur SOAP, voir Chapitre 3, “Configuration des projets pour les services Web”.

Importation d’un WSDLL’expert Importation d’un service Web génère les classes Java qui implémentent le service Web défini dans le WSDL. Il peut générer à la fois les classes côté serveur et les classes côté client pour la création et l’utilisation des services. L’expert peut également générer les classes côté client uniquement pour l’utilisation d’un service. Il peut générer facultativement un cas de test JUnit pour le test de l’interaction avec le service Web généré. Ajoutez du code aux classes générées pour implémenter les méthodes selon vos souhaits. L’expert Importation d’un service Web génère également un fichier deploy.wsdd qui fournit des informations de déploiement au serveur de services Web.

En fonction des paramètres que vous sélectionnez, l’expert Importation d’un service Web génère une partie ou la totalité des fichiers suivants à partir du WSDL. Les exemples de noms de fichier sont tirés de l’exemple AddressBook.wsdl dans <jbuilder>/samples/webservices/axis/wsdl/AddressBook.wsdl.

Tableau 7.2 Fichiers générés par l’expert Importation d’un service Web

Nom de fichier Description Elément WSDL Exemple

nom complexType.java Une classe pour chaque complexType dans la section des types du WSDL.

<xsd:complexType name="phone">

Address.javaPhone.java

Une classe intermédiaire si ce type est utilisé comme paramètre inout/out.

nom de service.java Une interface pour chaque service qui définit une méthode get pour chaque port répertorié dans l’élément service du WSDL. Cette interface de service définit une classe factory pour l’obtention d’une instance de stub.

<service name="AddressBookService">

AddressBookService.java

Page 49: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

U t i l i s a t i o n d e l a b o î t e à o u t i l s A p a c h e A x i s 7-7

I m p o r t a t i o n d ’ u n W S D L

L’expert génère un nom de paquet basé sur l’espace de nommage cible du WSDL ou utilise celui que vous spécifiez, en ajoutant toutes les bibliothèques de projet nécessaires.

L’expert Importation d’un service Web est disponible dans l’onglet Services Web de la galerie d’objets. Vous pouvez également cliquer avec le bouton droit de la souris sur tout document WSDL dans le volet projet et sélectionner Importer un service Web dans le menu contextuel. L’expert

nom de serviceLocator.java

Une classe locator pour chaque service représentant l’implémentation de l’interface de service.

<service name="AddressBookService">

AddressBookServiceLocator.java

nom de serviceTestCase.java

Un cas de test JUnit facultatif pour le test du service Web.

<service name="AddressBookService">

AddressBookServiceTestCase.java

nom portType.java Une interface pour chaque portType du WSDL. Vous devrez utiliser l’implémentation de cette interface pour appeler les méthodes distantes.

<portType name="AddressBookPortType">

AddressBookPortType.java

nom liaisonImpl.java Une classe d’implémentation pour chaque interface portType.

<binding name="AddressBookSOAPBinding">

AddressBookSOAPBindingImpl.java

nom liaisonSkeleton.java Une classe squelette facultative permettant d’encapsuler une implémentation pour le serveur.

<binding name="AddressBookSOAPBinding">

AddressBookSOAPBindingSkeleton.java

nom liaisonStub.java Une classe stub pour chaque liaison qui agit en tant que proxy pour un service Web distant. Cela vous permet d’appeler le service Web comme s’il s’agissait d’un objet local.

<binding name="AddressBookSOAPBinding">

AddressBookSOAPBindingStub.java

deploy.wsdd Un fichier XML pour chaque service qui fournit des informations de déploiement sur le serveur de services Web et peut être utilisé avec l’AdminClient.

server-config.wsdd Un fichier XML qui fournit des informations de déploiement au serveur.

Tableau 7.2 Fichiers générés par l’expert Importation d’un service Web (suite)

Nom de fichier Description Elément WSDL Exemple

Page 50: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

7-8 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

I m p o r t a t i o n d ’ u n W S D L

Importation d’un service Web est également disponible dans l’explorateur de services Web lorsqu’un nœud spécifiant un WSDL est sélectionné.

Pour importer un WSDL et générer des classes Java à partir de ce WSDL, suivez ces étapes élémentaires :

1 Créez un nouveau projet (Fichier|Nouveau projet).

2 Créez une implémentation SOAP pour héberger le service Web comme décrit dans “Utilisation de l’expert Configuration des services Web”, page 3-1 (Fichier|Nouveau|Services Web|Configuration des services Web).

3 Choisissez l’une des méthodes suivantes pour importer un WSDL et ouvrir l’expert Importation d’un service Web :

• Ajoutez un WSDL à votre projet, effectuez un clic droit sur ce WDSL dans le volet projet et sélectionnez Importer un service Web.

• Ajoutez un WSDL à votre projet, sélectionnez-le dans le volet projet, choisissez Fichier|Nouveau|Services Web et double-cliquez sur l’icône Importer un service Web.

• Choisissez Outils|Explorateur de services Web, naviguez jusqu’à un WSDL, et choisissez Fichier|Importer un service Web.

4 Acceptez Apache Axis comme boîte à outils et cliquez sur OK.

5 Acceptez l’URL WSDL ou cliquez sur le bouton points de suspension (..) pour naviguer jusqu’au WSDL. Saisissez un nom d’utilisateur et un mot de passe si le WSDL en requiert un. Cliquez sur Suivant pour continuer.

6 Choisissez les options côté serveur et de sortie que vous souhaitez pour les étapes 2 et 3. Notez le nom du paquet dans Options de paquet. Il s’agit du paquet dans lequel l’expert stockera les fichiers classe Java générés. Pour plus d’informations sur les options de l’expert

Page 51: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

U t i l i s a t i o n d e l a b o î t e à o u t i l s A p a c h e A x i s 7-9

E x p o r t a t i o n d ’ E J B e n t a n t q u e s e r v i c e s W e b

Importation d’un service Web, cliquez sur le bouton Aide à n’importe quelle étape de l’expert.

7 Personnalisez les noms des paquets à l’étape 4 et cliquez sur Terminer pour fermer l’expert.

8 Développez le nouveau paquet créé par l’expert pour voir les fichiers classe Java générés.

9 Développez le nœud du serveur de services Web, cliquez avec le bouton droit de la souris sur index.html, et choisissez Exécution Web en utilisant “Serveur services Web” pour déployer le service sur le serveur de services Web.

10 Exécutez le client pour utiliser le service ou modifiez les classes du serveur pour implémenter localement le service.

11 Cliquez avec le bouton droit de la souris sur le cas de test JUnit si vous en avez créé un, et sélectionnez Exécuter le test en utilisant les valeurs par défaut pour tester le service généré.

Pour un tutoriel utilisant un document WSDL pour exploiter un service Web, voir Chapitre 14, “Tutoriel : Génération d’un service Web à partir d’un document WSDL”.

Exportation d’EJB en tant que services WebL’exportation d’EJB (Enterprise JavaBeans) en tant que services Web dans JBuilder requiert uniquement la configuration du projet pour les services Web. Vous devez simplement développer votre application EJB comme d’habitude, configurer le projet pour les services Web avec l’expert Configuration des services Web et exécuter le projet avec la configuration

Page 52: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

7-10 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E x p o r t a t i o n d ’ E J B e n t a n t q u e s e r v i c e s W e b

d’exécution Serveur services Web créée par l’expert. Tout EJB du projet est automatiquement déployé vers le serveur Web Axis en tant que service Web sans étapes supplémentaires. Par défaut, JBuilder expose automatiquement tous les beans session stateless auxquels sont associées des méthodes métier dans l’interface remote. Vous pouvez également passer outre ce comportement par défaut et ne sélectionner que les modules EJB, les beans et les méthodes que vous souhaitez exposer en tant que services Web.

Remarque L’exportation d’un EJB diffère de l’exportation d’une classe Java. Vous devez explicitement exporter une classe Java avec l’expert Exportation en tant que service Web. Les EJB, par contre, sont automatiquement exportés si le projet est configuré pour les services Web à l’aide de l’expert Configuration des services Web.

Important Pour les problèmes de configuration avec les serveurs d’applications, voir Chapitre 10, “Modification des paramètres des serveurs d’applications d’entreprise pour les services Web”, et “Remarques version” (Aide|Remarques version).

Pour créer un service Web basé sur EJB, effectuez les étapes suivantes :

1 Utilisez l’expert Configuration des services Web et créez la WebApp Axis de la façon dont vous créeriez normalement une application de services Web autonome. Cette opération crée une configuration d’exécution basée sur le serveur d’applications pour le projet. Pour plus d’informations sur l’expert de configuration des services Web, voir “Utilisation de l’expert Configuration des services Web”, page 3-1.

2 Créez un ou plusieurs modules EJB et remplissez-les avec des beans session et entité. Implémentez-les comme n’importe quelle application EJB. Vous disposez peut-être déjà de beans session stateless relativement larges. Si vous n’en disposez pas, vous devrez en créer un, car seuls les beans session stateless sont exposés en tant que services Web. Les beans session stateless doivent avoir au moins une méthode valide dans l’interface distante. Ce modèle parallélise l’accès des beans à partir d’un conteneur Web, comme les Servlet/JSP. Pour plus d’informations sur les EJB, voir le Guide du développeur Enterprise JavaBeans.

3 Construisez le projet.

Remarque la boîte à outils Apache Axis combine chaque fichier de déploiement (deploy.wsdd) de votre projet en un server-config.wsdd. Toutes les modifications manuelles apportées aux fichiers de déploiement sont remplacées par le toolkit. Si vous modifiez server-config.wsdd, désactivez l’option Régénérer le déploiement dans l’onglet Services Web de la page Construction de Propriétés du projet, sans quoi server-config.wsdd sera écrasé par la boîte à outils lorsque vous

Page 53: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

U t i l i s a t i o n d e l a b o î t e à o u t i l s A p a c h e A x i s 7-11

I m p o r t a t i o n d e s e r v i c e s e n t a n t q u ’ a p p l i c a t i o n s E J B

construirez le projet. Pour plus d’informations, voir “Définition des options de construction”, page 3-6.

4 Développez le nœud Axis WebApp, cliquez avec le bouton droit de la souris sur index.html, et choisissez Exécuter en utilisant “Serveur services Web” pour exécuter l’implémentation SOAP et le serveur d’applications EJB.

Notez que si vous modifiez l’application EJB après l’avoir exportée en tant que service, vous devrez à nouveau construire et déployer l’application pour que les modifications prennent effet.

Pour un tutoriel expliquant le cycle complet des services Web utilisant des EJB, voir Chapitre 15, “Tutoriel : Création d’un service Web à partir d’une application EJB avec Borland Enterprise Server”.

Importation de services en tant qu’applications EJBL’expert Importation d’un service Web offre plusieurs choix lors de l’importation d’un service à partir d’un fichier WSDL. Si vous souhaitez implémenter le service en tant qu’EJB, choisissez l’option Implémentation, En tant qu’EJB, à l’étape 2 de l’expert. Il est impératif que soient spécifiés un serveur d’applications pour votre projet sur la page Serveur (Projet|Propriétés du projet) et un module EJB dans votre projet. Vous pouvez créer un module EJB avant d’utiliser l’expert ou en créer un lorsque vous l’utilisez.

Pour implémenter un service Web en tant qu’EJB,

1 Ajoutez un document WSDL à votre projet ou naviguez jusqu’à un WSDL dans l’explorateur de services Web.

Important Il est impératif que soit spécifié un serveur d’applications en tant que serveur du projet.

Page 54: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

7-12 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

I m p o r t a t i o n d e s e r v i c e s e n t a n t q u ’ a p p l i c a t i o n s E J B

2 Cliquez avec le bouton droit sur le WSDL dans le volet projet et sélectionnez Importer un service Web pour ouvrir l’expert Importation d’un service Web. Si vous utilisez l’explorateur de services Web, choisissez Fichier|Importer un service Web.

3 Acceptez Apache Axis comme boîte à outils et cliquez sur OK. Si vous choisissez la boîte à outils WebLogic, les étapes sont différentes. Voir Chapitre 8, “Utilisation de la boîte à outils WebLogic”.

4 Acceptez le nom WSDL dans le champ WSDL et cliquez sur Suivant. Vous n’avez pas besoin de saisir de nom d’utilisateur ou de mot de passe.

5 Choisissez l’option Implémentation, En tant qu’EJB, à l’étape 2 de l’expert, et cliquez sur Suivant.

6 Définissez le paquet de sortie, choisissez les options d’importation, désactivez l’option Générer le cas de test JUnit et cliquez sur Suivant.

7 Créez un nouveau module EJB avec l’expert Module EJB ou choisissez un module EJB existant dans la liste déroulante de l’étape 4 et cliquez sur Suivant.

8 Personnalisez l’affectation de nom de paquet et cliquez sur le bouton Terminer pour fermer l’expert. Notez que l’expert génère un paquet

Page 55: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

U t i l i s a t i o n d e l a b o î t e à o u t i l s A p a c h e A x i s 7-13

I m p o r t a t i o n d e s e r v i c e s e n t a n t q u ’ a p p l i c a t i o n s E J B

basé sur le targetNamespace du WSDL. Développez le paquet pour voir les fichiers .java générés par l’expert.

9 Construisez le projet.

10 Créez un client de test EJB (Fichier|Nouveau|Entreprise), modifiez-le, exécutez le serveur et testez l’application EJB.

Pour un tutoriel sur l’importation d’un WSDL en tant qu’application EJB avec Borland Enterprise Server, voir Chapitre 16, “Tutoriel : Importation d’un service Web en tant qu’application EJB”.

Importation de services en tant qu’applications EJB dans l’explorateur de services Web

Après avoir construit et exporté votre application en tant que service Web sur un serveur Axis, vous pouvez construire un client pour utiliser le service que vous venez de créer dans l’explorateur de services Web. Dans les étapes suivantes, vous utiliserez l’explorateur de services Web pour parcourir tous les services disponibles sur le serveur et importer le WSDL afin de construire une application client.

1 Choisissez Outils|Explorateur des services Web pour ouvrir l’explorateur de services Web. Pour plus d’informations, voir Chapitre 11, “Parcours et publication de services Web”.

2 Développez le nœud Serveurs WSDL et sélectionnez le nœud par défaut dans l’arborescence.

3 Modifiez le champ URL dans la page Détails avec le contexte WebApp et l’emplacement du serveur du service Web. Par exemple, http://localhost:8080/axis/services ou http://localhost:8080/axis/servlet/AxisServlet, où http://localhost:8080 représente l’emplacement du serveur et axis le contexte web (nom de la WebApp).

4 Cliquez sur le bouton Afficher les services dans la page Détails pour afficher les services Web EJB publiés. Vous remarquez que les beans

Page 56: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

7-14 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

D é p l o i e m e n t d e s e r v i c e s W e b

sont disponibles dans la liste. Notez que le serveur d’applications doit être en cours d’exécution pour que vous puissiez afficher ses services.

5 Sélectionnez l’EJB dans l’arborescence et cliquez sur le bouton de la barre d’outils Importer un service Web. L’expert Importation d’un service Web fournit plusieurs options d’implémentation : implémentation du service en tant que classe, en tant qu’EJB ou en tant que code client uniquement. Pour une description des fichiers générés par l’expert Importation d’un service Web, voir “Importation d’un WSDL”, page 7-6. Pour un tutoriel, voir Chapitre 14, “Tutoriel : Génération d’un service Web à partir d’un document WSDL”.

6 Vous pouvez ensuite publier le service Web dans un registre UDDI. Pour plus d’informations, voir “Publication de services Web à partir d’un serveur Axis”, page 11-26.

Déploiement de services WebLes experts Importation d’un service Web et Exportation en tant que service Web créent un fichier XML descripteur de déploiement de services Web deploy.wsdd qui fournit des informations de déploiement sur un serveur de services Web. Lorsque des EJB sont exportés en tant que services Web, opération que JBuilder réalise automatiquement sans utiliser d’expert, un fichier deploy.wsdd est généré pour chaque module EJB du projet.

Compréhension des fichiers WSDD

Les fichiers WSDD sont des descripteurs de déploiement de services Web générés par JBuilder pour représenter les services exposés en tant que services Web. Vous pouvez personnaliser les informations générées et ajouter des éléments supplémentaires, comme des gestionnaires personnalisés, des chaînes, etc.

Page 57: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

U t i l i s a t i o n d e l a b o î t e à o u t i l s A p a c h e A x i s 7-15

D é p l o i e m e n t d e s e r v i c e s W e b

deploy.wsdd

Le fichier deploy.wsdd est affiché sur le nœud WebApp hébergeant le service Web. Si une classe Java est exportée, elle apparaît dans le nœud Services basés sur Java de la WebApp (WebApp|Composants service Web|Services basés sur Java). Les WSDD de l’EJB sont affichés dans le nœud Services basés sur EJB de la WebApp. Le nom du fichier est précédé du [<package name>] pour les classes exportées et du [<EJB module name>] pour les EJB, afin de les différencier des autres fichiers deploy.wsdd qui peuvent avoir été générés pour d’autres paquets dans le projet. Pour plus de facilité, tous les fichiers WSDD de l’arborescence src sont regroupés dans le nœud Composants services Web. Remarquez toutefois que le nœud Composants services Web ne correspond pas à un emplacement physique réel sur le disque. Le fichier deploy.wsdd est enregistré dans le même répertoire que les stubs et les squelettes générés.

Pour les classes exportées, les valeurs contenues dans le fichier deploy.wsdd sont dérivées des informations contenues dans le document WSDL et des méthodes exposées choisies dans l’expert Exportation en tant que service Web. Les paramètres de l’expert Importation d’un service Web ne modifient pas les valeurs dans le descripteur de déploiement. Pour les EJB, qui sont automatiquement déployés par JBuilder sans utilisation de l’expert, les valeurs pour deploy.wsdd sont déduites des beans session stateless avec des méthodes métier dans l’interface distante. Notez que le format WSDD est un format propriétaire spécifié dans la boîte à outils Axis. Pour plus d’informations, consultez la documentation Axis à votre disposition dans <jbuilder>/thirdparty/xml-axis/java/docs.

Vous pouvez modifier les valeurs présentes dans deploy.wsdd pour les classes Java et les EJB à tout moment, ainsi qu’ajouter des éléments supplémentaires, comme des gestionnaires personnalisés, des chaînes, etc. Pour plus d’informations sur la personnalisation du déploiement EJB, voir “Modifications des fichiers WSDD pour les EJB”, page 7-16.

<?xml version="1.0" encoding="UTF-8"?><deployment xmlns="http://xml.apache.org/axis/wsdd/"

Page 58: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

7-16 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

D é p l o i e m e n t d e s e r v i c e s W e b

xmlns:ns="http://untitled33" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="Bean1" provider="java:RPC"> <parameter name="className" value="untitled33.Bean1"/> <parameter name="allowedMethods" value="*"/> <parameter name="scope" value="Request"/> </service></deployment>

Voir aussi

• “Custom Deployment — Introducing WSDD” dans la documentation Axis dans <jbuilder>/thirdparty/xml-axis/java/docs/user-guide.html

• “Axis Web Services Deployment Descriptor (WSDD)” dans la documentation Axis dans <jbuilder>/thirdparty/xml-axis/java/wsdd/docs/index.html

• “Deployment (WSDD) Reference” dans le Guide de référence Axis dans <jbuilder>/thirdparty/xml-axis/java/docs/reference.html#Deployment

Modifications des fichiers WSDD pour les EJBVous pouvez personnaliser le déploiement EJB de vos services Web des deux manières suivantes :

• “Modification des propriétés du nœud de déploiement”, page 7-16

• “Edition de deploy.wsdd et modification de l’élément <documentation>”, page 7-17

Modification des propriétés du nœud de déploiementPar défaut, JBuilder expose automatiquement tous les beans session stateless auxquels sont associées des méthodes métier dans l’interface remote. Vous pouvez passer outre ce comportement par défaut et ne sélectionner que les modules EJB (Enterprise JavaBean), beans et méthodes que vous souhaitez exposer en tant que services Web.

Vous pouvez modifier le comportement automatique de déploiement de la page Modules de la boîte de dialogue Propriétés pour Services basés EJB :

1 Développez le nœud WebApp qui héberge le service Web dans le volet projet, développez le nœud Composants service Web, cliquez avec le bouton droit de la souris sur le nœud Services basés EJB, et choisissez Propriétés. Sur la page Modules, choisissez les modules EJB et beans session stateless à exposer en tant que services Web. Les beans session stateless doivent avoir au moins une méthode valide dans l’interface

Page 59: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

U t i l i s a t i o n d e l a b o î t e à o u t i l s A p a c h e A x i s 7-17

D é p l o i e m e n t d e s e r v i c e s W e b

distante. Le comportement par défaut consiste à exposer tous ces beans, qui sont sélectionnés sur la page Propriétés.

2 Désactivez les éventuels modules EJB et/ou beans que vous ne souhaitez pas exposer en tant que services Web.

3 Cliquez sur OK pour fermer la boîte de dialogue.

4 Reconstruisez le projet.

Edition de deploy.wsdd et modification de l’élément <documentation>Si vous modifiez le fichier deploy.wsdd pour un EJB exporté, il vous faut modifier l’élément <documentation> pour empêcher la boîte à outils d’écraser vos changements. Dans deploy.wsdd pour les EJB, il existe un élément <documentation> pour chaque élément <service>. Changez l’entrée de YES en NO dans l’élément <documentation> pour chaque élément <service> que vous avez modifié :

<documentation>JBUILDER devrait générer automatiquement l’entrée suivante : NO(YES/NO)</documentation>

Si vous avez modifié cette entrée, la boîte à outils n’écrasera pas vos changements dans deploy.wsdd. Reconstruisez le projet afin que les modifications prennent effet.

server-config.wsdd

Lors de la construction, JBuilder génère des services Web pour tout le projet en utilisant le fichier deploy.wsdd individuel comme entrée. Le résultat de cette opération est un fichier server-config.wsdd localisé dans le nœud Descripteurs de déploiement de la WebApp. Vous pouvez modifier ce fichier, mais vous devez désactiver une option de construction pour empêcher la boîte à outils de l’écraser lors de la construction suivante. Pour plus d’informations, consultez l’onglet Services Web sur la page Construction (Projet|Propriétés du projet|Construire).

Page 60: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

7-18 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

D é p l o i e m e n t d e s e r v i c e s W e b

<?xml version="1.0" encoding="UTF-8"?><deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java= "http://xml.apache.org/axis/wsdd/providers/java"><globalConfiguration> ... <handler name="MsgDispatcher" type= "java:org.apache.axis.providers.java.MsgProvider"/> <service name="Bean1" provider="java:RPC"/> <parameter name="allowedMethods" value="*"//> <parameter name="scope" value="Session"//> <parameter name="className" value="untitled33.Bean1"//> </service> ...</deployment>

Modification de server-config.wsddPour modifier server-config.wsdd,

1 Construisez le projet pour générer le fichier server-config.wsdd à partir des fichiers deploy.wsdd des services Web dans le projet.

2 Ouvrez server-config.wsdd dans le nœud Descripteurs de déploiement de la WebApp hébergeant le service Web.

3 Recherchez et modifiez les éléments appropriés. Par exemple, vous pouvez choisir de limiter les méthodes exposées à partir de <parameter name="allowedMethods" value="getSample, setSample"/> pour autoriser uniquement la méthode get et non la méthode set : <parameter name="allowedMethods" value="getSample"/>.

4 Utilisez le même mécanisme pour ajouter requestFlow, typemappings, ou tout autre élément de déploiement au fichier WSDD ; JBuilder les déploiera alors pour vous.

5 Désactivez l’option Régénérer le déploiement de l’onglet Services Web sur la page Construction (Projet|Propriétés du projet|Construire). Cette désactivation empêche la boîte à outils d’écraser le fichier à la construction suivante.

6 Reconstruisez le projet.

Page 61: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

U t i l i s a t i o n d e l a b o î t e à o u t i l s W e b L o g i c 8-1

C h a p i t r e

8Chapitre8Utilisation de la boîte à outils

WebLogicC’est une fonctionnalitéde JBuilder Entreprise.

JBuilder fournit des experts permettant d’utiliser la boîte à outils WebLogic pour exploiter et créer facilement des services Web. L’expert Exportation en tant que service Web exporte une ou plusieurs classes Java en tant que service Web. Les EJB, par contre, sont automatiquement exportés si le projet est configuré pour les services Web à l’aide de l’expert Configuration des services Web. L’expert Importation d’un service Web vous permet d’importer un service Web à partir d’un document WSDL ou d’un EAR.

Ces deux experts peuvent créer un JAR client, qui est généré dans un dossier GeneratedWebServiceClients au sein du volet projet. Pour voir les classes Java générées par l’expert et la boîte à outils WebLogic, ouvrez le fichier JAR client. Le fichier <ServiceName>Port.java contient la définition de l’interface de votre service Web, où <ServiceName> fait référence au nom du service Web. Le stub <ServiceName>_Impl implémente l’interface JAX-RPC Service. La boîte à outils WebLogic utilise une implémentation de stubs client compatibles avec JAX-RPC (Java APIs for XML-based Remote Procedure Call).

Tableau 8.1 Interfaces et classes JAX-RPC

Interface ou classe Description

Service Les principales interfaces client utilisées pour des invocations statiques et dynamiques.

ServiceFactory Classe de factory pour la création d’instances Service.

Stub Le proxy client pour l’appel des opérations (méthodes) utilisées pour les invocations statiques d’un service.

Call Utilisée pour appeler dynamiquement un service Web.

Page 62: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

8-2 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E x p o r t a t i o n d ’ u n e c l a s s e e n t a n t q u e s e r v i c e W e b

Pour plus d’informations sur le serveur WebLogic et les services Web, consultez la documentation BEA sur le site http://edocs.bea.com/wls/docs70/webservices.html.

Exportation d’une classe en tant que service WebL’expert Exportation en tant que service Web est utilisé pour exporter une classe en tant que service Web. Il offre des options vous permettant de choisir les méthodes que vous souhaitez mettre à disposition du service. Vous pouvez utiliser cet expert pour exporter une ou plusieurs classes Java en tant que service Web ; par exemple, un JavaBean. Toutefois, si la classe utilise des types non-bean comme paramètres ou valeurs de retour, vous devez fournir des sérialiseurs et des désérialiseurs. L’expert possède des options pour générer les implémentations côté client du service. Il génère également un WSDL, qui décrit le service, et des informations de déploiement pour la boîte à outils WebLogic.

L’expert offre la possibilité de générer un stub client ou seulement des fichiers de déploiement WLDU. Si vous ne générez pas de stub client, l’expert a deux étapes, et un seul fichier servicegen.wldu fournissant des informations de déploiement sur le serveur WebLogic est généré. Pour plus d’informations sur le fichier de déploiement, voir “Compréhension des fichiers WLDU”, page 8-14. Si vous activez l’option Générer un stub client, l’expert comprend sept étapes et génère un <client>.jar qui contient les classes et le WSDL. Le <client>.jar s’affiche en tant que nœud dans le dossier GeneratedWebServiceClients du volet projet. L’expert ajoute également la bibliothèque GeneratedWebServiceClients au projet (Projet|Propriétés du projet|Chemins|Bibliothèques nécessaires), pour que JBuilder puisse trouver les classes dans le JAR.

Si le projet n’est pas configuré pour héberger le service Web, l’expert Configuration des services Web s’affiche avant l’expert Exportation en tant que service Web.

Remarque L’exportation d’une classe est différente de l’exportation d’un EJB. Vous devez explicitement exporter une classe Java avec l’expert Exportation en tant que service Web. Les EJB, par contre, sont automatiquement exportés si le projet est configuré pour les services Web à l’aide de l’expert Configuration des services Web.

Pour créer un service Web à partir d’une classe Java avec la boîte à outils WebLogic, suivez ces étapes élémentaires :

1 Choisissez Fichier|Nouveau projet pour créer un projet avec l’expert Projet.

Important Assurez-vous de créer le projet dans un répertoire dont le nom ne comporte aucun espace, sans quoi le serveur WebLogic pourra générer des erreurs.

Page 63: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

U t i l i s a t i o n d e l a b o î t e à o u t i l s W e b L o g i c 8-3

E x p o r t a t i o n d ’ u n e c l a s s e e n t a n t q u e s e r v i c e W e b

2 Choisissez Projet|Propriétés du projet et cliquez sur l’onglet Serveur.

3 Spécifiez WebLogic Application Server 7.x comme serveur unique pour le projet.

4 Choisissez Fichier|Nouveau|Général et double-cliquez sur l’icône JavaBean pour créer un JavaBean à exporter en tant que service Web.

5 Comme classe de base, spécifiez java.lang.Object.

6 Activez l’option Générer la propriété exemple dans l’expert JavaBean et cliquez sur Terminer pour créer le JavaBean.

7 Cliquez avec le bouton droit sur le JavaBean dans le volet projet et choisissez Exporter en tant que service Web pour ouvrir l’expert Exportation en tant que service Web. Comme le projet n’est pas encore configuré pour les services Web, l’expert Configuration des services Web s’ouvre pour vous permettre de créer un EAR, une WebApp pour héberger le service, et choisir la boîte à outils des services Web.

8 Configurez le projet pour les services Web comme suit :

a Choisissez le bouton Nouveau à côté du champ EAR et créez un EAR avec l’expert EAR. Cliquez sur Terminer pour revenir à l’expert Configuration des services Web.

b Choisissez le bouton Nouveau à côté du champ WebApp pour créer une WebApp SOAP avec l’expert Application Web. Une WebApp est nécessaire pour héberger le service. Entrez le nom et le répertoire de la WebApp. Cliquez sur OK pour revenir à l’expert Configuration des services Web.

c Choisissez WebLogic comme boîte à outils des services Web et cliquez sur Suivant pour passer à la dernière étape.

d Acceptez la configuration d’exécution par défaut du serveur de services Web. Vous l’utiliserez pour construire et exécuter le projet.

Page 64: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

8-4 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E x p o r t a t i o n d ’ u n e c l a s s e e n t a n t q u e s e r v i c e W e b

e Cliquez sur Terminer pour fermer l’expert Configuration des services Web. L’expert Exportation en tant que service Web s’affiche.

9 Acceptez la classe à exporter, le nom d’EAR et le nom de la WebApp à l’étape 1 de l’expert Exportation en tant que service Web. Notez que l’option Générer un stub client est activée. Si vous ne voulez pas générer de stub client, désactivez-la. Lorsque cette option est désactivée, l’expert ne comprend que deux étapes. Si Générer un client stub est activée, l’expert comprend des étapes supplémentaires et génère un JAR client dans le nœud GeneratedWebServiceClients du volet projet.

10 Passez à l’étape 2 et prenez note du ServiceURI à l’étape 2 de l’expert. L’URI du service est utilisé dans l’URL pour l’appel du service Web. Vous utiliserez l’URL du service Web plus tard pour tester le service dans la page d’accueil des services Web WebLogic. Les valeurs de cette page de l’expert sont enregistrées dans le fichier de déploiement WLDU, servicegen.wldu. Vous pouvez modifier les valeurs de la page Propriétés WebLogic et exporter ensuite de nouveau la classe Java. Pour plus d’informations sur la modification de ces valeurs, voir “Définition des valeurs par défaut d’appellation de services”, page 8-18.

11 Cliquez sur Suivant et continuez à parcourir les étapes restantes de l’expert Exportation en tant que service Web. Notez les noms par défaut du paquet et du JAR client à l’étape 4 : <nom-projet>.generated et <nom-classe>_client.jar. Cliquez sur le bouton Aide pour plus d’informations sur les options.

12 Cliquez sur Terminer pour fermer l’expert. Développez le nœud WebApp, puis le nœud Composants service Web et le nœud Services basés sur Java, pour voir le fichier de déploiement WebLogic servicegen.wldu qui fournit des informations de déploiement sur le

Page 65: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

U t i l i s a t i o n d e l a b o î t e à o u t i l s W e b L o g i c 8-5

E x p o r t a t i o n d ’ u n e c l a s s e e n t a n t q u e s e r v i c e W e b

serveur. Le fichier WLDU contient des informations comme le nom du service, l’URL du service, le contexte Web (contextURI), l’espace de nommage et les classes qui sont exportées. Pour plus d’informations sur ce fichier de déploiement, voir “Compréhension des fichiers WLDU”, page 8-14. Développez le nœud GeneratedWebServiceClients et double-cliquez sur le JAR pour voir les fichiers de classes et le WSDL créés par la boîte à outils WebLogic.

13 Choisissez Projet|Construire le projet pour construire le projet.

14 Choisissez Exécuter|Exécuter le projet pour exécuter le projet avec la configuration d’exécution du serveur de services Web créée par l’expert Configuration des services Web. Cette configuration exécute le serveur WebLogic.

15 Cliquez avec le bouton droit sur le nœud eargrp et choisissez Options de déploiement|Déployer pour déployer l’EAR sur le serveur.

16 Testez le service Web déployé sur la page d’accueil dans un navigateur Web. Pour plus d’informations, voir “Test des services déployés”, page 8-9.

17 Copiez l’exemple de code à partir de la page d’accueil pour appeler le service et modifiez-le pour créer un client afin de tester le service. Voir “Ecriture d’un client de test”, page 8-11.

Pour plus d’informations sur l’écriture des clients pour appeler un service Web, voir “Writing the Java Client Application Code” dans la documentation WebLogic à l’adresse http://edocs.bea.com/wls/docs70/webserv/client.html#1024463 et “Ecriture d’un client pour tester le service” dans le Chapitre 17, “Tutoriel : Création d’un service Web simple avec WebLogic”.

Remarque Si vous modifiez des classes dans votre service Web, vous devez recompiler, exporter de nouveau en tant que service et redéployer pour que ces modifications prennent effet.

Pour un tutoriel sur l’exportation d’une classe en tant que service Web avec WebLogic, voir Chapitre 17, “Tutoriel : Création d’un service Web simple avec WebLogic”.

Page 66: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

8-6 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

I m p o r t a t i o n d ’ u n W S D L o u d ’ u n E A R e n t a n t q u e s e r v i c e W e b

Exportation de plusieurs classes en tant que service Web

Vous pouvez également exposer simultanément plusieurs classes en tant que service Web comme décrit dans les étapes suivantes :

1 Dans le volet projet, sélectionnez une ou plusieurs classes, cliquez dessus avec le bouton droit et choisissez Exporter en tant que service Web.

2 Choisissez le bouton Ajouter dans l’expert si vous voulez ajouter des classes supplémentaires à exposer en tant que services.

3 Choisissez les options voulues dans l’expert Exportation en tant que service Web et cliquez sur Terminer.

4 Compilez et déployez sur le serveur.

5 Testez le service déployé sur la page d’accueil dans un navigateur.

Importation d’un WSDL ou d’un EAR en tant que service WebL’expert Importation d’un service Web génère un client de service Web. Lorsque vous utilisez l’expert Importation d’un service Web avec la boîte à outils WebLogic, vous pouvez importer un WSDL ou un EAR contenant un service Web propre à WebLogic. L’expert génère des stubs client compatibles JAX-RPC (Java APIs for XML-based Remote Procedure Call). Le code généré est empaqueté dans un fichier JAR dans le dossier GeneratedWebServiceClients du projet. Une bibliothèque de projet du même nom est automatiquement créée et ajoutée au projet.

Importation d’un EAR en tant que service Web

Suivez ces étapes élémentaires pour importer un EAR en tant que service Web :

1 Effectuez les étapes pour créer un service Web déployé comme décrit dans “Exportation d’une classe en tant que service Web”, page 8-2.

Page 67: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

U t i l i s a t i o n d e l a b o î t e à o u t i l s W e b L o g i c 8-7

I m p o r t a t i o n d ’ u n W S D L o u d ’ u n E A R e n t a n t q u e s e r v i c e W e b

2 Cliquez avec le bouton droit sur le nœud eargrp dans le volet projet et choisissez Importer un service Web pour ouvrir l’expert Importation d’un service Web.

3 Acceptez le nom du fichier EAR à importer et sélectionnez le service que vous souhaitez importer à partir de la liste déroulante, s’il est disponible, puis cliquez sur Suivant.

4 Choisissez les options de génération de code côté client et cliquez sur Suivant.

5 Spécifiez le nom du paquet et cliquez sur Terminer.

6 Développez le nœud GeneratedWebServiceClients pour voir le JAR client généré par le serveur WebLogic.

7 Testez le service déployé sur la page d’accueil des services Web WebLogic comme décrit dans “Test des services déployés”, page 8-9.

Page 68: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

8-8 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

I m p o r t a t i o n d ’ u n W S D L o u d ’ u n E A R e n t a n t q u e s e r v i c e W e b

8 Copiez l’exemple de code à partir de la page d’accueil pour appeler le service et créez un client pour tester le service. Voir “Ecriture d’un client de test”, page 8-11.

Pour plus d’informations sur l’écriture des clients pour appeler un service Web, voir “Writing the Java Client Application Code” dans la documentation WebLogic à l’adresse http://edocs.bea.com/wls/docs70/webserv/client.html#1024463 et “Ecriture d’un client pour tester le service” dans le Chapitre 17, “Tutoriel : Création d’un service Web simple avec WebLogic”.

Importation d’un WSDL en tant que service Web

L’importation d’un WSDL est très similaire à l’importation d’un EAR. Suivez ces étapes élémentaires :

1 Choisissez Fichier|Nouveau projet pour créer un projet avec l’expert Projet.

Important Assurez-vous de créer le projet dans un répertoire dont le nom ne comporte aucun espace, sans quoi le serveur WebLogic pourra générer des erreurs.

2 Choisissez Projet|Propriétés du projet et cliquez sur l’onglet Serveur. Choisissez WebLogic comme serveur unique pour le projet.

3 Ajoutez un document WSDL à votre projet à l’aide du bouton Ajouter des fichiers/paquets sur la barre d’outils du volet projet ou utilisez l’explorateur des services Web pour importer le WSDL. Pour plus d’informations, voir “Génération de classes Java à partir de documents WSDL”, page 11-29.

4 Cliquez avec le bouton droit sur le WSDL dans le volet projet et sélectionnez Importer un service Web pour ouvrir l’expert Importation d’un service Web.

5 Choisissez WebLogic comme boîte à outils et cliquez sur OK.

6 Acceptez l’URL WSDL et choisissez le service à importer si le WSDL possède plusieurs services.

7 Cliquez sur Suivant et choisissez les options de code côté client souhaitées.

8 Cliquez sur Suivant et acceptez le nom du paquet ou saisissez-en un nouveau.

9 Cliquez sur Terminer pour fermer l’expert et générer le fichier JAR. L’expert crée le fichier JAR des classes Java à partir du WSDL et l’affiche dans le volet projet, dans un nœud GeneratedWebServiceClients.

Page 69: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

U t i l i s a t i o n d e l a b o î t e à o u t i l s W e b L o g i c 8-9

T e s t d e s s e r v i c e s d é p l o y é s

10 Ecrivez un client pour tester le service et exécutez le test. Voir “Ecriture d’un client de test”, page 8-11.

Pour plus d’informations sur l’écriture des clients pour appeler un service Web, voir “Writing the Java Client Application Code” dans la documentation WebLogic à l’adresse http://edocs.bea.com/wls/docs70/webserv/client.html#1024463 et “Ecriture d’un client pour tester le service” dans le Chapitre 17, “Tutoriel : Création d’un service Web simple avec WebLogic”.

Test des services déployésAprès avoir déployé un service Web, utilisez la page d’accueil des services Web WebLogic pour visualiser le WSDL, tester le service et visualiser les messages SOAP entre le client et le serveur.

1 Entrez l’adresse pour le service déployé dans un navigateur.

L’adresse pour appeler le service Web est de la forme :

<protocole>://<hôte:port>/<contextURI>/<serviceURI>

où : <protocole> est le protocole du service, <hôte> est l’ordinateur exécutant le serveur WebLogic, <port> est le numéro du port écouté par le serveur WebLogic, <contextURI> est la racine du contexte de la WebApp ou le nom du fichier d’archive de la WebApp et <serviceURI> est l’URI (Uniform Resource Identifier) du service.

Par exemple, si vous exécutez WebLogic sur le port par défaut 7001 localement, que la WebApp est web-services et que ServiceUri vaut Bean1, l’adresse du service Web sera : http://localhost:7001/web-services/Bean1

Page 70: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

8-10 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

T e s t d e s s e r v i c e s d é p l o y é s

Si vous ne connaissez pas le ServiceURI, vous pouvez le trouver dans le fichier servicegen.wldu.

La page d’accueil affiche le nom du service, un lien vers sa description (WSDL), les méthodes exposées dans le service et du code exemple pour appeler le service.

2 Cliquez sur le lien setSample et choisissez le bouton d’appel pour voir la requête SOAP et la réponse du serveur. Notez que la valeur setSample est initialisée à “Sample”.

Page 71: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

U t i l i s a t i o n d e l a b o î t e à o u t i l s W e b L o g i c 8-11

T e s t d e s s e r v i c e s d é p l o y é s

3 Revenez à la première page, cliquez sur le lien getSample puis sur le bouton d’appel pour obtenir la valeur de l’exemple. La réponse du serveur renvoie la valeur “Sample”.

4 Cliquez sur le lien de description des services pour voir le WSDL généré pour le service.

La page d’accueil dispose également d’un exemple de code pour l’appel du service, que vous pouvez copier, modifier et utiliser pour tester le service que vous avez déployé.

Ecriture d’un client de test

Après avoir déployé un service Web, vous pouvez utiliser le code exemple sur la page d’accueil des services Web WebLogic pour appeler le service Web.

Ecrivez un client de test comme suit :

1 Copiez le code exemple sur la page d’accueil.

Page 72: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

8-12 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E x p o r t a t i o n d ’ E J B e n t a n t q u e s e r v i c e s W e b

2 Choisissez Fichier|Nouvelle classe dans JBuilder pour créer un nouveau fichier de classe et cliquez sur OK.

3 Collez le code exemple dans la nouvelle classe.

4 Modifiez le code pour appeler et tester le service.

Par exemple,

package untitled1;

import untitled1.generated.*; //<client>.jarimport java.io.*;

public class Untitled1 { public static void main(String[] args){ try { String wsdlUrl = "http://localhost:7001/web-services/untitled1?WSDL"; Bean1 service = new Bean1_Impl(wsdlUrl); Bean1Port port = service.getBean1Port(); System.out.println(port.getSample()); } catch (IOException ex) { ex.printStackTrace(); } }}

5 Cliquez avec le bouton droit sur la nouvelle classe de test et choisissez Exécuter pour exécuter le test et appeler le service Web.

Voir aussi

• “Utilisation de la page d’accueil des services Web WebLogic”, page 4-6

• “Utilisation de la page d’accueil des services Web WebLogic et des URL WSDL” dans la documentation WebLogic à l’adresse http://edocs.bea.com/wls/docs70/webserv/client.html#1051033

Exportation d’EJB en tant que services WebL’exportation d’EJB (Enterprise JavaBeans) en tant que services Web dans JBuilder requiert uniquement la configuration du projet pour les services Web. Vous devez simplement développer votre application EJB comme d’habitude, configurer le projet pour les services Web avec l’expert Configuration des services Web et exécuter le projet avec la configuration d’exécution Serveur services Web créée par l’expert. Tous les EJB du projet sont automatiquement déployés sur le serveur WebLogic en tant que services Web sans aucune étape supplémentaire. Par défaut, JBuilder expose automatiquement tous les beans session stateless auxquels sont associées des méthodes métier dans l’interface remote. Vous pouvez

Page 73: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

U t i l i s a t i o n d e l a b o î t e à o u t i l s W e b L o g i c 8-13

E x p o r t a t i o n d ’ E J B e n t a n t q u e s e r v i c e s W e b

également passer outre ce comportement par défaut et ne sélectionner que les modules EJB (Enterprise JavaBean), les beans et les méthodes que vous souhaitez exposer en tant que services Web.

Remarque L’exportation d’un EJB diffère de l’exportation d’une classe Java. Vous devez explicitement exporter une classe Java avec l’expert Exportation en tant que service Web. Les EJB, par contre, sont automatiquement exportés si le projet est configuré pour les services Web à l’aide de l’expert Configuration des services Web.

Important Pour les problèmes de configuration avec les serveurs d’applications, voir Chapitre 10, “Modification des paramètres des serveurs d’applications d’entreprise pour les services Web”, et “Remarques version” (Aide|Remarques version).

Pour créer un service Web basé sur EJB, effectuez les étapes suivantes :

1 Choisissez Fichier|Nouveau projet pour créer un nouveau projet.

2 Définissez WebLogic Application Server 7.x comme serveur pour le projet sur l’onglet Serveur de Propriétés du projet (Projet|Propriétés du projet).

3 Utilisez l’expert Configuration des services Web pour configurer le projet pour les services Web. Vous allez créer une WebApp de services Web et un EAR. Cet expert crée une configuration d’exécution basée sur le serveur d’applications du projet. Pour plus d’informations sur l’expert de configuration des services Web, voir “Utilisation de l’expert Configuration des services Web”, page 3-1.

4 Créez un ou plusieurs modules EJB 2.0 et remplissez-les avec des beans session et entité. Implémentez-les comme n’importe quelle application EJB. Vous disposez peut-être déjà de beans session stateless relativement larges. Si vous n’en disposez pas, vous devrez en créer un, car seuls les beans session stateless sont exposés en tant que services Web. Les beans session stateless doivent avoir au moins une méthode valide dans l’interface distante. Ce modèle parallélise l’accès des beans à partir d’un conteneur Web, comme les Servlet/JSP. Pour plus d’informations sur les EJB, voir le Guide du développeur Enterprise JavaBeans.

5 Choisissez Projet|Construire le projet pour construire le projet.

Remarque L’expert crée un fichier de déploiement servicegen.wldu. Toutes les modifications manuelles apportées aux fichiers de déploiement sont remplacées par le toolkit. Si vous modifiez servicegen.wldu, désactivez l’option Régénérer le déploiement sur l’onglet Services Web de la page Construction de Propriétés du projet, sans quoi servicegen.wldu sera écrasé par la boîte à outils lorsque vous construirez le projet. Pour plus d’informations, voir “Définition des options de construction”, page 3-6.

Page 74: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

8-14 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

D é p l o i e m e n t d e s e r v i c e s W e b

6 Choisissez Exécuter|Exécuter le projet pour exécuter le projet avec la configuration d’exécution du serveur de services Web. Cette configuration d’exécution construit le projet, déploie les EJB et exécute le serveur. JBuilder déploie automatiquement tous les modules EJB et les beans session compatibles 2.0 du projet. Si vous souhaitez modifier ce comportement de déploiement, cliquez avec le bouton droit de la souris sur le nœud Services basés EJB dans la WebApp des services Web et choisissez Propriétés. Désactivez tous les modules ou les beans que vous ne voulez pas exposer.

7 Cliquez avec le bouton droit de la souris sur le nœud eargrp qui contient l’EAR, et choisissez Options de déploiement|Déployer pour déployer l’EAR sur le serveur WebLogic.

8 Testez le déploiement EJB sur la page d’accueil des services Web WebLogic comme décrit dans “Test des services déployés”, page 8-9.

9 Copiez cet exemple de code à partir de la page d’accueil et modifiez-le pour créer un client afin d’appeler et de tester le service Web exporté. Pour un exemple, consultez “Ecriture du client et utilisation du service en local” dans le Chapitre 18, “Tutoriel : Création d’un service Web à partir d’une application EJB avec le serveur WebLogic”.

Notez que si vous modifiez l’application EJB après l’avoir exportée en tant que service, vous devrez à nouveau construire et déployer l’application pour que les modifications prennent effet.

Pour un tutoriel expliquant le cycle complet des services Web utilisant des EJB, voir Chapitre 18, “Tutoriel : Création d’un service Web à partir d’une application EJB avec le serveur WebLogic”.

Déploiement de services WebL’expert Exportation en tant que service Web crée un fichier XML descripteur de déploiement de services Web servicegen.wldu qui fournit des informations de déploiement au serveur WebLogic. Lorsque des EJB sont exportés en tant que services Web, opération que JBuilder effectue automatiquement sans utiliser d’expert, un fichier .wldu est généré pour chaque module EJB du projet.

Compréhension des fichiers WLDU

Le fichier servicegen.wldu s’affiche dans le volet projet en tant que nœud enfant du nœud WebApp hébergeant le service Web. Si une classe Java est exportée, elle apparaît dans le nœud Services basés sur Java de la WebApp (WebApp|Composants service Web|Services basés sur Java). Les fichiers WLDU de l’EJB sont affichés dans le nœud Services basés EJB de la WebApp. Si vous disposez de plusieurs modules EJB dans votre

Page 75: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

U t i l i s a t i o n d e l a b o î t e à o u t i l s W e b L o g i c 8-15

D é p l o i e m e n t d e s e r v i c e s W e b

projet, un fichier servicegen.wldu est généré pour chacun d’eux, par exemple [ejbmodule1]servicegen.wldu, [ejbmodule2]servicegen.wldu, etc.

Le fichier WLDU, qui contient la totalité de l’élément <servicegen> dans servicegen.xml, fournit les informations sur le service nécessaires au serveur pour créer les classes, comme le nom EAR, le nom WAR, le nom de la classe, le nom du service, l’URI, etc. Vous pouvez modifier ce fichier à tout moment et changer l’une quelconque de ces valeurs. Pour plus d’informations sur servicegen.xml, consultez la documentation WebLogic à l’adresse http://edocs.bea.com/wls/docs70/webserv/anttasks.html#1063540.

<?xml version="1.0"?><servicegen destEar="bean.ear" overwrite="true" warName="weblogic.war"> <service javaClassComponents="bean.Bean1" serviceName="Bean1" serviceURI="bean" targetNamespace="bean" protocol="http" style="rpc" expandMethods="true" generateTypes="true"/></servicegen>

Modifications des fichiers WLDU pour les EJB

Vous pouvez personnaliser le déploiement EJB de vos services Web des deux manières suivantes :

• Modification des propriétés du nœud de déploiement

• Edition du fichier WLDU et modification de l’élément <documentation>

Modification des propriétés du nœud de déploiement EJBPar défaut, JBuilder expose automatiquement tous les beans session stateless auxquels sont associées des méthodes métier dans l’interface remote. Vous pouvez passer outre ce comportement par défaut et ne sélectionner que les modules EJB (Enterprise JavaBean), beans et méthodes que vous souhaitez exposer en tant que services Web.

Page 76: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

8-16 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

D é p l o i e m e n t d e s e r v i c e s W e b

Vous pouvez modifier le comportement automatique de déploiement de la page Modules de la boîte de dialogue Propriétés pour Services basés EJB :

1 Développez le nœud WebApp WebLogic dans le volet projet, développez le nœud Composants service Web, cliquez avec le bouton droit de la souris sur le nœud Services basés EJB, et choisissez Propriétés. Sur la page Modules, choisissez les modules EJB et beans session stateless à exposer en tant que services Web. Les beans session stateless doivent avoir au moins une méthode valide dans l’interface distante. Le comportement par défaut consiste à exposer tous ces beans, qui sont sélectionnés sur la page Propriétés.

2 Désactivez les éventuels modules EJB et/ou beans que vous ne souhaitez pas exposer en tant que services Web.

3 Cliquez sur OK pour fermer la page Propriétés pour Services basés EJB.

4 Reconstruisez votre projet et redéployez.

Edition du fichier WLDU et modification de l’élément <documentation>Dans le cas des EJB, après avoir modifié le fichier WLDU, vous devez informer la boîte à outils WebLogic que vous ne souhaitez ni la génération automatique du fichier WLDU ni son écrasement par JBuilder à la construction du projet. Le fichier servicegen.wldu d’un EJB exporté possède un élément <documentation> pour chaque élément <service> que vous pouvez modifier pour empêcher la boîte à outils d’écraser vos changements. Changez l’entrée de YES en NO dans l’élément <documentation> pour chaque élément <service> que vous avez modifié :

<documentation>JBUILDER devrait générer automatiquement l’entrée suivante : NO(YES/NO)</documentation>

Si vous avez modifié cette entrée, la boîte à outils n’écrasera pas vos changements dans servicegen.wldu. Reconstruisez le projet afin que les modifications prennent effet.

Page 77: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

U t i l i s a t i o n d e l a b o î t e à o u t i l s W e b L o g i c 8-17

D é p l o i e m e n t d e s e r v i c e s W e b

web-services.xml

Lorsque vous construisez votre projet puis le déployez sur le serveur WebLogic, les fichiers de déploiement WLDU sont transférés vers le fichier servicegen.xml propre à la boîte à outils WebLogic, qui est utilisé pour exécuter la tâche Ant de servicegen. Celle-ci prend le JAR EJB ou une liste de classes Java et génère les composants pour le service Web et un fichier de déploiement de services Web, web-services.xml. Le fichier descripteur de déploiement web-services.xml, localisé dans le WAR du EAR, contient des informations qui décrivent un service Web WebLogic, comme les composants dorsaux qui implémentent le service Web, les types de données non intégrés utilisés comme paramètres et valeurs de retour, les gestionnaires de messages SOAP qui interceptent les messages SOAP, etc. Pour plus d’informations sur la tâche Ant de servicegen et web-services.xml, consultez la documentation de programmation des services Web WebLogic à l’adresse http://edocs.bea.com/wls/docs70/webserv/index.html.

Remarque La boîte à outils WebLogic fonctionne directement avec l’EAR. Par conséquent, web-services.xml et les autres composants de services Web se trouvent uniquement dans l’EAR et non dans la WebApp.

<web-services> <web-service name="stockquotes" targetNamespace="http://example.com" uri="/myStockQuoteService"> <components> <stateless-ejb name="simpleStockQuoteBean"> <ejb-link path="stockquoteapp.jar#StockQuoteBean" /> </stateless-ejb> </components> <operations> <operation method="getLastTradePrice" component="simpleStockQuoteBean" /> </operations> </web-service> </web-services>

Déploiement manuel de services avec web-services.xmlSi vous choisissez de créer manuellement des composants de services Web et d’ajouter d’autres éléments tels que des chaînes d’affectation de type et de gestionnaire, vous devrez désactiver l’option Régénérer le déploiement sur la page Construction (Projet|Propriétés du projet|Construire|Services Web). Lorsque cette option est désactivée, JBuilder utilise les composants créés manuellement et ne génère pas automatiquement les services Web.

Page 78: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

8-18 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

D é f i n i t i o n d e s v a l e u r s p a r d é f a u t d ’ a p p e l l a t i o n d e s e r v i c e s

Pour créer manuellement les composants et ajouter d’autres éléments, suivez ces étapes élémentaires :

1 Créez web-services.xml et enregistrez-le dans le répertoire <web context>/WEB-INF de votre projet.

2 Créez les classes helper du service Web dans le projet, telles que les sérialiseurs.

3 Désactivez l’option Régénérer le déploiement de l’onglet Services Web sur la page Construction (Projet|Propriétés du projet|Construire|Services Web).

4 Construisez le projet.

Pour plus d’informations sur la création manuelle de web-services.xml, voir la documentation WebLogic à l’adresse http://edocs.bea.com/wls/docs70/webserv/dd.html#1052144.

Définition des valeurs par défaut d’appellation de servicesVous pouvez modifier les valeurs par défaut d’appellation de services dans la boîte de dialogue Propriétés pour Composants service Web [boîte à outils WebLogic]. Cliquez avec le bouton droit sur le nœud Composants service Web dans le volet projet et choisissez Propriétés. Vous pouvez alors choisir la manière de générer le service et les options d’appellation. Pour plus d’informations sur ces options, choisissez le bouton Aide.

Si vous modifiez ces propriétés, elles sont immédiatement répercutées dans les fichiers WLDU pour les EJB. Mais pour les classes Java, étant donné qu’elles sont créées de manière statique par les experts, les modifications ne sont répercutées que si vous les exportez à nouveau en tant que services Web.

Page 79: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

U t i l i s a t i o n d e l a b o î t e à o u t i l s A p a c h e S O A P 2 9-1

C h a p i t r e

9Chapitre9Utilisation de la boîte à outils

Apache SOAP 2C’est une fonctionnalitéde JBuilder Entreprise.L’édition WebLogic de

JBuilder ne prend pas encharge la boîte à outils

Apache SOAP 2.

Si vous utilisez la boîte à outils Apache SOAP 2, vous devrez effectuer quelques modifications lors de l’utilisation des experts JBuilder et ajouter manuellement du code. Etant donné que SOAP 2 est une ancienne version de Apache Axis antérieure à la spécification WSDL, il n’existe pas de prise en charge WSDL intégrée pour SOAP. Toutefois, vous pouvez utiliser les experts Importation d’un service Web et Exportation en tant que service Web ainsi que la boîte à outils Axis, car JBuilder fournit un déployeur croisé Axis vers Apache SOAP qui convertit les informations de déploiement Axis en Apache SOAP.

Attention Apache SOAP 2 est une ancienne version de Axis et ne prend pas en charge JAX-RPC ou WSDL. Il est donc recommandé d’utiliser Axis.

Pour plus d’informations sur la boîte à outils Apache SOAP 2, consultez la documentation dans <jbuilder>/thirdparty/apache-soap/docs ou visitez le site Web Apache à l’adresse http://xml.apache.org/soap/

Créez l’exemple simple suivant, puis apportez les modifications appropriées dans les experts et dans le document WSDL.

1 Créez un nouveau projet nommé Untitled1 (Fichier|Nouveau projet).

2 Créez un JavaBean nommé Bean1 avec l’expert JavaBean, choisissez java.lang.Object comme classe de base et cochez l’option Générer la propriété exemple (Fichier|Nouveau|Général).

3 Cliquez avec le bouton droit sur Bean1.java dans le volet projet et choisissez Exporter en tant que service Web. Etant donné que le projet n’est pas configuré pour les services web, l’expert Configuration des services Web s’ouvre pour que vous puissiez configurer le projet.

Page 80: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

9-2 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E x p o r t a t i o n d ’ u n e c l a s s e e n t a n t q u e s e r v i c e W e b

4 Créez une nouvelle WebApp nommée soapsample pour l’hébergement du service, choisissez Apache SOAP 2 comme boîte à outils dans l’expert Configuration des services Web et cliquez sur Terminer. L’expert Exportation en tant que service Web s’ouvre.

5 Choisissez Axis comme boîte à outils dans l’expert Exportation en tant que service Web et apportez les modifications spécifiées dans “Exportation d’une classe en tant que service Web”, page 9-2. Notez qu’aucune boîte à outils SOAP n’est disponible dans l’expert car SOAP ne prend pas en charge WSDL.

Exportation d’une classe en tant que service WebLors de l’exportation d’une classe en tant que service Web, vous devez apporter les modifications suivantes dans l’expert Exportation en tant que service Web :

1 Désactivez l’option de génération du stub client à l’étape 1.

2 A l’étape 2 de l’expert, remplacez l’URL d’emplacement "http://localhost:8080/axis/services/Bean1" par "http://localhost:8080/<soapsample>/servlet/rpcrouter", où <soapsample> représente le nom de la WebApp.

3 Choisissez les méthodes que vous voulez exposer à l’étape 4.

a Dans la liste déroulante Mode sélection, sélectionnez Autoriser toutes les méthodes.

b Sélectionnez les méthodes que vous voulez exposer dans l’arborescence.

4 Cliquez sur Terminer pour fermer l’expert.

Importation d’un WSDLAvant d’importer un WSDL pour créer un client, vous devez le modifiez. Importez ensuite le WSDL en utilisant l’expert Importation d’un service Web.

1 Modifiez les attributs d’espace de nommage des opérations d’E/S dans la section de liaison du WSDL pour qu’ils correspondent au port du service. Par exemple, attribuez à namespace="http://untitled1" le nom de port "Bean1". Cette modification est requise car le servlet répartiteur de SOAP doit connaître le service à répartir et namespace est le mécanisme qu’il utilise. Notez que dans la génération suivante des boîtes à outils, telles que Axis, cette modification n’est pas nécessaire en raison de l’utilisation du mappage d’URL.

Page 81: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

U t i l i s a t i o n d e l a b o î t e à o u t i l s A p a c h e S O A P 2 9-3

I m p o r t a t i o n d ’ u n W S D L

WSDL avant la modification

<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions targetNamespace="http://untitled1" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://untitled1-impl" xmlns:intf="http://untitled1" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> [... reste de WSDL non reproduite à des fins de gain de place ...] <wsdl:binding name="Bean1SoapBinding" type="intf:Bean1"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="getSample"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="getSampleRequest"> <wsdlsoap:body encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/" namespace="http://untitled1" use="encoded"/> </wsdl:input> <wsdl:output name="getSampleResponse"> <wsdlsoap:body encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/" namespace="http://untitled1" use="encoded"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="setSample"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="setSampleRequest"> <wsdlsoap:body encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/" namespace="http://untitled1" use="encoded"/> </wsdl:input> <wsdl:output name="setSampleResponse"> <wsdlsoap:body encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/" namespace="http://untitled1" use="encoded"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="Bean1Service"> <wsdl:port binding="intf:Bean1SoapBinding" name="Bean1"> <wsdlsoap:address location= "http://localhost:8080/soapsample/servlet/rpcrouter"/> </wsdl:port> </wsdl:service></wsdl:definitions>

Page 82: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

9-4 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

I m p o r t a t i o n d ’ u n W S D L

WSDL modifié

<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions targetNamespace="http://untitled1" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://untitled1-impl" xmlns:intf="http://untitled1" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> [... reste de WSDL non reproduite à des fins de gain de place ...] <wsdl:binding name="Bean1SoapBinding" type="intf:Bean1"> <wsdlsoap:binding style="rpc" transport= "http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="getSample"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="getSampleRequest"> <wsdlsoap:body encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/" namespace="Bean1" use="encoded"/> </wsdl:input> <wsdl:output name="getSampleResponse"> <wsdlsoap:body encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/" namespace="Bean1" use="encoded"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="setSample"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="setSampleRequest"> <wsdlsoap:body encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/" namespace="Bean1" use="encoded"/> </wsdl:input> <wsdl:output name="setSampleResponse"> <wsdlsoap:body encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/" namespace="Bean1" use="encoded"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="Bean1Service"> <wsdl:port binding="intf:Bean1SoapBinding" name="Bean1"> <wsdlsoap:address location= "http://localhost:8080/soapsample/servlet/rpcrouter"/> </wsdl:port> </wsdl:service></wsdl:definitions>

Page 83: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

U t i l i s a t i o n d e l a b o î t e à o u t i l s A p a c h e S O A P 2 9-5

I m p o r t a t i o n d ’ u n W S D L

2 Cliquez avec le bouton droit sur le fichier WSDL modifié et sélectionnez Importer un service Web pour ouvrir l’expert Importation d’un service Web.

3 Choisissez Apache Axis comme boîte à outils.

4 Désactivez l’option Générer les classes côté serveur à l’étape 2 de l’expert Importation d’un service Web.

5 Remplacez le nom de paquet à l’étape 3 de l’expert par untitled1.generated. Si vous ne modifiez pas le nom de paquet, l’expert écrase la classe Bean1 que vous exportez.

6 Cliquez sur Terminer.

7 Construisez et exécutez le projet avec la configuration Serveur services Web.

8 Cliquez avec le bouton droit sur le cas de test et exécutez-le pour tester le service.

Si vous préférez écrire manuellement le code du client, suivez cet exemple.

public class Test{ public static void main(String[] args) throws Exception {

URL url = new URL("http://localhost:8082/soapsample/servlet/rpcrouter");// String nameToLookup = "Bean1";

Call call = new Call();

call.setTargetObjectURI("Bean1"); call.setMethodName("getSample"); call.setEncodingStyleURI(encodingStyleURI);

// Vector params = new Vector();//// params.addElement(new Parameter("sample", String.class, nameToLookup,// null));// call.setParams(params);

// Invoque l’appel. Response resp;

try { resp = call.invoke(url, ""); } catch (SOAPException e) { System.err.println("Caught SOAPException (" + e.getFaultCode() + "): " +

Page 84: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

9-6 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

I m p o r t a t i o n d ’ u n W S D L

e.getMessage()); return; }

// Vérification de la réponse if (!resp.generatedFault()) { Parameter ret = resp.getReturnValue(); Object value = ret.getValue();

System.out.println(value != null ? "\n" + value : "Je ne sais pas."); } else { Fault fault = resp.getFault();

System.err.println("Faute générée: "); System.out.println (" Code de la faute = " + fault.getFaultCode()); System.out.println (" Chaîne de la faute = " + fault.getFaultString());

} }}

Page 85: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

M o d i f i c a t i o n d e s p a r a m è t r e s d e s s e r v e u r s d ’ a p p l i c a t i o n s d ’ e n t r e p r i s e p o u r l e s s e r v i c e s W e b 10-1

C h a p i t r e

10Chapitre10Modification des paramètres

des serveurs d’applicationsd’entreprise pour les services Web

C’est une fonctionnalitéde JBuilder Entreprise.

Les fonctionnalités de services Web sont prises en charge sur les serveurs d’applications d’entreprise suivants :

• Borland Enterprise Server 5.0.2 – 5.1.x

• WebLogic Server 7.0 (avec et sans SP1)

• WebSphere Application Server 4.0 AES/AE

Comme les serveurs d’applications d’entreprise requièrent des paramètres différents pour l’utilisation des fonctionnalités de services Web, il peut être nécessaire d’apporter des modifications lors de l’utilisation des experts de services Web et du déploiement de votre application.

Pour des informations sur la configuration de ces serveurs dans JBuilder, voir “Configuration des paramètres du serveur d’applications cible” dans le Guide du développeur Enterprise JavaBeans et “Remarques version” (Aide|Remarques version).

Page 86: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

10-2 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

B o r l a n d E n t e r p r i s e S e r v e r 5 . 0 . 2 – 5 . 1 . x

Borland Enterprise Server 5.0.2 – 5.1.xC’est une fonctionnalitéde JBuilder Entreprise.

Ce serveur d’applicationsn’est pas pris en chargedans l’édition WebLogic

de JBuilder

Lorsque vous exécutez plusieurs partitions dans JBuilder avec des archives déployées entre ces partitions, vérifiez que le service de nommage d’une seule de ces partitions est activé. Pour ce faire,

1 Cliquez sur Projet|Propriétés du projet.

2 Cliquez sur l’onglet Exécution.

3 Modifiez la configuration d’exécution du serveur. Remarque : si la configuration d’exécution d’un serveur n’existe pas, créez une nouvelle configuration d’exécution et cliquez sur l’onglet Serveur.

4 Désactivez le service Nommage/Répertoire dans la liste Services. Utilisez cette configuration pour démarrer des partitions sans le service de nommage.

5 Créez une nouvelle configuration d’exécution avec le service de nommage activé pour lancer l’une des partitions avec ce service.

6 Vérifiez que les services EJB et Nommage/Répertoire sont activés sur la même partition et que vous démarrez cette partition en premier.

WebLogic Server 7.0 (avec et sans SP1)L’édition WebLogic de

JBuilder ne prend pas encharge les boîtes à outils

Apache Axis et ApacheSOAP 2

Si vous utilisez Axis avec WebLogic Server 7.0, vous devrez modifier la configuration d’exécution pour inclure les bibliothèques de projet afin qu’Axis puisse être localisée lors de l’exécution du serveur. Le choix de l’option Rendre les bibliothèques de projet disponibles à l’exécution ajoute Axis au chemin des classes. Si vous ne choisissez pas cette option, vous ne pourrez pas accéder aux services Web des Enterprise JavaBeans (EJB). Modifiez la configuration d’exécution comme suit :

1 Choisissez Outils|Configurer les serveurs puis WebLogic Application Server 7.x.

2 Cliquez sur l’onglet Général.

3 Cliquez sur l’onglet Bibliothèques nécessaires et ajoutez les éventuelles bibliothèques nécessaires lors du démarrage du serveur.

Page 87: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

M o d i f i c a t i o n d e s p a r a m è t r e s d e s s e r v e u r s d ’ a p p l i c a t i o n s d ’ e n t r e p r i s e p o u r l e s s e r v i c e s W e b 10-3

W e b S p h e r e A p p l i c a t i o n S e r v e r 4 . 0 A E S / A E

WebSphere Application Server 4.0 AES/AEC’est une fonctionnalitéde JBuilder Entreprise.

Ce serveur d’applicationsn’est pas pris en chargedans l’édition WebLogic

de JBuilder

Après avoir créé le nœud du serveur de services Web avec l’expert Configuration des services Web, déplacez Axis au sommet de la liste des bibliothèques nécessaires dans la boîte de dialogue Propriétés du projet :

1 Choisissez Projet|Propriétés du projet.

2 Choisissez l’onglet Bibliothèques nécessaires sur la page Chemins.

3 Sélectionnez Axis et choisissez le bouton Déplacer vers le haut pour la placer au sommet de la liste.

Vérifiez que l’option Rendre les bibliothèques de projet disponibles à l’exécution n’est pas activée lorsque vous démarrez le serveur, sans quoi celui-ci ne démarrera pas à cause de conflits de versions d’analyseur XML.

Pour ajouter des bibliothèques au chemin des classes du serveur lors du démarrage, ajoutez-les à l’onglet Bibliothèques nécessaires dans la configuration serveur pour WebSphere 4.0 AE/AES (Outils|Configurer les serveurs).

Page 88: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

10-4 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

Page 89: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

P a r c o u r s e t p u b l i c a t i o n d e s e r v i c e s W e b 11-1

C h a p i t r e

11Chapitre11Parcours et publication

de services WebC’est une fonctionnalitéde JBuilder Entreprise.

La boîte à outils ApacheAxis n’est pas prise en

charge dans l’éditionWebLogic de JBuilder.

Comme les services Web peuvent être créés et consommés par n’importe qui, il est important de disposer d’un mécanisme pour recenser, faire connaître et localiser un service. Actuellement, il est possible d’utiliser l’infrastructure UDDI (Universal Description, Discovery and Integration) pour recenser et découvrir un service. Vous pouvez rechercher des services Web dans les registres UDDI, mais vous pouvez également rechercher des services Web en utilisant des documents WSIL, et rechercher des services installés sur des serveurs Axis. JBuilder met à votre disposition l’explorateur des services Web pour faciliter la recherche et la publication de services Web.

Présentation de l’explorateur des services WebPour vous permettre de rechercher des services disponibles sur les sites et publier des services Web dans les registres UDDI, JBuilder met à votre disposition l’explorateur des services Web dans le menu Outils. L’explorateur des services Web vous permet de rechercher des business, des services Web ou des tModel, ainsi que d’ajouter des entrées business et tModel. Vous pouvez également surveiller les échanges de messages avec les sites UDDI dans le Moniteur de message UDDI. Pour plus d’informations sur UDDI, voir “Présentation d’UDDI”, page 11-3.

Important La fonctionnalité UDDI de l’explorateur des services Web nécessite l’extension Extension Java Secure Socket (JSSE) de Sun. Si vous utilisez le JDK 1.3 ou une version antérieure, vous devez télécharger et installer l’extension JSSE à partir de l’adresse Sun http://java.sun.com/products/jsse/index-103.html.

Page 90: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

11-2 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

P r é s e n t a t i o n d e l ’ e x p l o r a t e u r d e s s e r v i c e s W e b

L’explorateur des services Web prend également en charge le parcours des sites réseau exécutant des services Web hébergés par Apache Axis. Ces sites fournissent des informations de présentation décrivant les services Web disponibles sur le site. Chaque service Web est décrit par un document WSDL. Pour plus d’informations sur les fonctionnalités Axis dans l’explorateur des services Web, voir “Présentation d’Axis”, page 11-5.

L’explorateur des services Web prend également en charge le parcours de documents WSIL (Web Services Inspection Language). Les documents WSIL sont essentiellement une liste de références de services Web disponibles sur un site Web, qui sont hébergés par le fournisseur de services Web. Ces références peuvent pointer sur d’autres documents WSIL, des entrées UDDI ou des documents WSDL.

L’explorateur des services Web offre aussi un lien sur l’expert Importation d’un service Web, qui génère des classes Java à partir d’un document Web Services Description Language (WSDL) sélectionné. Parcourez les éventuels services Web disponibles sur un site UDDI, un site Axis ou tout autre site Web listant des services, et sélectionnez le nœud spécifiant le document WSDL. Choisissez ensuite le bouton Importer un service Web dans l’explorateur pour générer rapidement les classes Java. Si aucun projet n’est ouvert, l’expert Projet s’ouvre d’abord, suivi de l’expert Importation d’un service Web. Après avoir créé un service Web, vous pouvez utiliser les fonctions de publication de l’explorateur des services Web pour publier votre service Web dans les registres UDDI.

Voir aussi

• “Ajout et suppression de nœuds dans l’arborescence de l’explorateur”, page 11-6

• “Menus de l’explorateur des services Web” dans l’aide en ligne

• Chapitre 5, “Utilisation de WSDL”

• “Publication de business et de services”, page 11-24

• Chapitre 19, “Tutoriel : Parcours des services Web UDDI”

Page 91: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

P a r c o u r s e t p u b l i c a t i o n d e s e r v i c e s W e b 11-3

P r é s e n t a t i o n d ’ U D D I

Présentation d’UDDIL’infrastructure Universal Description, Discovery and Integration (UDDI) offre un mécanisme pour localiser, décrire et recenser les services basés sur le Web dans un registre de business central au travers d’Internet. Grâce à ce registre, les industries peuvent trouver des partenaires professionnels et se connecter dynamiquement à leurs services Web ainsi que publier des services.

Cette infrastructure basée sur XML utilise SOAP (Simple Object Access Protocol) et HTTP pour découvrir un service particulier dans le registre en utilisant des messages XML pour effectuer des appels de procédures distantes et échanger des informations avec le registre. XML, HTTP et SOAP offrent l’avantage supplémentaire d’une programmation multiplate-forme et indépendante du langage.

Un registre UDDI ne contient pas les spécifications réelles de la manière dont les entreprises réalisent électroniquement leurs opérations pour partager leurs produits et leurs services. Il contient plutôt des pointeurs ou des références menant à ces informations. Certains de ces pointeurs peuvent être des fichiers WSDL (Web Services Description Language) décrivant un service Web.

Les registres peuvent être privés, publics ou même locaux à votre ordinateur. Certains registres tels que l’UDDI Business Registry sont mis à jour et répliqués avec les mêmes informations par plusieurs sites opérateurs UDDI. D’autres registres sont publics mais ne répliquent pas leurs données avec les autres sites.

L’UDDI Business Registry est un registre UDDI universel qui est maintenu et exploité en tant que service distribué par plusieurs sites opérateurs. Ces sites, tels que Microsoft et IBM, répliquent mutuellement leurs données de manière à synchroniser les instances du registre. Ils disposent aussi de sites de test UDDI vous permettant de tester soigneusement vos services Web avant de les publier.

UDDI accepte et organise les trois types d’informations professionnelles suivants :

• Publication —“pages blanches” contenant des informations professionnelles telles que contacts et adresses.

• Localisation — “pages jaunes” contenant des informations de services professionnels, classées par catégories industrielles et localisations géographiques.

• Liaison — “pages vertes” contenant des informations techniques et des spécifications des services, nécessaires pour l’interfaçage par programme.

Page 92: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

11-4 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

P r é s e n t a t i o n d ’ U D D I

Voir aussi

• “Recherche dans un registre UDDI”, page 11-8

• “Publication de services Web dans un registre UDDI”, page 11-23

• Projet UDDI à l’adresse http://www.uddi.org

• Site UDDI de Microsoft à l’adresse http://uddi.microsoft.com

• Site UDDI d’IBM à l’adresse https://www-3.ibm.com/services/uddi/protect/registry.html

Termes et définitions UDDI

L’explorateur des services Web utilise un grand nombre de types de données et de termes de la spécification UDDI. Bien que cette documentation suppose une connaissance préalable de la spécification UDDI, nous allons définir certains termes UDDI clés. Pour des informations complètes, consultez la spécification UDDI à l’adresse http://uddi.org/specification.html.

Tableau 11.1 Termes UDDI

Terme UDDI Définition

point d’accès (accessPoint)

Une adresse de point d’entrée pour l’accès à un service Web. Il peut s’agir d’une URL, d’une adresse e-mail ou d’un numéro de téléphone.

clé business (businessKey)

Un identificateur unique pour une entité métier particulière.

catégorie (category) Information de catégorie similaire à un identificateur mais qui utilise une taxonomie prédéfinie, comme des codes industriels, des codes de produits ou des codes géographiques. Elle utilise également des paires nom/valeur. Ces codes incluent, par exemple : les codes NAICS (North American Industry Classification System), UNSPSC 3.1 (United Nations Standard Products and Services Code System) et SIC (Standard Industrial Classification).

identificateur (identifier)

Une paire nom/valeur agissant comme identificateur pour un business. Ces codes incluent, par exemple, les identificateurs D-U-N-S (Dun Bradstreet’s Data Universal Numbering System) ID et Thomas Register ID.

nom de clé (keyName) Commentaire qui aide à la lisibilité mais n’est généralement pas obligatoire. Par exemple, l’identificateur D-U-N-S pour IBM possède le keyName D-U-N-S et sa keyValue est le numéro D-U-N-S réel à neuf chiffres, 00-136-8083. Toutefois, le keyName a une signification importante dans la catégorie uddi-org:misc-taxonomy.

valeur de clé (keyValue)

Spécifie une classification professionnelle, telle que le numéro D-U-N-S à neuf chiffres utilisé pour les entreprises dans le monde entier.

Page 93: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

P a r c o u r s e t p u b l i c a t i o n d e s e r v i c e s W e b 11-5

P r é s e n t a t i o n d ’ A x i s

Présentation d’AxisC’est une fonctionnalitéde la boîte à outils Axis.La boîte à outils Apache

Axis n’est pas prise encharge dans l’édition

WebLogic de JBuilder.

L’explorateur des services Web vous permet de parcourir les sites réseau exécutant des sites Web hébergés par Apache Axis. La recherche dans ces sites renvoie des informations décrivant les services Web disponibles sous la forme d’un document WSDL. JBuilder construit les serveurs Axis avec l’accès distant désactivé. Pour parcourir les services présents sur les serveurs Axis, il faut d’abord activer l’accès distant. Voir “Accès aux serveurs Axis distants”, page 11-19.

Voir aussi

• “Recherche de services Web sur un serveur Axis”, page 11-17

• “Publication de services Web à partir d’un serveur Axis”, page 11-26

• Chapitre 7, “Utilisation de la boîte à outils Apache Axis”

Présentation de WSILComme UDDI, le langage WSIL (Web Services Inspection Language) offre une méthode de découverte de services Web. Mais à la différence d’UDDI, WSIL utilise un modèle distribué décentralisé à la place d’un modèle centralisé. Les documents WSIL, qui sont essentiellement des pointeurs

site opérateur (operator site)

Chaque instance d’un registre UDDI professionnel. Par exemple, Microsoft et IBM conservent des instances du registre UDDI Business Registry.

URL du document de vue d’ensemble

Un pointeur sur l’emplacement de la description du document de vue d’ensemble.

clé de service (serviceKey)

Une clé unique pour un service métier qui est générée lors du recensement du service.

tModel Une référence à une spécification technique d’un service. Les tModel sont des descriptions des services Web qui définissent les types de services. Chaque tModel dispose d’un identificateur unique et pointe sur une spécification décrivant le service Web. Les tModel offrent un point commun de référence permettant d’identifier aisément les services compatibles.

détails tModelInstance Une liste de structures d’informations tModel agissant comme une empreinte digitale pour le service. Inclut des informations telles que la description, le nom de tModel, la clé de tModel et la documentation.

tModelKey Identificateur unique de tModel affecté par UDDI lors du recensement d’un service.

Tableau 11.1 Termes UDDI (suite)

Terme UDDI Définition

Page 94: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

11-6 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

A j o u t e t s u p p r e s s i o n d e n œ u d s d a n s l ’ a r b o r e s c e n c e d e l ’ e x p l o r a t e u r

sur des listes de services, permettent aux consommateurs de services Web de parcourir les services disponibles sur les sites Web non listés dans les registres UDDI. La spécification WSIL fournit des normes pour l’utilisation de documents au format XML afin d’inspecter un site et de connaître ses services, ainsi qu’un ensemble de règles sur la manière dont les informations sont mises à disposition. Un document WSIL regroupe dans un même document plusieurs références à des documents de description de services pré-existants. Le document WSIL est ensuite hébergé par le fournisseur du service, de manière à ce que les consommateurs puissent connaître les services disponibles.

Voir aussi

• “Recherche de services Web avec des documents WSIL”, page 11-20

Ajout et suppression de nœuds dans l’arborescence de l’explorateur

L’explorateur des services Web dispose de plusieurs nœuds dans la vue arborescente pour vous aider à rechercher les services Web disponibles à différents emplacements :

• Serveurs WSDL, une fonctionnalité de la boîte à outils Axis

• Sites UDDI

• Documents WSIL

Développez le nœud Serveurs WSDL, une fonctionnalité de la boîte à outils Axis, et vérifiez qu’il possède un nœud Défaut pointant sur un emplacement commun pour un environnement de test. Le nœud Sites UDDI dispose déjà de plusieurs nœuds UDDI tels que les sites de test Local, XMethods, Microsoft, IBM et UDDI. Le nœud Documents WSIL contient également un nœud Défaut. Vous pouvez ajouter des nœuds aux nœuds existants et supprimer des nœuds de l’arborescence de l’explorateur.

Page 95: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

P a r c o u r s e t p u b l i c a t i o n d e s e r v i c e s W e b 11-7

A j o u t e t s u p p r e s s i o n d e n œ u d s d a n s l ’ a r b o r e s c e n c e d e l ’ e x p l o r a t e u r

Le contenu des nœuds Serveurs WSDL et Sites UDDI dans l’explorateur est lu à partir des fichiers XML fournis dans le répertoire JBuilder defaults. Lorsque vous apportez une modification à l’un de ces nœuds, cette modification est enregistrée dans votre répertoire <home>/<.jbuilder>. Le fichier Documents WSIL est généré après l’ajout d’un nœud, et il est également enregistré dans le répertoire <home>/<.jbuilder>. Les noms de fichiers sont les suivants :

• nœud Serveurs WSDL (serveurs Axis) : AxisServers.xml

• nœud Sites UDDI : UDDIOps.xml

• nœud Documents WSIL : WSILDocs.xml

Pour ajouter un nouveau nœud aux nœuds Serveurs WSDL, Sites UDDI et Documents WSIL,

1 Choisissez le nœud dans la vue arborescente. Une page s’affiche à droite : la page Serveurs WSDL, la page Sites opérateur ou la page Documents WSIL.

2 Créez un nouveau nœud en utilisant l’une des méthodes suivantes :

• Cliquez sur le bouton Nouveau à droite sur la page.

• Choisissez Fichier|Nouveau.

• Cliquez avec le bouton droit sur le nœud et choisissez Nouveau.

3 Indiquez dans la boîte de dialogue Entrée le nom que vous souhaitez attribuer au nouveau nœud et cliquez sur OK.

4 Sélectionnez le nouveau nœud dans l’arborescence pour afficher les informations détaillées à droite.

5 Entrez les informations appropriées, comme l’URL de publication et d’information pour les sites UDDI ou l’URL de localisation pour un serveur Axis ou un document WSIL.

6 Choisissez le bouton Enregistrer.

Pour supprimer un nœud de l’arborescence de l’explorateur,

1 Choisissez le nœud que vous voulez supprimer pour afficher la page Détails à droite.

2 Cliquez sur le bouton Supprimer de la page Détails, choisissez Fichier|Supprimer ou cliquez avec le bouton droit de la souris sur le nœud dans l’arborescence et choisissez Supprimer.

Remarque Les nœuds de niveau le plus haut ne peuvent pas être supprimés.

Page 96: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

11-8 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

R e c h e r c h e d a n s u n r e g i s t r e U D D I

Recherche dans un registre UDDIIl existe plusieurs méthodes pour rechercher des services Web dans un registre UDDI avec l’explorateur des services Web :

• Recherche de business

• Recherche de services

• Recherche de tModel

Important Vous pouvez augmenter le délai imparti pour l’explorateur des services Web. Choisissez UDDI|Paramètres de connexion et entrez le nouveau délai imparti dans le champ Délai. Fermez l’explorateur et rouvrez-le pour appliquer la valeur de délai imparti à toutes les connexions. Le serveur peut également tronquer les résultats de votre requête s’il détermine que ces résultats sont trop volumineux.

Recherche de business

Vous souhaitez peut-être trouver un business particulier avec lequel vous désirez travailler, et voir quels types de services il a à offrir. Ou vous souhaitez peut-être trouver des business dans une industrie particulière, comme l’édition de logiciels. Plusieurs méthodes sont à votre disposition pour rechercher un business au moyen de l’explorateur des services Web :

• Recherche par nom de business

• Recherche par catégorie de business

• Recherche par identificateur de business

• Recherche par tModel

Recherche par nomPour rechercher un business particulier par nom dans l’explorateur des services Web, effectuez les étapes suivantes :

1 Choisissez Outils|Explorateur des services Web pour ouvrir l’explorateur de services Web.

2 Développez le nœud Sites UDDI dans l’arborescence de gauche et double-cliquez sur un nœud de site opérateur UDDI pour le développer.

Page 97: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

P a r c o u r s e t p u b l i c a t i o n d e s e r v i c e s W e b 11-9

R e c h e r c h e d a n s u n r e g i s t r e U D D I

3 Sélectionnez le nœud Liste Business pour afficher à droite la page Requête pour Business.

4 Entrez le nom ou les premières lettres du nom de business dans le champ Chercher par Nom de l’onglet Nom. Si vous laissez ce champ vide, tous les business du site seront trouvés.

Remarque L’explorateur des services Web reconnaît le caractère générique %.

5 Exécutez la requête en utilisant l’une des méthodes suivantes :

• Choisissez Requête|Exécuter.

• Cliquez sur le bouton Exécuter la requête dans la barre d’outils.

• Cliquez sur le bouton Exécuter de la page Requête pour Business à droite de l’arborescence.

• Appuyez sur Entrée dans le champ Chercher par Nom après avoir entré le nom de recherche.

Page 98: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

11-10 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

R e c h e r c h e d a n s u n r e g i s t r e U D D I

6 Développez le nœud Liste Business pour voir les résultats de la requête et examinez en détail pour en savoir plus sur un business et ses services.

Recherche par catégorieUne autre méthode de recherche d’un business consiste à rechercher par catégorie d’activité. Il existe plusieurs classifications de business selon lesquelles vous pouvez effectuer des recherches :

• ntis-gov:naics:1997 (North American Industry Classification System)

• unspsc-org:unspsc:3-1 (United Nations Standard Products and Services Code System)

• unspsc-org:unspsc (Universal Standard Products and Services Classification)

• uddi-org:iso-ch:3166-1999 (codes pour les zones géographiques)

• ntis-gov:sic:1987 (Standard Industrial Classification)

• uddi-org:types

• uddi-org:misc-taxonomy

Remarque Il est également possible d’utiliser d’autres systèmes de classification. Si un système n’est pas disponible dans la liste déroulante, vous pouvez coller sa clé dans le champ tModelKey. Vous pouvez également ajouter et retirer des critères de recherche à l’aide des boutons Ajouter et Supprimer.

Chacun de ces systèmes de classification de business possède ses propres codes pour les différentes catégories. Les grandes entreprises ayant un large éventail d’activités peuvent être recensés dans plusieurs systèmes et sous plusieurs classifications dans chaque système. Par exemple, une société peut vendre du matériel et du logiciel informatique. Dans NAICS, ce business pourra être listé avec plusieurs classifications, comme la

Page 99: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

P a r c o u r s e t p u b l i c a t i o n d e s e r v i c e s W e b 11-11

R e c h e r c h e d a n s u n r e g i s t r e U D D I

formation informatique, les services de traitement de données et l’édition de logiciels. Ce même business pourra aussi être classé dans UNSPSC dans les instructions programmées d’ordinateur, les logiciels de bases de données et les grands systèmes.

Ces classifications de business sont présentées dans la liste déroulante KeyName de la page Catégorie de l’explorateur des services Web. Pour une classification plus approfondie, une KeyValue est utilisée pour fournir une description plus spécifique du business. Chaque classification de business possède aussi une tModelKey correspondante.

Pour rechercher par catégorie de business,

1 Choisissez Outils|Explorateur des services Web pour ouvrir l’explorateur de services Web.

2 Développez le nœud Sites UDDI dans l’arborescence de gauche et double-cliquez sur un nœud de site opérateur UDDI pour le développer.

3 Sélectionnez le nœud Liste Business pour afficher la page Requête pour Business à droite.

4 Choisissez l’onglet Catégorie dans la page Requête pour Business.

5 Cliquez sur le champ KeyName pour activer la liste déroulante et choisissez l’une des catégories de business.

6 Entrez dans la colonne KeyValue un code approprié pour la catégorie de business sélectionnée.

Par exemple, si vous souhaitez rechercher tous les éditeurs de logiciels sur un site UDDI, vous pouvez choisir ntis-gov:naics:1997 dans la liste déroulante KeyName, puis entrer dans le champ KeyValue le code NAICS d’éditeur de logiciel : 51121. Chaque catégorie de business dispose de son propre ensemble de codes pour la classification.

Page 100: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

11-12 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

R e c h e r c h e d a n s u n r e g i s t r e U D D I

7 Appuyez sur Entrée pour valider la KeyValue.

8 Cliquez sur le bouton Exécuter de la page Requête pour Business pour exécuter la requête.

9 Développez le nœud Liste Business pour voir la liste des business recensés comme catégorie sélectionnée.

Recherche par identificateurUne autre méthode de recherche de business consiste à rechercher par identificateur de business. Il existe plusieurs systèmes d’identificateurs intégrés selon lesquels vous pouvez effectuer des recherches :

• Thomasregister-com:supplierID

• Dnb-com:D-U-N-S (Dun & Bradstreet Number Identifier System)

Ces identificateurs sont listés dans la liste déroulante KeyName sur la page Identificateur de l’explorateur des services Web. Chacune de ces classifications dispose d’une tModelKey correspondante.

Pour rechercher par identificateur de business,

1 Choisissez Outils|Explorateur des services Web pour ouvrir l’explorateur de services Web.

2 Développez le nœud Sites UDDI dans l’arborescence.

3 Développez un nœud de site opérateur UDDI et sélectionnez le nœud Liste Business pour afficher à droite la page Requête pour Business.

4 Choisissez l’onglet Identificateur dans la page Requête pour Business.

5 Choisissez l’un des identificateurs de business suivants dans la liste déroulante KeyName :

• Thomasregister-com:supplierID

• Dnb-com:D-U-N-S

6 Entrez un code approprié pour l’identificateur de business sélectionné dans la colonne KeyValue.

Par exemple, si vous voulez rechercher un business de D-U-N-S ID 00-136-8083 sur un site UDDI, choisissez Dnb-com:D-U-N-S dans la liste

Page 101: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

P a r c o u r s e t p u b l i c a t i o n d e s e r v i c e s W e b 11-13

R e c h e r c h e d a n s u n r e g i s t r e U D D I

déroulante KeyName, et entrez dans le champ KeyValue l’identificateur 00-136-8083. D-U-N-S ID d’IBM.

7 Appuyez sur Entrée pour valider la KeyValue.

8 Cliquez sur le bouton Exécuter pour exécuter la requête.

9 Développez le nœud Liste Business pour voir le business recensé avec l’identificateur sélectionné.

Recherche des services

L’interrogation par service ne peut être effectuée qu’au sein d’un business particulier. Vous devez d’abord rechercher un nom de business particulier puis sélectionner le nœud du business dans l’arborescence de gauche avant d’interroger un service.

Pour demander un service, effectuez les étapes suivantes :

1 Choisissez Outils|Explorateur des services Web pour ouvrir l’explorateur de services Web.

2 Développez le nœud Sites UDDI dans l’arborescence de gauche.

3 Développez un nœud de site opérateur UDDI et exécutez une Requête pour Business par nom comme expliqué dans “Recherche par nom”, page 11-8.

4 Développez le nœud Liste Business pour voir les résultats de la requête.

5 Sélectionnez un business dans l’arborescence et choisissez l’onglet Requête pour service à droite.

Page 102: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

11-14 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

R e c h e r c h e d a n s u n r e g i s t r e U D D I

6 Entrez le nom du service Web dans le champ Chercher par nom.

7 Cliquez sur Exécuter pour exécuter la requête.

8 Développez le nœud du business pour voir les services renvoyés par la requête.

Remarque Vous pouvez également rechercher un service par catégorie ou tModel.

Recherche de tModel

Vous pouvez aussi rechercher des tModel dans l’explorateur des services Web. Les tModel représentent une spécification technique de service Web. En recherchant des tModel, vous pouvez effectuer une recherche par nom de tModel, catégorie ou identificateur.

Recherche par nomPour rechercher des tModel par nom,

1 Choisissez Outils|Explorateur des services Web pour ouvrir l’explorateur de services Web.

2 Développez le nœud Sites UDDI dans l’arborescence de gauche et double-cliquez sur un nœud de site opérateur UDDI pour le développer.

3 Choisissez le nœud Liste tModel dans l’arborescence pour afficher la page Requête pour TModel à droite.

4 Entrez le nom du tModel dans le champ Chercher par nom.

Par exemple, pour trouver tous les tModel commençant par le nom uddi-org, vous saisiriez uddi-org.

5 Cliquez sur le bouton Exécuter pour exécuter la requête.

Page 103: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

P a r c o u r s e t p u b l i c a t i o n d e s e r v i c e s W e b 11-15

C o n s u l t a t i o n d e s r é s u l t a t s d e l a r e q u ê t e U D D I

6 Développez le nœud Liste tModel pour voir les résultats de la requête.

Consultation des résultats de la requête UDDIAprès avoir exécuté une requête UDDI, vous pouvez consulter des informations détaillées sur un service Web dans l’explorateur des services Web. Chaque nœud de l’arborescence de l’explorateur affiche des informations différentes sur un service sélectionné. Lorsque vous sélectionnez un nœud dans l’arborescence, les informations de détail appropriées s’affichent à droite de l’arborescence. Par exemple, lorsque vous sélectionnez le nœud d’un business dans l’arborescence, la page Détails business s’affiche à droite avec des informations de présentation sur le business, ainsi que les éventuelles informations de contact, les identificateurs et les catégories. Lorsque vous développez le nœud du business et sélectionnez un service de business, la page Détails du service s’affiche, et ainsi de suite.

Pages de détail UDDI

Les interrogations de business et de services renvoient plusieurs nœuds dans l’arborescence, comme le nom du business, le nom du service, les informations de liaison, l’instance tModel et les détails tModel. Selon le service Web et la manière dont il est publié, un service peut avoir ou non ces pages de détail. Les interrogations de tModel ne renvoient que les nœuds tModel de l’arborescence et n’affichent que la page de détail de tModel. Etant donné que certaines informations sur ces pages sont obligatoires alors que d’autres sont facultatives, certains champs peuvent être vides.

Page 104: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

11-16 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

C o n s u l t a t i o n d e s r é s u l t a t s d e l a r e q u ê t e U D D I

Il existe plusieurs pages de détails UDDI dans l’explorateur des services Web :

• Détails• Détails business• Détails du service• Détails de liaison• Détails d’instance tModel• Détails tModel

Page DétailsLa page Détails s’affiche lorsqu’un nœud de site opérateur UDDI est sélectionné. Cette page affiche des informations de site opérateur, telles que le nom, l’URL d’interrogation et l’URL de publication.

Page Détails businessLa page Détails business s’affiche lorsque le nœud du business est sélectionné. Cette page affiche des informations sur l’entreprise, comme une présentation de l’entreprise avec le nom et la description du business, les informations de contact, les identificateurs et les catégories de business.

Page Détails du serviceLa page Détails du service s’affiche lorsque le nœud du service Web est sélectionné dans l’arborescence. Cette page affiche des informations de présentation sur le service, comme son nom, sa description et sa clé.

Page Détails de liaisonLa page Détails de liaison s’affiche lorsque le nœud de la liaison est sélectionné dans l’arborescence. Cette page affiche une description, le point d’accès au service et le type d’URL.

Page Détails d’instance TModelLa page Détails d’instance TModel s’affiche lorsque le nœud Détails d’instance TModel, qui a souvent la valeur <Aucune description>, est sélectionné dans l’arborescence. Cette page affiche une description, la clé tModel, une description de document de vue d’ensemble et une URL du document de vue d’ensemble.

Page Détails TModelLa page Détails TModel s’affiche lorsque le nœud tModel, le dernier nœud dans la Liste Business, est sélectionné dans l’arborescence. Elle s’affiche également lorsqu’un nœud tModel est sélectionné dans la Liste TModel. Cette page affiche des informations de présentation, comme le nom et la description de tModel, la clé tModel, une description de

Page 105: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

P a r c o u r s e t p u b l i c a t i o n d e s e r v i c e s W e b 11-17

R e c h e r c h e d e s e r v i c e s W e b s u r u n s e r v e u r A x i s

document de vue d’ensemble, une URL du document de vue d’ensemble et tous les identificateurs et catégories appropriés.

Si un document WSDL est disponible sur cette page, vous pouvez utiliser l’expert Importation d’un service Web pour générer des classes Java à partir du WSDL. Choisissez Fichier|Importer un service Web ou cliquez sur le bouton Importer un service Web. Si aucun projet n’est ouvert, l’expert Projet s’ouvre d’abord, suivi de l’expert Importation d’un service Web. Pour des informations sur l’expert Importation d’un service Web, voir Chapitre 5, “Utilisation de WSDL”.

Recherche de services Web sur un serveur AxisC’est une fonctionnalitéde la boîte à outils Axis.La boîte à outils Apache

Axis n’est pas prise encharge dans l’édition

WebLogic de JBuilder.

Certains services Web sont déployés et disponibles sur les sites réseau exécutant des services Web hébergés par Apache Axis. Vous pouvez les parcourir à l’aide de l’explorateur des services Web. Si vous effectuez des recherches sur un serveur Axis distant, l’accès distant doit être activé sur ce serveur. Voir “Accès aux serveurs Axis distants”, page 11-19. De plus, vous pouvez publier un service Web Axis dans un registre UDDI. Voir “Publication de services Web à partir d’un serveur Axis”, page 11-26.

Vous pouvez également créer des services Web Axis localement et les parcourir comme suit :

1 Créez un service Web comme décrit au Chapitre 13, “Tutoriel : Création d’un service Web simple avec Axis”.

2 Développez le nœud axis dans le volet projet et le répertoire racine de la WebApp axis.

3 Cliquez avec le bouton droit sur index.html dans le volet projet et choisissez Exécution Web en utilisant “Serveur services Web” pour déployer le service et exécuter le serveur Web.

4 Choisissez Outils|Explorateur des services Web pour ouvrir l’explorateur de services Web.

5 Affichez le service Web comme décrit dans “Affichage des services Web hébergés par Axis”, page 11-27.

Affichage des services

Lorsque des services Web sont déployés sur un serveur Axis, vous pouvez les parcourir dans l’explorateur des services Web.

Page 106: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

11-18 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

R e c h e r c h e d e s e r v i c e s W e b s u r u n s e r v e u r A x i s

Pour afficher les services disponibles sur un serveur Axis,

1 Développez le nœud Serveurs WSDL et créez un nouveau nœud enfant Serveurs WSDL pour le service Axis comme suit :

a Cliquez avec le bouton droit sur le nœud Serveurs WSDL et choisissez Nouveau serveur WSDL ou cliquez sur le bouton Nouveau serveur WSDL sur la page Serveurs WSDL.

b Entrez un nom pour le nouveau nœud, sélectionnez Axis Server comme type de serveur, et cliquez sur OK.

2 Choisissez le nouveau nœud Serveur WSDL et entrez l’URL pour le serveur dans le champ URL, y compris le contexte Web du service. L’URL pour un service sur un serveur Axis prend l’une des formes suivantes :

<protocol:>//<port:port number>/<web context>/services/<protocol:>//<port:port number>/<web context>/servlet/AxisServlet/

où protocol est le protocole du service, port est l’ordinateur exécutant le serveur Axis, port number représente le numéro du port d’écoute du serveur Axis et web context est la racine du contexte ou le nom de la WebApp hébergeant le service Web. Par exemple, http://localhost:8080/<axis>/servlet/AxisServlet.

3 Cliquez sur le bouton Afficher les services sur la page Détails.

4 Développez le nœud pour voir les services disponibles. Notez que l’un des services listés est Version. Il s’agit d’un service intégré d’Axis qui lit la version d’Axis.

Page 107: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

P a r c o u r s e t p u b l i c a t i o n d e s e r v i c e s W e b 11-19

R e c h e r c h e d e s e r v i c e s W e b s u r u n s e r v e u r A x i s

Importation d’un WSDL et publication de services Web Axis

Après avoir affiché les services hébergés par Axis, vous pouvez importer un WSDL pour le service et générer les classes Java pour l’implémentation et/ou la création de ce service. Pour importer un WSDL pour un service et générer des classes Java, sélectionnez l’un des services hébergés par Axis et choisissez Fichier|Importer un service Web ou cliquez sur le bouton Importer un service Web sur la barre d’outils. Effectuez les autres étapes de l’expert Importation d’un service Web, cliquez sur Terminer et consultez le document WSDL généré et les classes Java. Pour plus d’informations, voir Chapitre 5, “Utilisation de WSDL”, ou cliquez sur le bouton Aide dans l’expert.

Vous pouvez également publier des services Web Axis sur un site UDDI dans l’explorateur des services Web. Voir “Publication de services Web à partir d’un serveur Axis”, page 11-26.

Remarque L’accès distant doit être activé sur les serveurs Axis distants pour le parcours de leur services. Voir “Accès aux serveurs Axis distants”, page 11-19.

Accès aux serveurs Axis distants

JBuilder construit les serveurs Axis avec l’accès distant désactivé. Si vous désirez changer ce comportement par défaut, vous devrez modifier le fichier server-config.wsdd comme suit.

Avertissement L’activation de l’administration à distance peut permettre à des personnes non autorisées d’accéder à votre machine. Assurez-vous d’ajouter une sécurité à votre configuration.

Pour permettre l’accès distant :

1 Construisez le projet.

2 Ouvrez le fichier server-config.wsdd situé dans le nœud de la boîte à outils de la WebApp hébergeant le service.

3 Changez la valeur de l’élément AdminService de false à true : <parameter name="enableRemoteAdmin" value="true"/>.

4 Désactivez la régénération de server-config.wsdd pendant le déploiement en désactivant l’option SOAP de construction du projet comme suit :

a Choisissez Projet|Propriétés du projet pour ouvrir la boîte de dialogue Propriétés du projet.

b Choisissez l’onglet Construction.

Page 108: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

11-20 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

R e c h e r c h e d e s e r v i c e s W e b a v e c d e s d o c u m e n t s W S I L

c Choisissez l’onglet Services Web dans la page Construction et désactivez l’option Régénérer le déploiement.

d Cliquez sur OK pour fermer la boîte de dialogue Propriétés du projet.

Recherche de services Web avec des documents WSILUne autre méthode pour rechercher les services Web disponibles consiste à rechercher à l’aide de documents WSIL. Les documents WSIL sont des collections de pointeurs vers d’autres documents qui listent les services Web disponibles sur un site Web. Les documents WSIL peuvent pointer sur d’autres documents WSIL, un business ou une entrée de service UDDI et des documents WSDL. Les sites Web avec des services Web disponibles collectent habituellement leurs liens dans un document WSIL à un emplacement par défaut comme http://www.xmethods.net/inspection.wsil. Lorsque vous avez trouvé le service voulu sur un site, vous pouvez importer le document WSDL à l’aide de l’expert Importation d’un service Web.

Selon la spécification Web Services Inspection Language, les documents WSIL doivent avoir au moins un élément <service> ou un élément <link>, voire les deux. Les services et les liens sont affichés dans l’explorateur des services Web en tant que nœuds fils d’un nœud WSIL.

Page 109: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

P a r c o u r s e t p u b l i c a t i o n d e s e r v i c e s W e b 11-21

R e c h e r c h e d e s e r v i c e s W e b a v e c d e s d o c u m e n t s W S I L

Nœud Services

Le nœud Services affiche les éléments <service> du document WSIL. L’élément <service> spécifie le document WSDL pour le service ou peut faire référence à une entrée UDDI spécifiant le WSDL. Développez le nœud Services pour afficher les services disponibles sur le site. Développez un service Web et sélectionnez le nœud Description en dessous pour afficher la page Détails. Cette page fournit des informations comme l’emplacement du document WSDL, indique si le service est un point terminal et fournit des informations de liaison.

Si la référence porte sur une entrée UDDI, vous pouvez rechercher des services en employant deux méthodes :

• La clé de service et l’URI Emplacement

• La clé de service et l’URL Découverte

Choisissez une option et cliquez sur le bouton Extraire pour obtenir les informations. Les résultats de la recherche sont affichés dans un nœud temporaire, Référence WSIL temporaire, au sein de l’arborescence UDDI.

Nœud Liens

Si le document WSIL contient des éléments <link>, ils sont affichés en tant que sous-nœuds du nœud Liens. Les liens peuvent être des adresses d’un autre document WSIL ou d’une entrée de business UDDI. Développez le nœud Liens pour voir les éléments <link> du document WSIL et sélectionnez un lien pour afficher la page Détails.

Page 110: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

11-22 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

R e c h e r c h e d e s e r v i c e s W e b a v e c d e s d o c u m e n t s W S I L

Si le lien est une référence d’une entrée de business UDDI, la page Détails affiche des informations UDDI que vous pouvez extraire du registre UDDI. Les résultats de la recherche sont affichés dans un nœud Référence WSIL temporaire sous le nœud UDDI.

Si le lien fait référence à un autre document WSIL, vous pouvez cliquer sur le bouton Exécuter sur la page Détails pour afficher la liste des services du WSIL.

Page 111: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

P a r c o u r s e t p u b l i c a t i o n d e s e r v i c e s W e b 11-23

P u b l i c a t i o n d e s e r v i c e s W e b d a n s u n r e g i s t r e U D D I

Exécution d’une recherche avec un document WSIL

Pour rechercher les services disponibles sur un site Web,

1 Sélectionnez le nœud Documents WSIL dans l’explorateur.

2 Cliquez sur Nouvel emplacement WSIL à droite sur la page Documents WSIL pour créer un nouveau nœud WSIL.

Astuce Vous pouvez aussi cliquer avec le bouton droit sur le nœud Documents WSIL et choisir Nouveau, ou choisir Fichier|Nouveau.

3 Entrez un nom pour le nœud et cliquez sur OK.

4 Entrez l’URL du site Web ou une URL locale à laquelle vous souhaitez effectuer la recherche. Par exemple, http://www.xmethods.net/inspection.wsil ou file:///c:\wsil\inspection.wsil.

5 Cliquez sur Enregistrer pour enregistrer les modifications.

6 Développez le nouveau nœud WSIL pour voir les nœuds Services et Liens disponibles.

7 Effectuez l’une des actions suivantes :

• Développez le nœud Services et choisissez un nœud Description sous l’un des services pour voir l’emplacement du document WSDL. Vous pouvez utiliser ensuite l’expert Importation d’un service Web pour l’importer et générer les classes Java pour utiliser le service.

• Développez le nœud Liens et choisissez un lien pour voir les disponibilités sur la page Détails.

S’il y a une référence à une entrée de business UDDI, choisissez Extraire pour obtenir les informations. Les résultats sont affichés dans un nœud Référence WSIL temporaire sous le nœud Sites UDDI. Vous pouvez ensuite examiner en détail le nœud tModel d’un service où le WSDL est localisé, et utiliser l’expert Importation d’un service Web pour l’importer et générer les classes Java pour utiliser le service.

Si la référence porte sur un autre document WSIL, vous pouvez aussi naviguer vers ces services et ces liens. Choisissez le lien avec la référence WSIL et cliquez sur le bouton Exécuter sur la page Détails. Développez le nœud du lien pour afficher les services listés dans le WSIL.

Publication de services Web dans un registre UDDIL’explorateur des services Web prend en charge la publication de nouveaux business, de services Web et de leurs tModel correspondants. Dans certains cas, les sites UDDI nécessitent un recensement avant

Page 112: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

11-24 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

P u b l i c a t i o n d e s e r v i c e s W e b d a n s u n r e g i s t r e U D D I

d’accepter une publication. Certains sites UDDI disposent de sites de test sur lesquels vous pouvez publier et tester de nouveaux services avant de les distribuer sur le site UDDI officiel. La plupart des sites UDDI vous imposent également de spécifier une URL de publication avant de publier votre service. Cette URL est disponible sur le site Web du site. Par exemple, l’URL de publication pour le site UDDI de Microsoft est https://uddi.microsoft.com/publish.

La publication de services Web sur un site UDDI dans JBuilder fait intervenir les étapes suivantes :

1 Recensement sur le site UDDI par l’intermédiaire d’un navigateur Web.

2 Création et déploiement d’un service Web.

3 Publication d’un business et d’un service sur le site UDDI.

4 Publication d’un tModel pour le service.

Recensement sur le site UDDI par l’intermédiaire d’un navigateur Web

Avant de publier des business et des services Web, vous devez vous enregistrer sur le site UDDI sur lequel vous souhaitez publier votre service. Dans de nombreux cas, il est conseillé de publier d’abord sur un site de test pour tester le service. IBM et Microsoft proposent des sites de test à cette fin. Pour vous enregistrer, visitez le site de l’opérateur UDDI avec votre navigateur Web.

Création et déploiement d’un service

Utilisez les experts de services Web de JBuilder pour créer votre service Web et le déployer conformément à la boîte à outils sélectionnée. Pour plus d’informations, voir Chapitre 7, “Utilisation de la boîte à outils Apache Axis”, et Chapitre 8, “Utilisation de la boîte à outils WebLogic”.

Publication de business et de services

Pour publier un service Web, vous devez d’abord publier un business, s’il n’existe pas, puis ajouter des informations pour le business, le service, le modèle de liaison et le tModel. Si vous disposez déjà d’un business publié sur un site UDDI, vous pouvez ignorer cette étape.

Commencez par ajouter le nouveau business comme suit :

1 Choisissez Outils|Explorateur des services Web pour ouvrir l’explorateur de services Web.

Page 113: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

P a r c o u r s e t p u b l i c a t i o n d e s e r v i c e s W e b 11-25

P u b l i c a t i o n d e s e r v i c e s W e b d a n s u n r e g i s t r e U D D I

2 Choisissez un nœud d’opérateur UDDI, comme Microsoft Test, sous le nœud Sites UDDI dans l’arborescence. Le site opérateur doit avoir une URL de publication associée. Si le champ URL de publication est vide, visitez le site Web de l’opérateur afin de trouver l’URL de publication pour ce site particulier. Pour entrer l’URL de publication pour un site opérateur, choisissez un nœud d’opérateur et entrez l’URL dans le champ URL de publication sur la page Détails. Choisissez Enregistrer pour enregistrer l’entrée.

3 Cliquez avec le bouton droit sur le nœud Liste Business dans l’arborescence et choisissez Nouveau business, ou bien choisissez Fichier|Nouveau business.

4 Entrez le nom du business dans la boîte de dialogue et cliquez sur OK.

5 Sélectionnez le nœud du nouveau business et entrez les informations appropriées sur l’onglet Vue d’ensemble de la page Détails business, sur le côté droit. Certaines informations sont remplies par le site UDDI, mais l’explorateur vous permet de modifier le contenu de ces champs.

6 Choisissez l’onglet Contact et cliquez sur Ajouter. Entrez les informations de contact appropriées.

7 Continuez à ajouter des informations à ce business en cliquant avec le bouton droit sur le nœud du business et en resélectionnant Nouveau pour créer le nœud du service. Cliquez ensuite avec le bouton droit sur le nœud du service et choisissez Nouveau pour créer le nœud de liaison, et ainsi de suite.

8 Choisissez le nœud de l’opérateur UDDI, le nœud Liste Business ou le nœud du business, et choisissez Fichier|Enregistrer les modifications. Cette opération enregistre toutes les modifications et les transmet au site UDDI. Vous pouvez également cliquer avec le bouton droit sur un nœud et choisir Enregistrer les modifications ou utiliser le bouton de barre d’outils. Si le site UDDI requiert une connexion, il vous est demandé d’entrer un nom d’utilisateur et un mot de passe.

Page 114: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

11-26 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

P u b l i c a t i o n d e s e r v i c e s W e b à p a r t i r d ’ u n s e r v e u r A x i s

Important Les modifications enregistrées dépendent du nœud sélectionné. Vous pouvez choisir le fils d’un nœud et n’enregistrer que les modifications apportées à ce nœud et ses sous-nœuds. Vous pouvez également sélectionner un nœud d’opérateur UDDI ou le nœud Liste Business et enregistrer toutes les modifications.

Publication de tModel

Pour ajouter et publier un nouveau tModel,

1 Effectuez les étapes 1 et 2 de “Publication de business et de services”, page 11-24.

2 Cliquez avec le bouton droit sur le nœud Liste tModel dans l’arborescence et choisissez Nouveau tModel. Un nouveau nœud tModel est ajouté à l’arborescence.

3 Sélectionnez le nœud Nouveau tModel et entrez les informations appropriées sur la page Détails tModel. Si le site UDDI requiert une connexion, il vous est demandé d’entrer un nom d’utilisateur et un mot de passe.

4 Sélectionnez le nœud tModel et choisissez Fichier|Enregistrer les modifications pour enregistrer le nouveau tModel et le transmettre au site UDDI.

Publication de services Web à partir d’un serveur AxisC’est une fonctionnalitéde la boîte à outils Axis.La boîte à outils Apache

Axis n’est pas prise encharge dans l’édition

WebLogic de JBuilder.

La publication de services Web sur un site UDDI à partir d’un serveur Axis dans JBuilder fait intervenir les étapes suivantes :

1 Recensement sur le site UDDI par l’intermédiaire d’un navigateur Web.

2 Création et déploiement d’un service Web hébergé sur un serveur Axis.

3 Affichage d’un service Web hébergé par Axis.

4 Publication à partir du serveur Axis.

Création et déploiement de services Web hébergés sur un serveur Axis

Créez ensuite un service Web hébergé sur un serveur Axis local.

1 Créez un service Web Axis local comme décrit au Chapitre 13, “Tutoriel : Création d’un service Web simple avec Axis”.

2 Déployez le service et exécutez le serveur Web.

Page 115: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

P a r c o u r s e t p u b l i c a t i o n d e s e r v i c e s W e b 11-27

P u b l i c a t i o n d e s e r v i c e s W e b à p a r t i r d ’ u n s e r v e u r A x i s

Affichage des services Web hébergés par Axis

Le service Web étant maintenant déployé sur le serveur Axis et le serveur étant en fonctionnement, vous pouvez afficher le service dans l’explorateur des services Web.

1 Choisissez Outils|Explorateur des services Web pour ouvrir l’explorateur de services Web.

2 Développez le nœud Axis et choisissez le nœud Axis Défaut.

3 Modifiez l’URL dans la page Détails avec le contexte WebApp, dans cet exemple foo, ainsi que l’emplacement du serveur du service Web. Par exemple, http://localhost:8080/foo/servlet/AxisServlet.

4 Choisissez le bouton Afficher les services sur la page Détails pour afficher le service en tant que nœud enfant du nœud Axis Défaut.

Publication à partir du serveur Axis

Une fois le serveur Axis en fonctionnement, vous pouvez publier le service sur le site UDDI. Commencez par définir les valeurs par défaut pour la publication. Vous devez ensuite exécuter le service Axis localement sur le serveur Web et le publier.

1 Choisissez Outils|Explorateur des services Web pour ouvrir l’explorateur de services Web.

2 Développez le nœud Sites UDDI puis le site opérateur UDDI sur lequel vous souhaitez effectuer la publication. Choisissez le nœud Liste Business et recherchez le business dans lequel vous souhaitez publier le service. Si vous n’avez pas encore créé de business, créez-en un comme décrit dans “Publication de business et de services”, page 11-24.

3 Cliquez avec le bouton droit sur le nœud du business et choisissez l’option Définir comme valeur par défaut de publication.

Page 116: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

11-28 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

S u r v e i l l a n c e d e s m e s s a g e s U D D I

4 Cliquez avec le bouton droit sur le service affiché comme fils du nœud Serveurs WSDL Défaut et choisissez Publier.

5 Cliquez sur OK dans la boîte de dialogue Publier le service Axis vers UDDI pour la fermer.

6 Connectez-vous au registre UDDI si nécessaire. Une boîte de dialogue apparaît, en indiquant que le service est publié et que les nouveaux nœuds sont créés pour ce service en dessous du nœud de business défini comme nœud de publication par défaut.

Surveillance des messages UDDIL’explorateur des services Web est doté d’un Moniteur de message UDDI vous permettant de visualiser les messages SOAP échangés avec le site opérateur UDDI sélectionné.

Pour consulter ces messages,

1 Développez le nœud Sites UDDI dans l’arborescence de l’explorateur et choisissez un nœud UDDI.

2 Choisissez UDDI|Messages UDDI en cache. Cela active le Moniteur de message UDDI, qui enregistre les requêtes envoyées et les réponses reçues du site opérateur UDDI.

3 Effectuez une recherche sur le site.

4 Choisissez le nœud d’opérateur UDDI puis choisissez UDDI|Voir les messages pour ouvrir le Moniteur de message UDDI.

5 Sélectionnez une réponse ou une requête dans la liste et choisissez Voir pour visualiser le message. Vous pouvez voir ici l’enveloppe SOAP et les messages XML qu’elle contient dans la vue arborescente de gauche.

Page 117: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

P a r c o u r s e t p u b l i c a t i o n d e s e r v i c e s W e b 11-29

G é n é r a t i o n d e c l a s s e s J a v a à p a r t i r d e d o c u m e n t s W S D L

La vue source à droite affiche le code source pour le message envoyé ou reçu.

Génération de classes Java à partir de documents WSDLL’explorateur des services Web permet d’accéder à l’expert Importation d’un service Web pour la génération de classes Java basées sur le document WSDL. L’expert Importation d’un service Web est disponible en tant qu’option de menu, Fichier|Importer un service Web, et en tant que bouton sur la barre d’outils. L’option de menu et le bouton de barre d’outils ne sont actifs que lorsqu’un document WSDL est disponible. Par exemple, si le nœud Détails tModel est sélectionné dans l’arborescence et si un document WSDL est spécifié dans le champ URL du document de vue d’ensemble, le bouton Importer un service Web et l’option de menu sont activés.

Utilisez l’option de menu ou le bouton de barre d’outils pour ouvrir l’expert Importation d’un service Web. Si aucun projet n’est ouvert, l’expert Projet s’ouvre. Une fois que vous avez créé un projet, l’expert Importation d’un service Web s’ouvre. Choisissez une boîte à outils de

Page 118: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

11-30 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

G é n é r a t i o n d e c l a s s e s J a v a à p a r t i r d e d o c u m e n t s W S D L

services Web et cliquez sur OK. Notez que le nom du document WSDL est automatiquement entré dans le champ URL WSDL de l’expert Importation d’un service Web. Lorsqu’un site Web requiert un nom d’utilisateur et un mot de passe, la première étape de l’expert comprend des champs Nom d’utilisateur et Mot de passe que vous devez renseigner. Par exemple, certains sites UDDI requièrent l’enregistrement des utilisateurs. Continuez les étapes de l’expert pour générer les classes appropriées. Pour obtenir une aide, choisissez le bouton Aide à n’importe quelle étape de l’expert.

Page 119: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l s d e s e r v i c e s W e b 12-1

C h a p i t r e

12Chapitre12Tutoriels de services Web

C’est une fonctionnalitéde JBuilder Entreprise.

Les tutoriels de services Web sont classés par boîte à outils. Des tutoriels généraux sont disponibles pour toutes les boîtes à outils.

Tutoriels de services Web AxisLa boîte à outils Apache

Axis et BorlandEnterprise Server ne sont

pas pris en charge parl’édition WebLogic de

JBuilder.

• Chapitre 13, “Tutoriel : Création d’un service Web simple avec Axis”

Explique comment utiliser l’expert Exportation en tant que service Web pour publier un JavaBean en tant que service web, avec exposition de méthodes sélectionnées auprès du consommateur de services web.

• Chapitre 14, “Tutoriel : Génération d’un service Web à partir d’un document WSDL”

Explique comment utiliser l’expert Importation d’un service Web pour générer les classes Java d’un service Web fournissant un service de traduction, et la manière d’utiliser ce service.

• Chapitre 15, “Tutoriel : Création d’un service Web à partir d’une application EJB avec Borland Enterprise Server”

Explique comment créer un service Web à partir d’une application Enterprise JavaBean en utilisant Borland Enterprise Server.

• Chapitre 16, “Tutoriel : Importation d’un service Web en tant qu’application EJB”

Explique comment importer un WSDL en tant qu’application EJB en utilisant la boîte à outils Axis et Borland Enterprise Server.

Page 120: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

12-2 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

T u t o r i e l s d e s e r v i c e s W e b W e b L o g i c

Tutoriels de services Web WebLogic• Chapitre 17, “Tutoriel : Création d’un service Web simple avec

WebLogic”

Explique comment utiliser l’expert Exportation en tant que service Web pour publier un JavaBean en tant que service web, avec exposition de méthodes sélectionnées auprès du consommateur de services web.

• Chapitre 18, “Tutoriel : Création d’un service Web à partir d’une application EJB avec le serveur WebLogic”

Explique comment créer un service Web à partir d’une application EJB en utilisant WebLogic Server.

Tutoriels de services Web généraux• Chapitre 19, “Tutoriel : Parcours des services Web UDDI”

Explique comment utiliser l’explorateur de services Web pour parcourir les services Web et générer des classes Java à partir d’un document WSDL.

Page 121: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : C r é a t i o n d ’ u n s e r v i c e W e b s i m p l e a v e c A x i s 13-1

C h a p i t r e

13Chapitre13Tutoriel : Création d’un service

Web simple avec AxisCe tutoriel utilise des

fonctionnalités deJBuilder Entreprise. La

boîte à outils Apache Axisn’est pas prise en charge

dans l’édition WebLogicde JBuilder.

Ce tutoriel vous apprend à utiliser l’expert Exportation en tant que service Web pour exporter un JavaBean en tant que service Web, créer un WSDL pour décrire le service et créer un serveur de services Web en utilisant la boîte à outils Apache Axis pour héberger le service.

Dans ce tutoriel, vous allez effectuer les tâches suivantes :

• Création d’un exemple de JavaBean.

• Exportation de l’exemple de bean en tant que service Web et configuration du projet pour les services Web.

• Déploiement, exécution et test du service.

Ce tutoriel suppose que vous êtes familiarisé avec Java et avec l’EDI de JBuilder. Pour plus d’informations sur Java, voir Introduction à Java. Pour plus d’informations sur l’EDI de JBuilder, voir “L’environnement de JBuilder” dans Introduction à JBuilder.

Pour obtenir des informations utiles sur la visualisation et l’impression des tutoriels, voir la section Tutoriels du fichier Astuces JBuilder. La section Options d’accessibilité des Astuces JBuilder contient des conseils permettant de simplifier l’accès aux fonctionnalités de JBuilder, destinés en particulier aux personnes ayant des difficultés.

Pour plus d’informations sur les conventions utilisées dans ce tutoriel et la documentation JBuilder en général, voir “Conventions de la documentation”, page 1-4.

Page 122: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

13-2 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 1 : C r é a t i o n d ’ u n e x e m p l e d e J a v a B e a n

Etape 1 : Création d’un exemple de JavaBeanDans cette étape, vous allez créer un nouveau projet en utilisant l’expert Projet. Vous créerez ensuite un JavaBean que vous exporterez comme service Web.

1 Sélectionnez Fichier|Nouveau projet pour afficher l’expert projet.

2 Entrez exportbean dans le champ Nom.

3 Cliquez sur le bouton Terminer pour fermer l’expert et créer le projet. Vous n’avez pas à modifier les valeurs par défaut des étapes 2 et 3 de l’expert.

4 Vérifiez sur la page Serveur de Propriétés du projet (Projet|Propriétés du projet) que le serveur du projet est Tomcat 4.0.

5 Choisissez Fichier|Nouveau pour afficher la galerie d’objets et choisissez l’onglet Général.

6 Sélectionnez JavaBean et cliquez sur OK pour lancer l’expert JavaBean.

7 Comme classe de base, spécifiez java.lang.Object.

8 Activez Générer la propriété exemple et acceptez toutes les autres valeurs par défaut.

9 Cliquez sur OK pour fermer l’expert. Un fichier Bean1.java est généré dans le paquet exportbean.

Etape 2 : Exportation de l’exemple de bean en tant que service Web et configuration du projet pour les services Web

Dans cette étape, vous allez configurer le projet pour les services Web et utiliser l’expert Exportation en tant que service Web pour exporter le bean en tant que service Web. L’expert exposera toutes les méthodes de bean dans le service, créera un WSDL pour décrire le service, créera un fichier de déploiement de services Web et générera les classes Java pour le service.

1 Cliquez avec le bouton droit sur Bean1.java dans le volet projet et sélectionnez Exporter en tant que service Web dans le menu contextuel. Comme votre projet n’est pas encore configuré pour les services Web, l’expert Configuration des services Web s’affiche pour vous permettre de créer une WebApp pour héberger le service Web. Une fois le projet configuré, l’expert Exportation en tant que service Web apparaît.

Chapter 13Etape 2 :Exportation de

l’exemple de beanen tant que

service Web

Chapter 13Etape 2 :Exportation de

l’exemple de beanen tant que

service Web

Page 123: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : C r é a t i o n d ’ u n s e r v i c e W e b s i m p l e a v e c A x i s 13-3

E t a p e 2 : E x p o r t a t i o n d e l ’ e x e m p l e d e b e a n e n t a n t q u e s e r v i c e W e b

2 Configurez le projet pour les services Web en utilisant l’expert Configuration des services Web comme suit :

a Choisissez le bouton Nouveau à côté du champ WebApp pour créer une WebApp avec l’expert Application Web. Une WebApp est nécessaire pour héberger le service.

b Entrez axis comme nom et répertoire pour la WebApp et cliquez sur OK pour revenir à l’expert Configuration des services Web.

c Choisissez Apache Axis dans la liste déroulante Boîte à outils. Le contexte Web, qui est le nom et le répertoire de la WebApp, est utilisé dans le WSDL et Bean1ServiceLocator.java. Dans cet exemple, l’adresse SOAP par défaut dans le document WSDL généré par l’expert est <wsdlsoap:address location="http://localhost:8080/axis/services/Bean1"/>. L’adresse du port du service dans Bean1ServiceLocator.java est http://localhost:8080/axis/services/Bean1.

L’expert Configuration des services Web devrait avoir l’apparence suivante :

d Cliquez sur Suivant dans l’expert Configuration des services Web pour voir la configuration d’exécution du serveur de services Web créée par l’expert. Vous utiliserez cette configuration d’exécution plus loin pour exécuter le projet.

e Cliquez sur Terminer pour fermer l’expert Configuration des services Web et continuer avec l’expert Exportation en tant que service Web.

Maintenant que vous avez configuré le projet pour les services Web, vous allez utiliser l’expert Exportation en tant que service Web pour exporter la classe en tant que service Web.

Page 124: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

13-4 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 2 : E x p o r t a t i o n d e l ’ e x e m p l e d e b e a n e n t a n t q u e s e r v i c e W e b

L’expert Exportation en tant que service Web a l’apparence suivante :

3 Acceptez la classe à l’étape 1 de l’expert Exportation en tant que service Web et cliquez sur Suivant.

4 Entrez Bean1PortType dans le champ Type de port.

5 Continuez à parcourir les étapes restantes de l’expert en acceptant toutes les valeurs par défaut. Notez que sur la page Méthodes, le Mode de sélection autorise l’exposition de toutes les méthodes dans le service. Choisissez Aide sur n’importe quelle page de l’expert pour en savoir plus sur les options.

6 Cliquez sur Terminer pour fermer l’expert et générer les classes WSDL et Java pour le service.

Un document WSDL appelé Bean1.wsdl est généré. Ce fichier contient les informations WSDL définissant la manière de se connecter au service

Page 125: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : C r é a t i o n d ’ u n s e r v i c e W e b s i m p l e a v e c A x i s 13-5

E t a p e 3 : D é p l o i e m e n t , e x é c u t i o n e t t e s t d u s e r v i c e W e b

Web. Les fichiers Java composant le service Web sont également générés et placés dans un paquet nommé exportbean.generated. Ils comprennent les fichiers suivants :

• Bean1PortType.java est l’interface pour le service.

• Bean1Service.java est une interface abstraite définissant une classe factory pour obtenir une instance de stub.

• Bean1ServiceLocator.java est l’implémentation de l’interface abstraite.

• Bean1ServiceTestCase.java est le cas de test JUnit pour le service. Pour plus d’informations sur les cas de test JUnit, voir “Test des unités” dans Construction d’applications avec JBuilder.

• Bean1SoapBindingStub.java est le stub client qui sérialise l’appel et les paramètres Java dans SOAP.

Etape 3 : Déploiement, exécution et test du service WebDans cette étape, vous allez déployer le service et exécuter le serveur de services Web. Vous exécuterez ensuite le cas de test JUnit généré par l’expert Exportation en tant que service Web, pour tester l’exécution du JavaBean en tant que service Web.

1 Choisissez Exécuter|Exécuter le projet pour exécuter la configuration d’exécution créée par l’expert Configuration des services Web, serveur des services Web. Cette configuration d’exécution déploie le service et exécute le serveur de services Web. Pour plus d’informations sur les configurations d’exécution, voir “Définition des configurations d’exécution” dans Construction d’applications avec JBuilder.

Le serveur des services Web démarre et le service est déployé sur le serveur. Une fois le service déployé, la page d’administration Axis se charge dans le volet contenu de JBuilder.

2 Confirmez le déploiement du service. Cliquez sur le lien View pour afficher les services déployés. Vous verrez que Bean1 et ses deux méthodes, getSample() et setSample(), ont été déployés.

Page 126: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

13-6 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 3 : D é p l o i e m e n t , e x é c u t i o n e t t e s t d u s e r v i c e W e b

3 Cliquez sur le lien Bean1 (wsdl) sur la page d’administration ou double-cliquez sur Bean1.wsdl dans le volet projet pour voir le document WSDL généré par l’expert pour le service. Notez que les méthodes getSample() et setSample() sont toutes deux exposées comme opérations dans la description du service.

4 Développez le nœud du paquet exportbean.generated dans le volet projet.

5 Cliquez avec le bouton droit sur Bean1ServiceTestCase.java et sélectionnez Exécuter le test en utilisant les valeurs par défaut dans le menu contextuel. Cette action exécute le cas de test JUnit généré dans le lanceur de test par défaut. Voici à quoi ressemble JBTestRunner après l’exécution du cas de test :

Le cas de test accède aux méthodes publiques du JavaBean s’exécutant en tant que service Web dans le serveur de services Web. Pour plus d’informations sur le test des unités, voir “Test des unités” dans Construction d’applications avec JBuilder.

Important si vous apportez des modifications à Bean1.java après l’avoir exporté, vous devrez recompiler, exporter à nouveau en tant que service Web et redéployer sur le serveur de services Web pour que les modifications soient prises en compte.

Félicitations ! Vous avez terminé le tutoriel. Vous avez exporté un JavaBean en tant que service Web, configuré le projet pour les services Web et testé le service. Pour plus d’informations sur WSDL, voir Chapitre 5, “Utilisation de WSDL”. Pour plus d’informations sur l’expert Configuration des services Web, voir Chapitre 3, “Configuration des projets pour les services Web”. Pour plus d’informations sur le test des unités, voir “Test des unités” dans Construction d’applications avec JBuilder.

Page 127: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : G é n é r a t i o n d ’ u n s e r v i c e W e b à p a r t i r d ’ u n d o c u m e n t W S D L 14-1

C h a p i t r e

14Chapitre14Tutoriel : Génération

d’un service Web à partird’un document WSDL

Ce tutoriel utilise desfonctionnalités de

JBuilder Entreprise. Laboîte à outils Apache Axisn’est pas prise en charge

dans l’édition WebLogicde JBuilder.

Ce tutoriel montre comment construire une application de service Web à partir d’un document WSDL existant, appeler un service Web externe et implémenter ce même service localement. Vous utiliserez ensuite l’expert Importation d’un service Web et la boîte à outils Axis pour générer des classes Java à partir du document WSDL. Vous effectuerez enfin les étapes restantes pour accéder à un service Web permettant de traduire vers et à partir d’autres langues grâce à BabelFish d’AltaVista. Pour plus d’informations sur les fichiers générés par l’expert Importation d’un service Web, voir “Importation d’un WSDL”, page 7-6.

Dans ce tutoriel, vous allez effectuer les tâches suivantes :

• Configuration du projet pour les services Web.• Importation d’un WSDL et génération des classes Java.• Examen des descripteurs de déploiement.• Implémentation du service.• Création d’une WebApp publique pour héberger une JSP

(JavaServer Page).• Création d’une JSP appelant le service.• Implémentation du bean.• Utilisation du service hébergé publiquement chez XMethods.• Utilisation du moniteur TCP pour surveiller le message SOAP entre

le client et le service.• Utilisation du service hébergé localement.

Page 128: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

14-2 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 1 : C o n f i g u r a t i o n d u p r o j e t p o u r l e s s e r v i c e s W e b

Ce tutoriel est également disponible comme exemple dans le répertoire JBuilder : <jbuilder>/samples/webservices/axis/BasicWebService.

Ce tutoriel suppose que vous êtes familiarisé avec Java, les pages JavaServer (JSP) et l’EDI de JBuilder. Pour plus d’informations sur Java, voir Introduction à Java. Pour plus d’informations sur les pages JavaServer, voir “Développement des pages JavaServer” dans le Guide du développeur d’applications web. Pour plus d’informations sur l’EDI de JBuilder, voir “L’environnement de JBuilder” dans Introduction à JBuilder.

Pour obtenir des informations utiles sur la visualisation et l’impression des tutoriels, voir la section Tutoriels du fichier Astuces JBuilder. La section Options d’accessibilité des Astuces JBuilder contient des conseils permettant de simplifier l’accès aux fonctionnalités de JBuilder, destinés en particulier aux personnes ayant des difficultés.

Pour plus d’informations sur les conventions utilisées dans ce tutoriel et la documentation JBuilder en général, voir “Conventions de la documentation”, page 1-4.

Etape 1 : Configuration du projet pour les services WebAu cours de cette étape, vous allez créer un nouveau projet puis le configurer pour les services Web en utilisant l’expert Configuration des services Web. Cet expert crée une implémentation SOAP pour le projet qui est basée sur la boîte à outils sélectionnée : dans le cas présent, Axis. Il crée également une configuration d’exécution de serveur de services Web pour déployer et exécuter le service ou l’une de ses implémentations. Lorsqu’un service Web a été déployé sur le serveur de services Web, il peut échanger des messages SOAP XML avec les applications client.

1 Sélectionnez Fichier|Nouveau projet pour afficher l’expert projet.

2 Entrez wsdltutorial dans le champ Nom.

3 Cliquez sur le bouton Terminer pour fermer l’expert et créer le projet. Vous n’avez pas à modifier les valeurs par défaut des étapes 2 et 3 de l’expert. Un nouveau projet est créé.

4 Vérifiez sur la page Serveur de Propriétés du projet (Projet|Propriétés du projet) que le serveur du projet est Tomcat 4.0.

5 Choisissez Fichier|Nouveau puis l’onglet Services Web de la galerie d’objets.

6 Double-cliquez sur l’icône Configuration des services Web. Comme le nouveau projet ne contient pas d’application Web, vous devrez en créer une. Un serveur de services Web a besoin d’une application Web pour l’héberger.

Page 129: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : G é n é r a t i o n d ’ u n s e r v i c e W e b à p a r t i r d ’ u n d o c u m e n t W S D L 14-3

E t a p e 2 : I m p o r t a t i o n d u d o c u m e n t W S D L

7 Cliquez sur le bouton Nouveau à côté du champ WebApp pour ouvrir l’expert Application Web.

8 Tapez axis pour le nom et le répertoire de l’application Web.

9 Cliquez sur OK pour fermer l’expert Application Web, créer la WebApp axis et revenir à l’expert Configuration des services Web, qui a l’apparence suivante :

10 Acceptez axis comme WebApp et Apache Axis comme boîte à outils et cliquez sur Suivant pour voir la configuration d’exécution créée par l’expert, serveur de services Web.

11 Cliquez sur Terminer pour fermer l’expert Configuration des services Web et créer le serveur de services Web.

Etape 2 : Importation du document WSDLDans cette étape, vous allez ajouter un document WSDL au projet, puis générer des classes Java à partir du document WSDL en utilisant l’expert Importation d’un service Web. Le document WSDL décrit le service Web.

1 Cliquez sur le bouton Ajouter des fichiers/paquets de la barre d’outils projet.

2 Naviguez jusqu’à BabelFishService.wsdl dans <jbuilder>/samples/webservices/axis/BasicWebService. Sélectionnez-le et cliquez sur OK pour ajouter le fichier à votre projet. Ce document WSDL sera utilisé pour générer des classes Java implémentant le service Web.

3 Cliquez avec le bouton droit sur BabelFishService.wsdl dans le volet projet et choisissez Importer un service Web dans le menu contextuel pour ouvrir l’expert Importation d’un service Web.

4 Acceptez Apache Axis comme boîte à outils et cliquez sur OK.

Page 130: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

14-4 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 3 : E x a m e n d e s d e s c r i p t e u r s d e d é p l o i e m e n t

5 Acceptez l’URL WSDL à l’étape 1 et cliquez sur Suivant. Vous n’avez pas besoin de saisir de nom d’utilisateur ou de mot de passe.

6 Acceptez les valeurs par défaut sur toutes les autres pages et cliquez sur Terminer. Un nouveau nœud de paquet, net.xmethods.www, s’affiche dans le volet projet. Le nom du paquet est basé par défaut sur l’espace de nommage cible WSDL.

7 Développez le nœud du paquet net.xmethods.www dans le volet projet pour voir les fichiers générés.

• BabelFishBindingImpl.java est l’implémentation du service. Vous devez écrire votre code dans cette classe. Cette classe implémente BabelFishPortType.java.

• BabelFishBindingStub.java est le stub client qui sérialise l’appel et les paramètres Java dans SOAP.

• BabelFishPortType.java est une interface abstraite pour le service.

• BabelFishService.java est une interface abstraite qui définit une classe factory pour obtenir une instance de stub.

• BabelFishServiceLocator.java est l’implémentation de l’interface de service abstraite.

• BabelFishServiceTestCase.java est le cas de test JUnit pour le service. Pour plus d’informations sur les cas de test JUnit, voir “Test des unités” dans Construction d’applications avec JBuilder.

Pour plus d’informations sur les fichiers créés par l’expert, voir “Importation d’un WSDL”, page 7-6.

8 Choisissez Projet|Construire le projet pour compiler les classes générées.

Etape 3 : Examen des descripteurs de déploiementL’expert Importation d’un service Web crée plusieurs fichiers de déploiement : deploy.wsdd et server-config.wsdd. deploy.wsdd est un fichier XML descripteur de déploiement de services Web. Les valeurs contenues dans le fichier deploy.wsdd sont dérivées des informations du document WSDL. La boîte à outils Apache Axis crée un fichier de déploiement final, server-config.wsdd, composé de plusieurs déploiements séparés. Ce fichier énumère les services déployés et spécifie les gestionnaires, les transports, l’administration à distance, etc. Au cours de cette étape, vous allez examiner les descripteurs de déploiement dans l’éditeur.

1 Développez le nœud axis dans le volet projet puis développez son nœud fils, Composants service Web [boîte à outils Apache Axis].

Page 131: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : G é n é r a t i o n d ’ u n s e r v i c e W e b à p a r t i r d ’ u n d o c u m e n t W S D L 14-5

E t a p e 4 : I m p l é m e n t a t i o n d u s e r v i c e

2 Développez le nœud Services basés sur Java et double-cliquez sur [net.methods.www]deploy.wsdd pour ouvrir le fichier dans l’éditeur.

Remarquez ceci :

3 Développez le nœud Descripteurs de déploiement et double-cliquez sur server-config.wsdd pour ouvrir le fichier dans l’éditeur.

Notez les éléments suivants dans ce fichier de déploiement Axis final :

Etape 4 : Implémentation du serviceDans cette étape, vous allez remplacer le code généré dans BabelFishBindingImpl.java par un code implémentant le service Web. Vous écrirez votre code dans cette classe, qui implémente BabelFishPortType.java. BabelFishBindingImpl.java est l’implémentation du service, qui implémente l’interface PortType, BabelFishPortType.java. C’est là que vous entrez votre code pour implémenter le service web. Lorsque vous enverrez une requête pour traduction à cette implémentation locale du service, vous recevrez une réponse standard. Si vous choisissez Anglais vers français, la réponse standard sera “Désolé, je ne parle pas anglais”. Si vous choisissez une autre langue, la réponse standard sera “Désolé, je ne parle pas votre langue”.

1 Développez le nœud du paquet net.xmethods.www dans le volet projet et double-cliquez sur BabelFishBindingImpl pour l’ouvrir dans l’éditeur.

<service name="BabelFishPort"provider="java:RPC">

Le nom du service publié.

<parameter name="className"value="net.xmethods.www.BabelFishBindingImpl"/>

Le nom de la classe d’implémentation pour l’interface portType.

<parameter name="allowedMethods"value="babelFish"/>

La méthode publiée.

<handler name="" type=""/> Un gestionnaire utilisé pour le traitement des messages SOAP.

<parameter name="enableRemoteAdmin" value=""/>

Un paramètre qui indique s’il est possible d’accéder au service Axis à distance. Pour plus d’informations sur l’accès distant, voir “Accès aux serveurs Axis distants”, page 11-19.

<transport name=""> Utilisé pour envoyer et écouter des messages SOAP.

Page 132: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

14-6 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 5 : C r é a t i o n d e l ’ a p p l i c a t i o n W e b P u b l i c

2 Retirez le corps généré de la classe BabelFishBindingImpl et remplacez-le par le code indiqué en gras qui implémente le service et renvoie la traduction demandée :

public class BabelFishBindingImpl implements net.xmethods.www.BabelFishPortType {private String translatedOutput = "Désolé, je ne parle pas "; public java.lang.String babelFish(java.lang.String translationmode, java.lang.String sourcedata) throws java.rmi.RemoteException { if (translationmode.equals("en_fr")) translatedOutput = translatedOutput + " anglais"; else translatedOutput = translatedOutput + " votre langue"; return translatedOutput; }}

Plus loin dans ce tutoriel, vous utiliserez la JSP pour accéder au service local, IndexBean.java, en utilisant cette classe.

Etape 5 : Création de l’application Web PublicDans cette étape, vous allez créer une WebApp pour héberger la page JavaServer (JSP) que vous créerez à l’étape suivante.

1 Choisissez Fichier|Nouveau.

2 Cliquez sur l’onglet Web de la galerie d’objets et sélectionnez Application Web. Cliquez sur OK. L’expert application web apparaît.

3 Entrez Public pour le nom et le répertoire de l’application Web.

4 Cliquez sur OK pour fermer l’expert.

Etape 6 : Création d’une JSP appelant le service WebDans cette étape, vous allez utiliser l’expert JSP pour créer le squelette d’une JSP (JavaServer Page). Vous ajouterez ensuite un code JSP qui générera un formulaire pour interagir avec le service Web. Ce formulaire contient une zone de texte pour la saisie du texte à traduire, une liste déroulante des langues, une liste déroulante des serveurs vous permettant de choisir d’appeler le service Web chez XMethods ou le service local, un bouton de soumission et un bouton de réinitialisation.

1 Choisissez Fichier|Nouveau.

2 Cliquez sur l’onglet Web de la galerie d’objets puis double-cliquez sur l’icône Page JavaServer pour ouvrir l’expert JSP.

3 Assurez-vous que Public est sélectionnée comme WebApp.

Page 133: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : G é n é r a t i o n d ’ u n s e r v i c e W e b à p a r t i r d ’ u n d o c u m e n t W S D L 14-7

E t a p e 6 : C r é a t i o n d ’ u n e J S P a p p e l a n t l e s e r v i c e W e b

4 Tapez index comme nom de la JSP.

5 Vérifiez que l’option Générer un bean exemple est activée. L’expert JSP se présente ainsi :

6 Cliquez sur Suivant et désactivez Générer la fiche de soumission à l’étape 2.

7 Cliquez sur Suivant et entrez com.borland.demo.web comme nom de paquet de l’exemple de bean.

8 Vérifiez que le nom du bean est IndexBean. L’expert JSP se présente ainsi :

9 Cliquez sur Terminer.

10 Vérifiez que index.jsp est ouvert dans l’éditeur.

Page 134: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

14-8 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 6 : C r é a t i o n d ’ u n e J S P a p p e l a n t l e s e r v i c e W e b

11 Remplacez le contenu des balises <body></body> par le code JSP suivant :

<h1>Une JSP simple utilisant un service Web</h1><form method="post"><table> <tr> <td>Entrez le texte à traduire</td> <td><input name="inputParam" value="<jsp:getProperty name="indexBeanId" property="inputParam" />"></td> </tr> <tr> <td>Choisissez la langue dans laquelle le texte doit être traduit</td> <td><select name="inputOption"> <option value="en_fr">Anglais vers français <option value="en_de">Anglais vers allemand <option value="en_it">Anglais vers italien <option value="en_pt">Anglais vers portugais <option value="en_es">Anglais vers espagnol <option value="fr_en">Français vers anglais <option value="de_en">Allemand vers anglais <option value="it_en">Italien vers anglais <option value="pt_en">Portugais vers anglais <option value="ru_en">Russe vers anglais <option value="es_en">Espagnol vers anglais </select> </td> </tr> <tr> <td>Sélectionnez le serveur</td> <td><select name="serverOption"> <option value="public">Service hébergé publiquement chez XMethods <option value="local">Service hébergé localement que vous avez construit </select> </td> </tr></table><input type="submit" name="Submit" value="Soumettre"><input type="reset" value="Réinitialiser"></br></form>

<br>J’ai traduit votre texte</br><br><b>"<jsp:getProperty name="indexBeanId" property="inputParam"/>"</b></br><br>dans votre langue :</br><br><b>"<jsp:getProperty name="indexBeanId" property="outputParam"/>"</b></br>

Page 135: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : G é n é r a t i o n d ’ u n s e r v i c e W e b à p a r t i r d ’ u n d o c u m e n t W S D L 14-9

E t a p e 7 : I m p l é m e n t a t i o n d u b e a n

Etape 7 : Implémentation du beanDans cette étape, vous allez écrire du code pour implémenter la classe IndexBean créée par l’expert JSP à l’étape précédente. IndexBean.java définit les valeurs par défaut pour les zones de texte dans le formulaire, appelle le service par l’intermédiaire du stub client (BabelFishBindingStub.java), et envoie les informations de saisie utilisateur au service.

1 Dans le volet projet, développez le nœud de paquet com.borland.demo.web.

2 Double-cliquez sur IndexBean.java pour l’ouvrir dans l’éditeur.

3 Effacez le corps de la classe IndexBean et ajoutez le code présenté ci-dessous en gras :

package com.borland.demo.web;

import net.xmethods.www.*;import java.net.URL;

public class IndexBean {public static void main(String[] args){ BabelFishPortType ws = null; try {

ws = new BabelFishServiceLocator().getBabelFishPort (new URL("http://localhost:8080/axis/services/BabelFishPort")); System.out.println(ws.babelFish("en_fr", "Hello")); } catch (Exception ex) { ex.printStackTrace(); } }

private BabelFishPortType ws; private String outputParam; private String inputParam = "Hello"; private String inputOption = "en_fr"; private String serverOption = "public";

public String getInputParam() { return inputParam; } public String getInputOption() { return inputOption; }

public String getOutputParam() { try { if (serverOption.equals("public")) ws = new BabelFishServiceLocator().getBabelFishPort(); else

Page 136: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

14-10 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 8 : A p p e l d u s e r v i c e W e b e t s u r v e i l l a n c e d e s m e s s a g e s S O A P

ws = new BabelFishServiceLocator().getBabelFishPort (new URL("http://localhost:8080/axis/services/BabelFishPort")); outputParam = ws.babelFish(inputOption, inputParam); } catch (Exception ex) { ex.printStackTrace(); } return outputParam; } public void setInputParam(String newInput) { if (newInput!=null) { inputParam = newInput; } } public void setInputOption(String newOption) { if (newOption!=null) { inputOption = newOption; } }

public String getServerOption() { return serverOption; }

public void setServerOption(String newOption) { if (newOption!=null) { serverOption = newOption; } }

}

Notez que la méthode getOutputParam() prend l’option serveur entrée par l’utilisateur utilisant le service dans le formulaire JSP, et si elle vaut “public”, il appelle getBabelFishPort() où l’adresse est celle du service hébergé publiquement chez XMethods, “http://services.xmethods.net:80/perl/soaplite.cgi”. Si l’option serveur entrée par l’utilisateur n’est pas “public”, le service local est utilisé à la place à l’adresse "http://localhost:8080/axis/services/BabelFishPort".

Etape 8 : Appel du service Web et surveillance des messages SOAP

Vous allez maintenant compiler le projet et appeler le service Web. Tout d’abord, vous allez consommer le service hébergé publiquement sur le site Web XMethods. Vous consommerez ensuite le service que vous avez créé localement, et utiliserez le moniteur TCP pour surveiller les messages SOAP échangés entre le client et le service.

Page 137: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : G é n é r a t i o n d ’ u n s e r v i c e W e b à p a r t i r d ’ u n d o c u m e n t W S D L 14-11

E t a p e 8 : A p p e l d u s e r v i c e W e b e t s u r v e i l l a n c e d e s m e s s a g e s S O A P

1 Cliquez avec le bouton droit sur l’onglet du fichier index.jsp et choisissez dans le menu contextuel Exécution Web en utilisant “Serveur services Web”. Cette configuration d’exécution construit le projet puis démarre les deux applications Web : axis, qui héberge le service Web, et Public, qui contient la JSP utilisée pour accéder au service Web. Notez que “Serveur services Web” dans la commande Exécution Web du menu contextuel fait référence à une configuration d’exécution créée automatiquement pour vous par l’expert Configuration des services Web. Pour plus d’informations sur les configurations d’exécution, voir “Définition des configurations d’exécution” dans Construction d’applications avec JBuilder.

Le formulaire JSP se présente comme suit :

2 Entrez bon voyage dans la zone de texte et sélectionnez Français vers anglais dans la liste déroulante de la langue. Notez que le serveur sélectionné est un service hébergé publiquement chez XMethods.

3 Cliquez sur Soumettre pour envoyer au service le texte à traduire. La requête est envoyée à XMethods et la réponse traduite s’affiche en bas du formulaire : J’ai traduit votre texte "bon voyage" dans votre langue par "happy voyage".

Ensuite, vous consommerez le service local que vous avez créé à partir du WSDL et vous utiliserez le moniteur TCP pour surveiller les messages SOAP. Vous allez d’abord installer le moniteur TCP, modifier IndexBean.java pour envoyer des requêtes et des réponses au moniteur TCP en 8082, recompiler le projet puis consommer le service hébergé localement. Le moniteur TCP se situe entre le client SOAP et le serveur. Le client envoie sa requête au moniteur TCP, qui la transmet au serveur. Les réponses du serveur sont à leur tour envoyées au moniteur TCP, puis au client. Pour plus d’informations sur le moniteur TCP, voir Chapitre 4, “Surveillance des messages SOAP”. Si vous utilisez le moniteur TCP, vous avez besoin de modifier l’adresse du code client et le numéro de port pour échanger des messages avec le moniteur TCP sur le port d’écoute.

Page 138: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

14-12 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 8 : A p p e l d u s e r v i c e W e b e t s u r v e i l l a n c e d e s m e s s a g e s S O A P

1 Choisissez Outils|TCP Monitor pour ouvrir le moniteur TCP. Notez que le port par défaut pour l’écoute du moniteur TCP est 8082. Acceptez les valeurs par défaut et retournez à JBuilder en laissant le moniteur TCP ouvert.

2 Ouvrez IndexBean.java dans le nœud du paquet com.borland.demo.web et remplacez l’adresse de port http://localhost:8080/axis/services/BabelFishPort par le port écouté par le moniteur TCP : http://localhost:8082/axis/services/BabelFishPort. IndexBean.java, qui est le service local, doit recevoir les requêtes et envoyer les réponses au port écouté par le moniteur TCP, le port 8082.

3 Choisissez le bouton Réinitialiser le programme.

4 Choisissez Projet|Reconstruire le projet pour recompiler et inclure le changement de port que vous venez d’effectuer dans IndexBean.java.

5 Exécutez de nouveau index.jsp pour recharger le formulaire JSP.

Vous allez maintenant consommer le service local que vous avez créé à partir du WSDL et consulter les messages SOAP échangés entre le client et le service.

1 Revenez au formulaire index.jsp dans lequel vous avez entré le texte à traduire.

2 Entrez good evening dans la zone de texte.

3 Choisissez Anglais vers allemand dans la liste déroulante des langues.

4 Choisissez l’option de service hébergé localement dans la liste déroulante de serveur.

5 Cliquez sur le bouton Soumettre pour envoyer le texte au service hébergé localement. La traduction s’affiche sous le bouton Soumettre : "Désolé, je ne parle pas votre langue".

Page 139: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : G é n é r a t i o n d ’ u n s e r v i c e W e b à p a r t i r d ’ u n d o c u m e n t W S D L 14-13

E t a p e 8 : A p p e l d u s e r v i c e W e b e t s u r v e i l l a n c e d e s m e s s a g e s S O A P

6 Revenez au moniteur TCP et examinez les messages échangés entre le client et le service par le moniteur TCP. Vous pouvez utiliser le moniteur TCP pour modifier et renvoyer le message SOAP au serveur.

7 Modifiez la requête dans le volet de requête du moniteur TCP et renvoyez-la comme suit :

a Changez la langue dans l’élément <translationmode> pour passer de en_de à en_fr afin de choisir la langue française : <translationmode xsi:type="xsd:string">en_fr</translationmode>.

b Remplacez good evening dans l’élément <sourcedata> par goodbye : <sourcedata xsi:type="xsd:string">goodbye</sourcedata>

c Cliquez sur le bouton de réémission pour envoyer le message révisé. Le journal en haut du moniteur TCP montre que le message a été renvoyé, et une nouvelle réponse est également journalisée et affichée dans le volet de réponse. La réponse du service est

Page 140: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

14-14 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 8 : A p p e l d u s e r v i c e W e b e t s u r v e i l l a n c e d e s m e s s a g e s S O A P

maintenant : Désolé, je ne parle pas anglais. Le moniteur TCP a l’apparence suivante :

8 Arrêtez et fermez le moniteur TCP.

Félicitations ! Vous avez terminé le tutoriel et créé un service Web permettant de traduire des chaînes en utilisant BabelFish d’AltaVista. Vous avez aussi consommé le service sur le site de XMethod, consommé le service local que vous avez créé, et surveillé les messages SOAP entre le client et le serveur avec le moniteur TCP. Pour plus d’informations sur WSDL, voir Chapitre 5, “Utilisation de WSDL”. Pour plus d’informations sur la configuration de projets JBuilder pour les services web, voir Chapitre 3, “Configuration des projets pour les services Web”.

Page 141: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : C r é a t i o n d ’ u n s e r v i c e W e b à p a r t i r d ’ u n e a p p l i c a t i o n E J B a v e c B o r l a n d E n t e r p r i s e S e r v e r 15-1

C h a p i t r e

15Chapitre15Tutoriel : Création d’un service

Web à partir d’une application EJBavec Borland Enterprise Server

Ce tutoriel utilise desfonctionnalités de

JBuilder Entreprise. Laprise en charge de la

boîte à outils Apache Axisn’est pas prévue pour ce

serveur d’applicationavec l’édition WebLogic

de JBuilder

Ce tutoriel, qui suppose une bonne connaissance des Enterprise JavaBeans (EJB), montre comment créer un service Web à partir d’une application EJB en utilisant Borland Enterprise Server 5.0.2 – 5.1.x comme serveur d’applications et Axis comme boîte à outils des services Web. Il utilise un exemple du répertoire d’exemples JBuilder, <jbuilder>/samples/tutorials/webservices/EJBEmployeeBES/Employee.jpx. Cet exemple contient une application EJB qui accède à une base de données d’enregistrements d’employés.

Le tutoriel comprend les étapes suivantes :

• Installation du projet exemple.

• Création d’un serveur de services Web pour héberger le service.

• Déploiement du service Web sur le serveur de services Web et exportation d’une application EJB en tant que service Web.

• Génération des codes client et serveur à partir du WSDL.

• Test du service.

• Ecriture du client et utilisation du service.

Pour plus d’informations sur les EJB, voir le Guide du développeur Enterprise JavaBeans. Pour plus d’informations sur les services web et les EJB, voir Chapitre 6, “Développement d’EJB en tant que services Web”.

Pour obtenir des informations utiles sur la visualisation et l’impression des tutoriels, voir la section Tutoriels du fichier Astuces JBuilder.

Page 142: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

15-2 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 1 : I n s t a l l a t i o n d u p r o j e t e x e m p l e

La section Options d’accessibilité des Astuces JBuilder contient des conseils permettant de simplifier l’accès aux fonctionnalités de JBuilder, destinés en particulier aux personnes ayant des difficultés.

Pour plus d’informations sur les conventions utilisées dans ce tutoriel et la documentation JBuilder en général, voir “Conventions de la documentation”, page 1-4.

Etape 1 : Installation du projet exempleSi votre produit Borland Enterprise Server 5.0.2 – 5.1.x n’est pas encore configuré, voir “Configuration du serveur d’applications cible” dans le Guide du développeur Enterprise JavaBeans pour des instructions sur sa configuration.

1 Ouvrez le fichier exemple Employee.jpx situé dans <jbuilder>/samples/Tutorials/webservices/EJBEmployeeBES/.

2 Suivez toutes les instructions du fichier projet exemple EmployeeProject.html pour actualiser le serveur et vous connecter à la base de données avant d’effectuer l’étape suivante.

Etape 2 : Création d’un serveur de services Web et déploiement sur le serveur d’applications

A cette étape, vous utiliserez l’expert Configuration des services Web pour créer une configuration de services Web pour une WebApp hébergeant un serveur de services Web. Vous déploierez ensuite le service Web sur un fichier EAR. Lorsque vous effectuez un déploiement sur le serveur, JBuilder expose automatiquement tous les beans session stateless contenant des méthodes dans l’interface distante en tant que services Web.

1 Choisissez Fichier|Nouveau pour ouvrir la galerie d’objets.

2 Cliquez sur l’onglet Services Web et double-cliquez sur l’icône Configuration des services Web. L’expert Configuration des services Web configure une boîte à outils pour le service Web et génère un serveur de services Web pour l’héberger. Pour pouvoir configurer le projet, vous devez créer au préalable un EAR pour le déploiement de l’EJB et une WebApp pour héberger le serveur de services Web.

3 Créez une nouvelle archive EAR comme suit. Vous déploierez tout dans un fichier EAR, y compris le serveur de services Web Axis.

a Cliquez sur le bouton Nouveau situé à côté du champ EAR.

Page 143: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : C r é a t i o n d ’ u n s e r v i c e W e b à p a r t i r d ’ u n e a p p l i c a t i o n E J B a v e c B o r l a n d E n t e r p r i s e S e r v e r 15-3

E t a p e 2 : C r é a t i o n d ’ u n s e r v e u r d e s e r v i c e s W e b e t d é p l o i e m e n t s u r l e s e r v e u r

b Acceptez le nom par défaut Employee pour l’EAR, puis cliquez sur Suivant.

c Activez ejb20module dans l’onglet Modules EJB à l’étape 2 et cliquez sur Terminer pour revenir à l’expert Configuration des services Web.

4 Créez une nouvelle WebApp comme suit.

a Cliquez sur le bouton Nouveau à côté du champ WebApp.

b Entrez axis dans les champs Nom et Répertoire.

c Cliquez sur OK pour créer la WebApp et revenir à l’expert Configuration des services Web.

5 Choisissez Apache Axis comme boîte à outils et cliquez sur Suivant pour voir la configuration d’exécution du serveur de services Web qui sera créée par l’expert pour construire le projet et exécuter le serveur.

6 Cliquez sur Terminer pour fermer l’expert.

7 Développez le nouveau nœud WebApp Axis pour voir les nœuds et le fichier de déploiement générés par l’expert Configuration des services Web. Lorsque vous exécutez la configuration d’exécution du serveur de services Web créée par l’expert, tous les modules EJB et tous les beans session stateless du projet sont automatiquement déployés en tant que services Web. Vous pouvez changer les modules déployés sur la page Propriétés. Dans cet exemple, vous souhaitez exposer tous les éléments du projet, aussi n’effectuerez-vous aucune modification.

a Développez le nœud Composants service Web.

b Cliquez avec le bouton droit sur le nœud Services basés EJB et choisissez Propriétés. Vous verrez ici que le module EJB et le bean sont exposés en tant que services. Dans cet exemple, vous voulez exposer tous les éléments du projet.

c Acceptez les valeurs par défaut et cliquez sur OK pour fermer la boîte de dialogue.

Page 144: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

15-4 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 3 : G é n é r a t i o n d e s c o d e s c l i e n t e t s e r v e u r à p a r t i r d u W S D L

8 Enregistrez le projet et choisissez Projet|Construire le projet pour le construire.

9 Choisissez Outils|Agent de gestion Borland Enterprise Server. Cet agent doit être en cours d’exécution pour l’utilisation de Borland Enterprise Server.

10 Cliquez avec le bouton droit sur le nœud Employee.eargrp dans le volet projet et choisissez Exécuter en utilisant “Serveur services Web” pour exécuter le serveur avec la configuration d’exécution créée par l’expert Configuration des Services Web. Lorsque vous utilisez cette configuration d’exécution, les EJB sont automatiquement exportés en tant que services, le projet est construit et le service est déployé sur le serveur d’applications. Une fois le service en cours d’exécution, la page Apache Axis s’affiche dans le volet contenu.

11 Cliquez sur le lien View sur la page Apache-Axis pour confirmer le déploiement correct du service. Si vous obtenez le message “500 No context”, attendez l’exécution du serveur puis choisissez le bouton Actualiser sur la barre d’outils pour afficher la page Axis. Notez que toutes les méthodes de EmpSession sont déployées.

Le WSDL généré par la boîte à outils est également disponible ici. Cliquez sur le lien EmpSession (WSDL) pour consulter le WSDL.

Etape 3 : Génération des codes client et serveur à partir du WSDLMaintenant que vous avez déployé l’application EJB en tant que service Web, vous allez utiliser l’explorateur de services Web pour naviguer jusqu’au serveur Axis hébergeant le service, afficher le service EJB, importer le WSDL qui le décrit et générer le serveur, le client et les classes de test pour le service.

1 Choisissez Outils|Explorateur des services Web pour ouvrir l’explorateur de services Web.

Page 145: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : C r é a t i o n d ’ u n s e r v i c e W e b à p a r t i r d ’ u n e a p p l i c a t i o n E J B a v e c B o r l a n d E n t e r p r i s e S e r v e r 15-5

E t a p e 4 : T e s t d u s e r v i c e

2 Développez le nœud Serveurs WSDL et sélectionnez le nœud par défaut dans l’arborescence.

3 Acceptez l’URL par défaut pour le serveur sur la page Détails, http://localhost:8080/axis/servlet/AxisServlet si vous exécutez sur le port 8080, ou modifiez le numéro du port.

4 Cliquez sur le bouton Afficher les services pour afficher le nouveau service EJB dans l’arborescence, EmpSession.

5 Sélectionnez le service EJB EmpSession dans l’arborescence et cliquez sur le bouton Importer un service Web pour ouvrir l’expert Importation d’un service Web qui importe le WSDL et génère les classes Java à partir de ce WSDL.

6 Effectuez les opérations suivantes dans l’expert :

a Choisissez Apache Axis comme boîte à outils et cliquez sur OK.

b Acceptez l’URL WSDL et cliquez sur Suivant. Dans cet exemple, vous ne devez pas remplir les champs Nom d’utilisateur et Mot de passe.

c Cochez Générer les classes skeleton. Cette option crée un client pour utiliser le service.

d Cliquez sur Suivant et changez le nom du paquet de localhost en com.borland.samples.emp.webservices.

e Acceptez toutes les autres valeurs par défaut de l’expert. Notez que l’option Générer le cas de test JUnit est activée. Plus tard dans ce tutoriel, vous utiliserez ce cas de test pour tester le service.

f Cliquez sur Terminer.

g Développez le nœud com.borland.samples.emp.webservices dans le volet projet pour voir les fichiers générés par l’expert.

Pour plus d’informations sur les fichiers générés par l’expert Importation d’un service Web, voir “Importation d’un WSDL”, page 7-6.

Etape 4 : Test du serviceA cette étape, vous ajouterez du code au test JUnit généré par l’expert et vous testerez le service. Vous ajouterez tout d’abord de nouvelles informations sur les employés à la méthode test6EmpSessionAddEmployee(). Vous ajouterez ensuite du code à la méthode test7EmpSessionUpdateEmployeeInfo().

1 Développez le nœud du paquet com.borland.samples.emp.webservices et double-cliquez sur EmpSessionServiceTestCase.java pour l’ouvrir dans l’éditeur.

Page 146: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

15-6 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 5 : E c r i t u r e d u c l i e n t e t u t i l i s a t i o n d u s e r v i c e

2 Modifiez le transtypage short dans la méthode test5EmpSessionGetByEmpNo() pour le passer de 0 à 2. Il existe dans la base de données un employé numéro 2 mais pas d’employé numéro 0 :

try { com.borland.samples.emp.data.EmployeeInfo value = null; value = binding.getByEmpNo((short)2); }

3 Ajoutez à la méthode test6EmpSessionAddEmployee() les nouvelles données d’employé indiquées en gras :

try { boolean value = false; com.borland.samples.emp.data.EmployeeInfo empInfo = new com.borland.samples.emp.data.EmployeeInfo(); empInfo.setEmpNo(new Short((short)301)); empInfo.setFirstName("Jim"); empInfo.setLastName("Shorts"); empInfo.setFullName("Shorts, Jim"); value = binding.addEmployee(empInfo); }

4 Ajoutez à la méthode test7EmpSessionUpdateEmployeeInfo() le code suivant indiqué en gras :

try { boolean value = false; com.borland.samples.emp.data.EmployeeInfo empInfo = new com.borland.samples.emp.data.EmployeeInfo(); empInfo.setFirstName("Sally"); empInfo.setEmpNo(new Short((short)2)); value = binding.updateEmployeeInfo(empInfo); }

5 Cliquez avec le bouton droit sur EmpSessionServiceTestCase.java dans le volet projet et choisissez Exécuter le test en utilisant les valeurs par défaut pour effectuer le test du service. Le projet se construit puis les tests s’exécutent. Notez la réussite des tests. Pour plus d’informations sur les cas de test JUnit, voir “Test des unités” dans Construction d’applications avec JBuilder.

6 Fermez l’onglet EmpSessionServiceTestCase dans le volet message.

Etape 5 : Ecriture du client et utilisation du serviceVous allez ensuite écrire un client simple qui lira tous les enregistrements d’employés de la base de données et les enverra au volet message. Une seule méthode sera nécessaire, la méthode empSessionGetAllEmployees().

1 Choisissez Fichier|Nouvelle classe pour ouvrir l’expert Classe.

2 Entrez com.borland.samples.emp.client dans le champ Paquet.

Page 147: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : C r é a t i o n d ’ u n s e r v i c e W e b à p a r t i r d ’ u n e a p p l i c a t i o n E J B a v e c B o r l a n d E n t e r p r i s e S e r v e r 15-7

E t a p e 5 : E c r i t u r e d u c l i e n t e t u t i l i s a t i o n d u s e r v i c e

3 Entrez Client dans le champ Nom de classe.

4 Effacez le contenu de Client.java et remplacez-le par le code suivant :

package com.borland.samples.emp.client;

public class Client { public static void empSessionGetAllEmployees() { com.borland.samples.emp.webservices.EmpSession binding;

try { binding = new com.borland.samples.emp. webservices.EmpSessionServiceLocator().getEmpSession(); } catch (javax.xml.rpc.ServiceException jre) { jre.printStackTrace(); return; } try { com.borland.samples.emp.data.EmployeeInfo[] value = null; value = binding.getAllEmployees(); if (value != null) { for (int i=0; i < value.length; i++) { System.out.println(value[i]); } } } catch (java.rmi.RemoteException re) { re.printStackTrace(); return; } } public static void main(String[] args) { empSessionGetAllEmployees(); }}

Le client doit rechercher la liaison du service, qui est située dans la classe Locator. Notez que la première instruction try spécifie la liaison pour le service et appelle la classe Locator. La classe Locator est l’implémentation serveur côté client de l’interface du service.

try { binding = new com.borland.samples.emp. webservices.EmpSessionServiceLocator().getEmpSession(); }

5 Cliquez avec le bouton droit sur Client.java dans le volet projet et choisissez Exécuter en utilisant Client. Les enregistrements d’employés sont envoyés au volet message.

Vous pouvez également ajouter d’autres méthodes au client pour obtenir davantage d’informations sur les employés.

Page 148: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

15-8 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 5 : E c r i t u r e d u c l i e n t e t u t i l i s a t i o n d u s e r v i c e

Une fois l’application EJB déployée et le service Web créé et testé, vous pouvez le publier dans un registre UDDI à partir d’un serveur Axis. Pour plus d’informations, voir “Publication de services Web à partir d’un serveur Axis”, page 11-26.

Félicitations ! Vous avez terminé le tutoriel. Vous avez configuré le projet pour les services Web, automatiquement exporté une application EJB en tant que service Web, déployé le service vers un serveur services Web, avant de l’héberger sur un serveur Axis puis de le tester.

Page 149: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : I m p o r t a t i o n d ’ u n s e r v i c e W e b e n t a n t q u ’ a p p l i c a t i o n E J B 16-1

C h a p i t r e

16Chapitre16Tutoriel : Importation

d’un service Weben tant qu’application EJB

Ce tutoriel utilise desfonctionnalités de

JBuilder Entreprise. Laprise en charge de la

boîte à outils Apache Axisn’est pas prévue pour ce

serveur d’applicationavec l’édition WebLogic

de JBuilder

Ce tutoriel, qui suppose une bonne connaissance des Enterprise JavaBeans (EJB), montre comment créer une application EJB à partir d’un service Web existant en utilisant Borland Enterprise Server 5.0.2 – 5.1.x comme serveur d’applications. Il utilise un exemple de document WSDL (Web Services Description Language) situé dans le répertoire samples de JBuilder, <jbuilder>/samples/tutorials/webservices/wsdl.

Le tutoriel comprend les étapes suivantes :

• Ajout d’un document WSDL au projet.

• Création d’une application EJB à partir du WSDL.

• Test de l’application EJB.

Pour plus d’informations sur les EJB, voir le Guide du développeur Enterprise JavaBeans. Pour plus d’informations sur les services web et les EJB, voir Chapitre 6, “Développement d’EJB en tant que services Web”.

Pour obtenir des informations utiles sur la visualisation et l’impression des tutoriels, voir la section Tutoriels du fichier Astuces JBuilder. La section Options d’accessibilité des Astuces JBuilder contient des conseils permettant de simplifier l’accès aux fonctionnalités de JBuilder, destinés en particulier aux personnes ayant des difficultés.

Pour plus d’informations sur les conventions utilisées dans ce tutoriel et la documentation JBuilder en général, voir “Conventions de la documentation”, page 1-4.

Page 150: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

16-2 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 1 : A j o u t d ’ u n d o c u m e n t W S D L a u p r o j e t

Etape 1 : Ajout d’un document WSDL au projetAu cours de cette étape, vous allez créer un nouveau projet, spécifier Borland Enterprise Server 5.0.2 – 5.1.x comme serveur et ajouter un WSDL à votre projet. Si votre produit Borland Enterprise Server 5.0.2 – 5.1.x n’est pas encore configuré, voir “Configuration du serveur d’applications cible” dans le Guide du développeur Enterprise JavaBeans pour des instructions sur sa configuration.

1 Choisissez Fichier|Nouveau projet pour ouvrir l’expert projet.

2 Entrez interop comme nom de projet et cliquez sur OK.

3 Configurez le projet pour utiliser Borland Enterprise Server. Le serveur doit être configuré (Outils|Configurer les serveurs) pour apparaître dans la liste des serveurs.

a Choisissez Projet|Propriétés du projet et cliquez sur la page Serveur.

b Choisissez Borland Enterprise Server AppServer Edition 5.0.2 – 5.1.x dans la liste déroulante des serveurs et cliquez sur OK.

4 Choisissez Projet|Ajouter des fichiers/paquets et naviguez jusqu’à InteropTest.wsdl dans <jbuilder>/samples/webservices/axis/wsdl.

5 Cliquez sur OK pour ajouter le WSDL à votre projet.

Etape 2 : Création d’une application EJB à partir du WSDLVous allez maintenant importer le WSDL et utiliser l’expert Importation d’un service Web pour générer une application EJB à partir du WSDL.

1 Cliquez avec le bouton droit sur InteropTest.wsdl dans le volet projet et sélectionnez Importer un service Web pour ouvrir l’expert Importation d’un service Web.

2 Choisissez Apache Axis comme boîte à outils et cliquez sur OK.

3 Acceptez InteropTest.wsdl comme URL WSDL et cliquez sur Suivant. Nom utilisateur et mot de passe ne sont pas nécessaires.

Page 151: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : I m p o r t a t i o n d ’ u n s e r v i c e W e b e n t a n t q u ’ a p p l i c a t i o n E J B 16-3

E t a p e 3 : T e s t d e l ’ a p p l i c a t i o n E J B

4 Choisissez En tant qu’EJB dans la liste déroulante Implémentation à l’étape 2 et cliquez sur Suivant.

5 Acceptez les valeurs par défaut de l’étape 3 et cliquez sur Suivant.

6 Cliquez sur Nouveau à l’étape 4 pour ouvrir l’expert Module EJB et créez un module EJB pour l’application EJB.

7 Acceptez le nom par défaut pour le module, choisissez Compatible EJB 2.0 comme version, et cliquez sur OK pour fermer l’expert Module EJB.

8 Cliquez sur Terminer dans l’expert Importation d’un service Web.

L’expert Importation d’un service Web crée une application EJB, ainsi que l’implémentation côté serveur du service Web à partir du WSDL. Développez le paquet org.soapinterop dans le volet projet pour voir les fichiers EJB générés. Notez également qu’un module EJB a été créé.

Etape 3 : Test de l’application EJBAu cours de cette étape, vous allez créer un client de test EJB et l’implémenter pour tester l’application EJB.

1 Choisissez Fichier|Nouveau|Entreprise et double-cliquez sur l’icône Client test EJB.

2 Choisissez Application comme type de client de test.

3 Cliquez sur Suivant.

4 Acceptez toutes les valeurs par défaut et cliquez sur Terminer. Le client de test InteropSessionPortTypeTestClient1.java est créé dans le paquet org.soapinterop.

Page 152: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

16-4 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 3 : T e s t d e l ’ a p p l i c a t i o n E J B

5 Modifiez la méthode main() de InteropSessionPortTypeTestClient1.java, en ajoutant le code en gras ci-après :

public static void main(String[] args) { InteropTestPortTypeSessionTestClient1 client = new InteropTestPortTypeSessionTestClient1(); client.create(); client.echoString("Test");}

6 Ouvrez InteropTestPortTypeSessionBean.java dans l’éditeur et implémentez la méthode echoString() pour renvoyer une valeur.

public java.lang.String echoString(java.lang.String inputString) throws java.rmi.RemoteException { return inputString; }

7 Exécutez le serveur :

a Choisissez Outils|Agent de gestion Borland Enterprise Server.

b Cliquez avec le bouton droit sur le module EJB et choisissez Exécuter en utilisant les valeurs par défaut.

8 Cliquez avec le bouton droit sur InteropTestPortTypeSessionTestClient1.java dans le volet projet et choisissez Exécuter en utilisant InteropTestPortTypeSessionTestClient1 pour exécuter le client de test. La valeur de retour s’affiche dans le volet message.

Valeur renvoyée depuis echoString(Test): Test.

Félicitations ! Vous avez terminé le tutoriel. Vous avez créé une application EJB à partir d’un WSDL, généré les classes côté serveur avec l’expert Importation d’un service Web, et créé puis exécuté un cas de test EJB.

Page 153: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : C r é a t i o n d ’ u n s e r v i c e W e b s i m p l e a v e c W e b L o g i c 17-1

C h a p i t r e

17Chapitre17Tutoriel : Création d’un service

Web simple avec WebLogicCe tutoriel utilise des

fonctionnalités deJBuilder Entreprise.

Ce tutoriel vous apprend à utiliser l’expert Exportation en tant que service Web pour exporter un JavaBean en tant que service Web, créer un WSDL pour décrire le service et créer un serveur de services Web en utilisant le serveur WebLogic pour héberger le service et la boîte à outils WebLogic pour le générer.

Dans ce tutoriel, vous allez effectuer les tâches suivantes :

• Création d’un exemple de JavaBean.

• Exportation de l’exemple de bean en tant que service Web et configuration du projet pour les services Web.

• Déploiement et exécution du service.

• Test du service dans un navigateur Web.

• Ecriture d’un client pour tester le service.

Ce tutoriel suppose que vous êtes familiarisé avec Java et avec l’EDI de JBuilder. Pour plus d’informations sur Java, voir Introduction à Java. Pour plus d’informations sur l’EDI de JBuilder, voir “L’environnement de JBuilder” dans Introduction à JBuilder.

Pour plus d’informations sur le serveur WebLogic et les services Web, consultez la documentation BEA sur le site http://edocs.bea.com/wls/docs70/webservices.html.

Pour obtenir des informations utiles sur la visualisation et l’impression des tutoriels, voir la section Tutoriels du fichier Astuces JBuilder. La section Options d’accessibilité des Astuces JBuilder contient des conseils permettant de simplifier l’accès aux fonctionnalités de JBuilder, destinés en particulier aux personnes ayant des difficultés.

Page 154: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

17-2 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 1 : C r é a t i o n d ’ u n e x e m p l e d e J a v a B e a n

Pour plus d’informations sur les conventions utilisées dans ce tutoriel et la documentation JBuilder en général, voir “Conventions de la documentation”, page 1-4.

Etape 1 : Création d’un exemple de JavaBeanAu cours de cette étape, vous allez créer un nouveau projet en utilisant l’expert Projet, et spécifier WebLogic comme serveur. Vous créerez ensuite un JavaBean que vous exporterez comme service Web.

1 Sélectionnez Fichier|Nouveau projet pour afficher l’expert projet.

2 Entrez exportbean dans le champ Nom.

Important Assurez-vous de créer le projet dans un répertoire dont le nom ne comporte aucun espace, sans quoi le serveur WebLogic pourra générer des erreurs.

3 Cliquez sur le bouton Terminer pour fermer l’expert et créer le projet. Vous n’avez pas à modifier les valeurs par défaut des étapes 2 et 3 de l’expert.

4 Choisissez Projet|Propriétés du projet, cliquez sur l’onglet Serveur et choisissez WebLogic Application Server 7.x comme serveur pour le projet. Si vous ne le voyez pas dans la liste, activez WebLogic 7.x Server dans la boîte de dialogue de configuration des serveurs (Outils|Configurer les serveurs).

5 Choisissez Fichier|Nouveau pour afficher la galerie d’objets et choisissez l’onglet Général.

6 Sélectionnez JavaBean et cliquez sur OK pour lancer l’expert JavaBean.

7 Choisissez java.lang.Object comme classe de base, cochez Générer la propriété exemple et acceptez toutes les autres valeurs par défaut.

8 Cliquez sur OK pour fermer l’expert. Un fichier Bean1.java est généré dans le paquet exportbean.

Etape 2 : Exportation de l’exemple de bean en tant que service WebDans cette étape, vous allez configurer le projet pour les services Web et utiliser l’expert Exportation en tant que service Web pour exporter le bean en tant que service Web. L’expert exposera toutes les méthodes de bean du service et créera un fichier de déploiement de services Web.

1 Cliquez avec le bouton droit sur Bean1.java dans le volet projet et sélectionnez Exporter en tant que service Web dans le menu contextuel. Comme votre projet n’est pas encore configuré pour les services Web, l’expert Configuration des services Web s’affiche pour vous permettre

Page 155: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : C r é a t i o n d ’ u n s e r v i c e W e b s i m p l e a v e c W e b L o g i c 17-3

E t a p e 2 : E x p o r t a t i o n d e l ’ e x e m p l e d e b e a n e n t a n t q u e s e r v i c e W e b

de créer une WebApp pour héberger le service Web et un EAR pour le service Web. Une fois le projet configuré, l’expert Exportation en tant que service Web apparaît.

2 Configurez le projet pour les services Web en utilisant l’expert Configuration des services Web comme suit :

a Choisissez le bouton Nouveau à côté du champ EAR pour créer un EAR avec l’expert EAR.

b Acceptez exportbean comme nom par défaut pour l’EAR et cliquez sur Terminer pour revenir à l’expert Configuration des services Web.

c Choisissez WebLogic dans la liste déroulante Boîte à outils.

d Choisissez le bouton Nouveau à côté du champ WebApp pour créer une WebApp avec l’expert Application Web. Une WebApp est nécessaire pour héberger le service.

e Acceptez web-services comme nom et répertoire pour la WebApp et cliquez sur OK pour revenir à l’expert Configuration des services Web. L’expert Configuration des services Web devrait avoir l’apparence suivante :

f Cliquez sur Suivant dans l’expert Configuration des services Web pour voir la configuration d’exécution du serveur de services Web créée par l’expert. Vous utiliserez cette configuration d’exécution plus loin pour exécuter le projet.

g Cliquez sur Terminer pour fermer l’expert Configuration des services Web et continuer avec l’expert Exportation en que service Web.

Maintenant que vous avez configuré le projet pour les services Web, vous allez utiliser l’expert Exportation en tant que service Web pour exporter la

Page 156: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

17-4 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 2 : E x p o r t a t i o n d e l ’ e x e m p l e d e b e a n e n t a n t q u e s e r v i c e W e b

classe en tant que service Web. L’expert Exportation en tant que service Web a l’apparence suivante :

1 Acceptez les valeurs par défaut à l’étape 1 de l’expert, comme la classe à exporter, l’EAR et la WebApp. Notez que l’option Générer un stub client est activée. Lorsque cette option est activée, l’expert génère un JAR client contenant les classes Java, les stubs et les interfaces nécessaires à une application client pour appeler le service.

2 Cliquez sur Suivant pour aller à l’étape 2.

3 Acceptez toutes les autres valeurs par défaut et notez que le nom du ServiceURI est exportbean. Vous utiliserez ServiceURI plus loin pour tester le service déployé.

4 Continuez avec l’étape 4 pour voir les noms par défaut du paquet et du JAR client généré pour le service : exportbean.generated et Bean1_client.jar.

5 Cliquez sur Terminer pour fermer l’expert et générer le service Web.

6 Développez le nœud WebApp des services Web et développez le nœud Composants services Web créé par l’expert Configuration des services Web. Développez ensuite le nœud Services basés sur Java pour voir le fichier de déploiement WLDU créé par l’expert. Ce fichier de déploiement fournit les informations de déploiement des services Web pour le serveur WebLogic, comme le nom de l’EAR, le WAR et la classe à exporter. Lorsque vous déployez le service sur le serveur, il utilise les informations de déploiement pour créer le service Web et le WSDL à partir de la classe sélectionnée.

Page 157: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : C r é a t i o n d ’ u n s e r v i c e W e b s i m p l e a v e c W e b L o g i c 17-5

E t a p e 3 : E x é c u t i o n d u s e r v e u r e t d é p l o i e m e n t d u s e r v i c e

7 Développez le nœud GeneratedWebServicesClients et double-cliquez sur le Bean1_client.jar créé par l’expert pour voir son contenu dans le volet structure.

8 Développez les nœuds exportbean et generated dans le volet structure pour voir les classes et le WSDL générés par la boîte à outils WebLogic.

Etape 3 : Exécution du serveur et déploiement du serviceDans cette étape, vous allez exécuter le serveur WebLogic en utilisant la configuration d’exécution du serveur de services Web et déployer le service sur le serveur.

1 Choisissez Exécuter|Exécuter le projet pour exécuter le serveur. Lorsque vous exécutez le projet, il utilise la configuration d’exécution créée par l’expert Configuration des services Web, serveur des services Web. Cette configuration d’exécution construit le projet et exécute le serveur WebLogic en tant que serveur de services Web. Pour plus d’informations sur les configurations d’exécution, voir “Définition de configurations d’exécution” dans Construction d’applications avec JBuilder.

2 Cliquez avec le bouton droit de la souris sur le nœud exportbean.eargrp après l’exécution du serveur et choisissez Options de déploiement|Déployer pour déployer le service sur le serveur WebLogic.

Important Si vous apportez des modifications à Bean1.java après l’avoir exporté, vous devrez recompiler, exporter à nouveau en tant que service Web et redéployer pour que les modifications soient prises en compte.

Etape 4 : Test du service déployéVous pouvez tester votre service déployé sur la page d’accueil des services Web WebLogic dans un navigateur Web.

1 Ouvrez un navigateur Web et entrez http://localhost:7001/web-services/exportbean où le service a été déployé sur le serveur. Le port sur lequel le serveur s’exécute est spécifié dans la configuration d’exécution du serveur de services Web dans la page Exécuter de Propriétés du projet. Pour voir les paramètres de la configuration d’exécution du serveur de services Web, choisissez Exécuter|Configurations.

Les méthodes exposées dans la classe s’affichent sur la page d’accueil des services Web WebLogic : il s’agit des méthodes getSample() et setSample(). A cet emplacement, vous pouvez aussi cliquer sur le lien de description des services pour voir le WSDL généré. La page d’accueil

Page 158: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

17-6 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 5 : E c r i t u r e d ’ u n c l i e n t p o u r t e s t e r l e s e r v i c e

dispose également d’un exemple de code pour l’appel du service, que vous pouvez copier, modifier et utiliser pour tester le service que vous venez de déployer.

2 Cliquez sur le lien setSample et notez que la valeur setSample est initialisée à “sample string”.

3 Choisissez le bouton d’appel pour voir la requête et la réponse SOAP du serveur.

4 Revenez à la première page, cliquez sur le lien getSample puis sur le bouton d’appel pour obtenir la valeur de l’exemple. La réponse du serveur renvoie la valeur “sample string”.

5 Revenez à la première page et cliquez sur le lien de description des services pour voir le WSDL généré pour le service. Les méthodes getSample() et setSample() sont toutes deux exposées comme opérations dans la description du service.

Etape 5 : Ecriture d’un client pour tester le serviceEcrivez ensuite un client pour tester le service Web exporté.

1 Revenez à la première page de la page d’accueil de test et copiez l’exemple de code appelant le service :

import {package}.Bean1; ...

String wsdlUrl = "http://localhost:7001/web-services/exportbean?WSDL"; Bean1 service = new Bean1_Impl( wsdlUrl ); Bean1Port port = service.getBean1Port();

result = port.getSample( ... );

2 Choisissez Fichier|Nouvelle classe pour créer une nouvelle classe.

3 Entrez test dans le champ Paquet.

4 Entrez Test dans le champ Nom de classe.

5 Activez Créer la méthode main.

6 Désactivez Créer un constructeur par défaut.

7 Cliquez sur OK pour créer la nouvelle classe de test.

8 Collez l’exemple de code dans la classe et modifiez-le comme suit :

package test;

import exportbean.generated.*;import java.io.*;

public class Test {

Page 159: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : C r é a t i o n d ’ u n s e r v i c e W e b s i m p l e a v e c W e b L o g i c 17-7

E t a p e 5 : E c r i t u r e d ’ u n c l i e n t p o u r t e s t e r l e s e r v i c e

public static void main(String[] args) {

try { String wsdlUrl = "http://localhost:7001/web-services/exportbean?WSDL"; Bean1 service = new Bean1_Impl(wsdlUrl); Bean1Port port = service.getBean1Port();

System.out.println("Le résultat est "+ port.getSample()); } catch (IOException ex) { ex.printStackTrace(); } }}

9 Cliquez avec le bouton droit sur Test.java dans le volet projet et choisissez Exécuter en utilisant les valeurs par défaut. Le résultat s’affiche dans le volet message : Le résultat est Sample.

Félicitations ! Vous avez terminé le tutoriel. Vous avez exporté un JavaBean en tant que service Web, vous l’avez déployé sur le serveur WebLogic, vous l’avez testé sur la page d’accueil de services Web WebLogic, et vous avez créé un client pour le tester. Pour plus d’informations sur la boîte à outils WebLogic, voir Chapitre 8, “Utilisation de la boîte à outils WebLogic”.

Page 160: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

17-8 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

Page 161: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : C r é a t i o n d ’ u n s e r v i c e W e b à p a r t i r d ’ u n e a p p l i c a t i o n E J B a v e c l e s e r v e u r W e b L o g i c 18-1

C h a p i t r e

18Chapitre18Tutoriel : Création d’un service

Web à partir d’une applicationEJB avec le serveur WebLogic

Ce tutoriel utilise desfonctionnalités de

JBuilder Entreprise.

Ce tutoriel, qui suppose une bonne connaissance des Enterprise JavaBeans (EJB), montre comment créer un service Web à partir d’une application EJB en utilisant WebLogic Application Server 7.x comme serveur d’applications. Il utilise un exemple du répertoire samples de JBuilder, <jbuilder>/samples/tutorials/webservices/EJBEmployeeWL/Employee.jpx. Cet exemple contient une application EJB qui accède à une base de données d’enregistrements d’employés.

Le tutoriel comprend les étapes suivantes :

• Configuration du projet pour les services Web.

• Déploiement d’une application EJB en tant que service Web.

• Génération du code côté client à partir du WSDL

• Ecriture de l’application client pour utiliser le service en local.

Pour plus d’informations sur les EJB, voir le Guide du développeur Enterprise JavaBeans. Pour plus d’informations sur les services web et les EJB, voir Chapitre 6, “Développement d’EJB en tant que services Web”.

Pour obtenir des informations utiles sur la visualisation et l’impression des tutoriels, voir la section Tutoriels du fichier Astuces JBuilder. La section Options d’accessibilité des Astuces JBuilder contient des conseils permettant de simplifier l’accès aux fonctionnalités de JBuilder, destinés en particulier aux personnes ayant des difficultés.

Page 162: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

18-2 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 1 : I n s t a l l a t i o n d u p r o j e t

Pour plus d’informations sur les conventions utilisées dans ce tutoriel et la documentation JBuilder en général, voir “Conventions de la documentation”, page 1-4.

Etape 1 : Installation du projetSi votre produit WebLogic Server 7.x n’est pas encore configuré, voir “Configuration du serveur d’applications cible” dans le Guide du développeur Enterprise JavaBeans pour des instructions sur sa configuration.

1 Ouvrez l’exemple Employee.jpx situé dans <jbuilder>/samples/Tutorials/webservices/EJBEmployeeWL/.

2 Suivez toutes les instructions de l’exemple de fichier projet EmployeeProject.html pour actualiser le serveur, ajouter les bibliothèques nécessaires, vous connecter à la base de données et créer une source de données transactionnelle WebLogic avant d’effectuer l’étape suivante.

Etape 2 : Configuration du projet pour les services WebA cette étape, vous utiliserez l’expert Configuration des services Web pour créer une configuration de services Web pour une WebApp hébergeant un serveur de services Web.

1 Choisissez Fichier|Nouveau pour ouvrir la galerie d’objets.

2 Cliquez sur l’onglet Services Web et double-cliquez sur l’icône Configuration des services Web. L’expert Configuration des services Web configure une boîte à outils pour le service Web et génère un serveur de services Web pour l’héberger. Pour pouvoir configurer le projet, vous devez créer au préalable un EAR pour le déploiement de l’EJB et une WebApp pour héberger le serveur de services Web.

3 Créez une nouvelle archive EAR comme suit. Vous déploierez tout dans un fichier EAR.

a Cliquez sur le bouton Nouveau situé à côté du champ EAR.

b Acceptez le nom par défaut Employee pour l’EAR, puis cliquez sur Suivant.

c Activez ejb20module dans l’onglet Modules EJB à l’étape 2 et cliquez sur Terminer pour revenir à l’expert Configuration des services Web.

4 Choisissez WebLogic comme boîte à outils et cliquez sur Suivant pour voir la configuration d’exécution du serveur de services Web qui sera créée par l’expert pour construire le projet et exécuter le serveur WebLogic.

Page 163: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : C r é a t i o n d ’ u n s e r v i c e W e b à p a r t i r d ’ u n e a p p l i c a t i o n E J B a v e c l e s e r v e u r W e b L o g i c 18-3

E t a p e 3 : D é p l o i e m e n t d e l ’ E J B e n t a n t q u e s e r v i c e W e b

5 Créez une nouvelle WebApp comme suit.

a Cliquez sur le bouton Nouveau à côté du champ WebApp.

b Acceptez web-services dans les champs Nom et Répertoire et cliquez sur OK pour créer la WebApp et revenir à l’expert Configuration des services Web.

6 Cliquez sur Terminer pour fermer l’expert.

Etape 3 : Déploiement de l’EJB en tant que service WebAu cours de cette étape, vous déploierez l’EJB en tant que service Web dans un fichier EAR. Lorsque vous effectuez un déploiement sur le serveur WebLogic, JBuilder expose automatiquement tous les beans session stateless contenant des méthodes dans l’interface distante en tant que services Web.

1 Développez le nouveau nœud WebApp web-services pour voir les nœuds et le fichier de déploiement générés par l’expert Configuration des services Web. Lorsque vous exécutez la configuration d’exécution du serveur de services Web créée par l’expert, tous les modules EJB et tous les beans session stateless du projet sont automatiquement déployés en tant que services Web. Vous pouvez changer les modules déployés sur la page Propriétés. Dans cet exemple, vous souhaitez exposer tous les éléments du projet, aussi n’effectuerez-vous aucune modification.

a Développez le nœud Composants service Web.

b Cliquez avec le bouton droit sur le nœud Services basés EJB et choisissez Propriétés. Vous verrez ici que le module EJB et le bean sont exposés en tant que services. Dans cet exemple, vous voulez exposer tous les éléments du projet.

c Acceptez les valeurs par défaut et cliquez sur OK pour fermer la boîte de dialogue.

Page 164: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

18-4 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 4 : G é n é r a t i o n d u c o d e c ô t é c l i e n t à p a r t i r d u W S D L

2 Choisissez Projet|Construire le projet pour construire le projet.

3 Démarrez le serveur en cliquant sur la flèche déroulante à côté du bouton Exécuter de la barre d’outils principale puis en choisissant Serveur services Web. Cette configuration d’exécution construit le projet, déploie automatiquement les EJB et démarre le serveur WebLogic.

4 Cliquez avec le bouton droit sur le nœud Employee.eargrp dans le volet projet et choisissez Options de déploiement|Déployer pour déployer le service sur le serveur WebLogic.

Etape 4 : Génération du code côté client à partir du WSDLUne fois l’application EJB déployée en tant que service Web, vous importerez le service Web à partir de l’EAR, et générerez les classes client ainsi qu’un WSDL pour décrire le service.

1 Cliquez avec le bouton droit sur Employee.eargrp et sélectionnez Importer un service Web pour ouvrir l’expert Importation d’un service Web qui générera les classes Java et un WSDL côté client.

2 Effectuez les opérations suivantes dans l’expert :

a Acceptez le nom d’EAR, le nom de la WebApp et le service à importer, puis cliquez sur Suivant.

b Remplacez le nom du paquet par com.borland.samples.emp.generated.

c Acceptez toutes les autres valeurs par défaut de l’expert.

d Cliquez sur Terminer.

e Développez le nœud GeneratedWebServiceClients et double-cliquez sur EmpSession_client.jar, qui contient le service Web et le WSDL générés.

Etape 5 : Ecriture du client et utilisation du service en localVous allez ensuite écrire un client simple qui lira tous les enregistrements d’employés de la base de données et les enverra au volet message. Tout d’abord, vous vous rendrez à la page d’accueil des services Web WebLogic pour copier le code exemple permettant d’appeler le service. Puis vous le modifierez.

1 Ouvrez un navigateur Web et entrez l’adresse du service déployé : http://localhost:7001/web-services/ejb20module. Si vous exécutez le serveur WebLogic sur un port différent, modifiez l’adresse du port. La valeur de ServiceUri se trouve dans le fichier de déploiement servicegen.wldu : serviceURI="ejb20module".

Page 165: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : C r é a t i o n d ’ u n s e r v i c e W e b à p a r t i r d ’ u n e a p p l i c a t i o n E J B a v e c l e s e r v e u r W e b L o g i c 18-5

E t a p e 5 : E c r i t u r e d u c l i e n t e t u t i l i s a t i o n d u s e r v i c e e n l o c a l

Si le déploiement est réussi, les méthodes exposées dans EmpSession s’affichent sur la page d’accueil. Il existe également un lien vers le WSDL pour le service et un code exemple que vous copierez et modifierez pour appeler le service en local.

2 Copiez ces lignes de code à partir de la page d’accueil :

String wsdlUrl = "http://localhost:7001/web-services/ejb20module?WSDL"; EmpSession service = new EmpSession_Impl( wsdlUrl ); EmpSessionPort port = service.getEmpSessionPort();

3 Revenez à JBuilder et choisissez Fichier|Nouvelle classe pour créer une nouvelle classe.

4 Effectuez les modifications suivantes dans l’expert Classe :

a Entrez com.borland.samples.emp.client dans le champ Paquet.

b Entrez Client dans le champ Nom de classe.

c Activez Créer la méthode main.

d Désactivez Créer un constructeur par défaut.

e Cliquez sur OK pour fermer l’expert et créer la nouvelle classe.

Page 166: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

18-6 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 5 : E c r i t u r e d u c l i e n t e t u t i l i s a t i o n d u s e r v i c e e n l o c a l

5 Ajoutez les instructions d’importation suivantes sous le nom du paquet :

import com.borland.samples.emp.generated.*;import java.io.*;

6 Collez le code que vous avez copié à partir de la page d’accueil des services Web WebLogic dans la méthode main de la nouvelle classe Client.

7 Sélectionnez le code que vous venez d’ajouter et utilisez Maj+Ctrl+C pour l’encadrer d’une instruction try/catch.

8 Ajoutez le code en gras à l’instruction catch.

catch (IOException ex) {ex.printStackTrace(); }

9 Ajoutez un appel à la méthode getAllEmployees(), des instructions pour obtenir des informations à partir du tableau et une instruction print pour imprimer tous les enregistrements d’employés de la base de données.

//appel à getAllEmployeesEmployeeInfo [] employees = port.getAllEmployees();//extraction des informations à partir du tableaufor (int i=0; i < employees.length; i++) { //vérification si des valeurs nulles sont renvoyées depuis la base de données if (employees[i] != null) { //si la valeur est non nulle, impression du nom complet de l’employé System.out.println(employees[i].getFullName()); }

La classe client terminée devrait ressembler à ceci :

public class Client { public static void main(String[] args) { try { String wsdlUrl ="http://localhost:7001/web-services/ejb20module?WSDL"; EmpSession service = new EmpSession_Impl(wsdlUrl); EmpSessionPort port = service.getEmpSessionPort(); //appel à getAllEmployees EmployeeInfo [] employees = port.getAllEmployees(); //extraction des informations à partir du tableau for (int i=0; i < employees.length; i++) { //vérification si des valeurs nulles sont renvoyées depuis la base

//de données if (employees[i] != null) { //si la valeur est non nulle, impression du nom complet de

//l’employé System.out.println(employees[i].getFullName()); } } } catch (IOException ex) { ex.printStackTrace();

Page 167: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : C r é a t i o n d ’ u n s e r v i c e W e b à p a r t i r d ’ u n e a p p l i c a t i o n E J B a v e c l e s e r v e u r W e b L o g i c 18-7

E t a p e 5 : E c r i t u r e d u c l i e n t e t u t i l i s a t i o n d u s e r v i c e e n l o c a l

} }}

10 Cliquez avec le bouton droit sur l’onglet du fichier Client.java dans l’éditeur et choisissez Construire pour compiler la classe.

11 Cliquez avec le bouton droit sur l’onglet du fichier Client.java dans l’éditeur et choisissez Exécuter en utilisant Client pour exécuter la classe. Les enregistrements d’employés sont envoyés au volet message.

Félicitations ! Vous avez terminé le tutoriel. Vous avez configuré le projet pour les services Web, déployé l’application EJB en tant que service Web, généré et testé des classes côté client.

Pour plus d’informations sur l’utilisation de la boîte à outils WebLogic, voir Chapitre 8, “Utilisation de la boîte à outils WebLogic”.

Page 168: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

18-8 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

Page 169: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : P a r c o u r s d e s s e r v i c e s W e b U D D I 19-1

C h a p i t r e

19Chapitre19Tutoriel : Parcours

des services Web UDDICe tutoriel utilise des

fonctionnalités deJBuilder Entreprise.

JBuilder offre l’explorateur des services Web pour parcourir et interroger les registres UDDI. Les registres UDDI sont des bases de données utilisées par les business pour recenser leurs services Web et rechercher d’autres services Web disponibles. Ces registres sont basés sur la structure Universal Description, Discovery and Integration (UDDI). UDDI utilise le langage XML (Extensible Markup Language) et peut également utiliser le langage WSDL (Web Services Description Language) pour la description d’un service.

Dans ce tutoriel, vous allez apprendre à vous servir de l’explorateur des services Web en effectuant les tâches suivantes :

• Parcours de services Web sur le site XMethods.

• Parcours de tModels.

• Recherche d’éditeurs de logiciels sur le site UDDI de Microsoft.

• Génération de classes Java.

Important La fonctionnalité UDDI de l’explorateur des services Web nécessite l’extension Extension Java Secure Socket (JSSE) de Sun. Si vous utilisez le JDK 1.3 ou une version antérieure, vous devez télécharger et installer l’extension JSSE à partir de l’adresse Sun http://java.sun.com/products/jsse/index-103.html.

Voir aussi

• “Termes et définitions UDDI”, page 11-4

• Spécification UDDI à l’adresse http://www.uddi.org/specification.html

• Chapitre 11, “Parcours et publication de services Web”

Page 170: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

19-2 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 1 : P a r c o u r s d e s s e r v i c e s W e b s u r l e s i t e X M e t h o d s

Pour obtenir des informations utiles sur la visualisation et l’impression des tutoriels, voir la section Tutoriels du fichier Astuces JBuilder. La section Options d’accessibilité des Astuces JBuilder contient des conseils permettant de simplifier l’accès aux fonctionnalités de JBuilder, destinés en particulier aux personnes ayant des difficultés.

Pour plus d’informations sur les conventions utilisées dans ce tutoriel et la documentation JBuilder en général, voir “Conventions de la documentation”, page 1-4.

Etape 1 : Parcours des services Web sur le site XMethodsAu cours de cette étape, vous allez utiliser l’explorateur des services Web pour parcourir les services Web disponibles sur XMethods, un organisme qui favorise le développement, le déploiement et l’utilisation des services Web. Pour plus d’informations sur XMethods, voir http://www.xmethods.net.

1 Choisissez Outils|Explorateur des services Web pour ouvrir l’explorateur de services Web.

2 Développez le nœud Sites UDDI dans l’arborescence de gauche, puis développez le nœud du site de l’opérateur XMethods.

3 Sélectionnez le nœud Liste Business pour afficher à droite la page Requête pour Business.

4 Entrez la lettre s dans le champ Chercher par nom pour trouver tous les business du site commençant par un “s” et choisissez le bouton Exécuter sur la page Requête pour Business pour exécuter la requête. Vous pouvez également choisir Requête|Exécuter ou cliquer sur le bouton Exécuter la requête sur la barre d’outils.

Page 171: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : P a r c o u r s d e s s e r v i c e s W e b U D D I 19-3

E t a p e 1 : P a r c o u r s d e s s e r v i c e s W e b s u r l e s i t e X M e t h o d s

Astuce Si vous souhaitez trouver tous les business d’un site, laissez le champ Chercher par nom vide.

Important Vous pouvez augmenter le délai imparti pour l’explorateur des services Web. Choisissez UDDI|Paramètres de connexion et entrez le nouveau délai imparti dans le champ Délai. Fermez l’explorateur et rouvrez-le pour appliquer la valeur de délai imparti à toutes les connexions. Le serveur peut également tronquer les résultats de votre requête s’il détermine que ces résultats sont trop volumineux.

5 Développez le nœud Liste Business de XMethods pour voir tous les business commençant par la lettre “s” sur le site de XMethods.

6 Recherchez le business SQLData comme suit :

a Choisissez de nouveau le nœud Liste Business de XMethods.

b Choisissez l’onglet Nom dans la page Requête pour Business.

c Entrez SQLData dans le champ Chercher par nom.

d Appuyez sur Entrée ou cliquez sur le bouton Exécuter.

7 Sélectionnez le nœud SQLData dans l’arborescence.

Notez que la page Détails business affiche sur la droite les informations de présentation ainsi que le contact, l’identificateur et les informations de catégorie, s’il y a lieu. De plus, l’onglet Requête pour Service s’affiche sur la droite. Si vous connaissez le nom du service, vous pouvez affiner votre recherche en entrant ce nom dans le champ Chercher par nom de la page Requête pour Service.

8 Développez le nœud SQLData et notez que plusieurs services sont disponibles.

9 Choisissez le nœud du service Headline News. La page Détails du service affiche maintenant à droite des informations générales sur le service Web, comme le nom du business, la description et la clé du service.

Page 172: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

19-4 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 2 : P a r c o u r s d e s t M o d e l

10 Développez le nœud Headline News et choisissez le nœud qui le suit immédiatement, SOAP Binding. La page Détails de liaison s’affiche à droite en décrivant la manière de lier le service, le point d’accès au service et le type de l’URL de point d’accès. Certains de ces champs peuvent être vides s’ils ne sont pas nécessaires.

11 Développez le nœud SOAP Binding et choisissez le nœud suivant, <Aucune description>. La page Détails d’instance TModel affiche à droite des détails concernant le tModel, comme une description du service, le nom et la clé du tModel, la description de l’instance, la description et l’URL du document de vue d’ensemble et les paramètres de l’instance. Beaucoup de ces champs sont vides, car ils sont facultatifs.

12 Naviguez jusqu’au dernier nœud SQLData sous le nœud <Aucune description>, le nœud Headline News. Il s’agit du nœud tModel. Examinez les détails TModel affichés à droite de l’onglet Vue d’ensemble, comme le nom, la description, la clé de TModel et la description et l’URL du document de vue d’ensemble. Certaines de ces informations sont identiques à celles de la page Détails d’instance TModel. Le champ description décrit les opérations effectuées par le service Web. Le champ URL du document de vue d’ensemble contient une URL pointant sur un document WSDL qui décrit les spécifications du service Web en langage WSDL (Web Services Description Language). Le document WSDL, écrit en XML, décrit l’interface du service et les messages XML qui entrent et sortent du service Web. En étudiant le document WSDL, vous pouvez écrire des programmes qui appellent le service Web et interagissent avec lui.

A ce stade, vous pouvez utiliser le bouton Importer un service Web sur la barre d’outils pour ouvrir l’expert Importation d’un service Web. Cet expert génère des classes Java à partir du WSDL. Voir “Etape 4 : Génération de classes Java”, page 19-7. Ce service particulier a besoin de deux paramètres :

a SRLFile: nom du fichier Service Request Language File ; utilisez NEWS.SRI pour les headline news.

b RequestName: source d’informations. Utilisez yahoo ou newslinx pour l’instant, d’autres sources seront ajoutées par la suite.

Etape 2 : Parcours des tModelAu cours de cette étape, vous trouverez tous les tModel qui commencent par le nom uddi-org. Les TModel sont des références à une spécification technique d’un service. UDDI utilise les tModel pour pointer sur la spécification, au lieu de conserver toutes les données dans le registre. Chaque tModel possède un identificateur unique appelé Universal

Page 173: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : P a r c o u r s d e s s e r v i c e s W e b U D D I 19-5

E t a p e 2 : P a r c o u r s d e s t M o d e l

Unique Identifier (UUID). UDDI affecte ces identificateurs lors de la première publication d’un service Web. Les programmeurs qui développent des applications utilisant des services Web se servent de cet UUID pour accéder aux informations sur la spécification du service Web.

1 Développez le nœud Microsoft dans l’arborescence Sites UDDI et choisissez le nœud Liste tModel dans cette arborescence pour afficher la page Requête pour tModel.

2 Entrez uddi-org dans le champ Chercher par nom pour trouver tous les tModel de ce type sur le site Microsoft.

3 Cliquez sur le bouton Exécuter pour exécuter la requête.

4 Développez le nœud Liste tModel et notez les différentes catégories pour uddi-org, telles que http, types, publication, ftp, fax, taxonomy, etc.

5 Choisissez le deuxième nœud uddi-org:http (et non le premier). Vous apprenez dans la description que ce tModel décrit un service Web appelé par l’intermédiaire d’un navigateur Web et/ou du protocole http.

6 Cliquez sur l’onglet Catégories pour voir comment ce tModel est classé. Ce tModelType possède une keyValue à transport.

7 Choisissez le nœud uddi-org:publication. Lisez le champ Description du document de vue d’ensemble sur la page Vue d’ensemble pour obtenir une description du tModel : “Ce tModel définit les appels à l’API de publication pour l’interaction avec le registre UDDI”. Notez également que l’URL du document de vue d’ensemble est liée à un document WSDL. Ce document WSDL définit les appels à l’API de publication pour l’interaction avec le registre Business UDDI. Si vous copiez et collez l’URL du document de vue d’ensemble dans un

Page 174: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

19-6 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 3 : R e c h e r c h e d e s é d i t e u r s d e l o g i c i e l s s u r l e s i t e U D D I d e M i c r o s o f t

navigateur Web compatible XML, tel qu’Internet Explorer, vous verrez les appels définis.

8 Cliquez sur l’onglet Catégories. Ce tModelType possède quatre KeyValues et pointe sur quatre spécifications : specification, xmlSpec, soapSpec et wsdlSpec.

Etape 3 : Recherche des éditeurs de logiciels sur le site UDDI de Microsoft

Vous allez ensuite utiliser une recherche par catégorie pour trouver tous les éditeurs de logiciels sur le site UDDI de Microsoft.

1 Sélectionnez le nœud Liste Business Microsoft pour afficher la page Requête pour Business.

2 Choisissez l’onglet Catégorie.

3 Choisissez ntis-gov:naics:1997 dans la liste déroulante KeyName. Le système North American Industry Classification System (NAICS) est un système de classification industrielle qui a remplacé le système américain Standard Industrial Classification (SIC). Notez que le champ TModelKey est rempli automatiquement.

4 Entrez 51121 dans le champ KeyValue. Il s’agit du code NAIC pour les éditeurs de logiciels.

5 Appuyez sur Entrée pour valider la valeur.

6 Cliquez sur le bouton Exécuter pour exécuter la requête.

7 Développez le nœud Liste Business pour voir les résultats de la requête.

Page 175: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : P a r c o u r s d e s s e r v i c e s W e b U D D I 19-7

E t a p e 4 : G é n é r a t i o n d e c l a s s e s J a v a

8 Sélectionnez un business dans la liste et choisissez l’onglet Catégories sur la page Détails business. L’une des catégories doit être un éditeur de logiciels avec une KeyValue à 51121. Remarquez que les business ont souvent plusieurs catégories.

9 Sélectionnez le nœud IBM Corporation sous le nœud Liste Business Microsoft et cliquez sur l’onglet Identificateurs sur la page Détails business. Chaque entreprise possède également plusieurs identificateurs. Vous voyez ici qu’IBM possède un identificateur D-U-N-S (Dun & Bradstreet Number Identifier System) à neuf chiffres. Le keyName de cet identificateur est D-U-N-S et sa keyValue est le code à neuf chiffres : 00-136-8083. A chaque identificateur est également affecté un UUID (Universal unique identifier) tModelKey unique.

10 Développez le nœud IBM Corporation et sélectionnez Buy From IBM.

11 Choisissez l’onglet Catégories sur la page Détails du service pour voir comment IBM est classé. Comme IBM est une entreprise importante avec une large gamme de produits, elle est recensée sous plusieurs catégories ou KeyNames. Notez que de nombreux KeyNames commencent par NAICS (North American Industry Classification System) et UNSPSC (Universal Standard Products and Services Classification), qui sont des systèmes de classification différents. Chaque KeyName possède un tModelKey et une KeyValue uniques.

Etape 4 : Génération de classes JavaJBuilder fournit l’expert Importation d’un service Web pour générer rapidement des fichiers Java à partir d’un document WSDL existant. Un document WSDL (Web Services Description Language) décrit une interface de service Web et les messages XML qui entrent et sortent de ce service. Les tModel peuvent pointer sur une description WSDL, qui est écrite en XML.

Au cours de cette étape, vous allez créer un projet, rechercher un service Web avec l’explorateur des services Web et utiliser l’expert Importation d’un service Web pour générer des classes Java à partir du document WSDL pour le service Web.

1 Revenez à l’EDI de JBuilder et choisissez Fichier|Nouveau projet pour ouvrir l’expert Projet et créer un nouveau projet.

2 Entrez WsdlToJava dans le champ Nom et cliquez sur Terminer.

3 Revenez à l’explorateur des services Web et développez le nœud XMethods dans l’arborescence.

4 Sélectionnez le nœud Liste business et entrez xmethods dans le champ Chercher par nom dans l’onglet Nom de la page Requête pour

Page 176: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

19-8 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 4 : G é n é r a t i o n d e c l a s s e s J a v a

Business. Cliquez sur Exécuter ou appuyez sur Entrée pour exécuter la requête.

5 Développez le nœud XMethods sous le nœud Liste Business.

6 Choisissez le service Web eBay Price Watcher.

7 Continuez à naviguer jusqu’au nœud eBay Price Watcher et sélectionnez le dernier nœud, eBayPriceWatcher, qui est le nœud tModel. Lorsque le nœud tModel est sélectionné, le champ WSDL dans l’expert Importation d’un service Web est automatiquement rempli avec le document WSDL approprié pour ce service. Le nœud tModel doit être sélectionné pour utiliser l’expert Importation d’un service Web, puisque le document WSDL est listé dans le champ URL du document de vue d’ensemble.

8 Cliquez sur le bouton Importer un service Web sur la barre d’outils pour ouvrir l’expert Importation d’un service Web ou choisir Fichier|Importer un service Web.

9 Choisissez Axis comme boîte à outils et cliquez sur OK. Si vous choisissez la boîte à outils WebLogic, les étapes sont différentes. Voir Chapitre 8, “Utilisation de la boîte à outils WebLogic”. Notez que le document WSDL approprié est automatiquement introduit dans le champ URL WSDL. Ce WSDL ne nécessitant pas de nom d’utilisateur ni de mot de passe, laissez ces champs vides.

Page 177: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

T u t o r i e l : P a r c o u r s d e s s e r v i c e s W e b U D D I 19-9

E t a p e 4 : G é n é r a t i o n d e c l a s s e s J a v a

10 Cliquez sur Suivant pour passer à l’étape 2.

11 Choisissez les options de code côté serveur souhaitées et cliquez sur Suivant.

12 Acceptez le nom du paquet par défaut, qui est basé sur le targetNameSpace, et cliquez sur Terminer.

Les classes Java sont générées dans un nœud de paquet au sein du volet projet. L’expert Importation d’un service Web génère des classes Java à partir du WSDL. Il génère un nom de paquet basé sur l’espace de nommage cible du WSDL ou un autre que vous aurez spécifié. Il ajoute également les bibliothèques nécessaires à votre projet. Pour plus d’informations sur cet expert, consultez la documentation JBuilder correspondant à la boîte à outils que vous utilisez, le Chapitre 7, “Utilisation de la boîte à outils Apache Axis”, ou le Chapitre 8, “Utilisation de la boîte à outils WebLogic”.

13 Revenez à l’explorateur des services Web et sélectionnez l’URL du document WSDL dans le champ URL du document de vue d’ensemble.

14 Copiez et collez l’URL dans un navigateur compatible XML, comme Internet Explorer, pour ouvrir le document WSDL. Vous verrez alors les méthodes utilisées pour accéder au service Web. Ces méthodes sont listées dans l’élément XML <operation>. Par exemple, l’une des méthodes, getCurrent price, est représentée dans le document WSDL sous la forme : <operation name="getCurrentPrice">.

Voir aussi

• Chapitre 5, “Utilisation de WSDL”

• Chapitre 14, “Tutoriel : Génération d’un service Web à partir d’un document WSDL”

Page 178: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

19-10 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

E t a p e 4 : G é n é r a t i o n d e c l a s s e s J a v a

Félicitations ! Vous avez terminé le tutoriel. L’explorateur des services Web inclut également les fonctionnalités suivantes :

• Publication de services Web

• Parcours de services Web sur des serveurs Axis, une fonctionnalité de la boîte à outils Axis

• Publication de services Web à partir de serveurs Axis, une fonctionnalité de la boîte à outils Axis

• Parcours de services Web avec des documents WSIL

• Surveillance des messages UDDI

Pour en savoir plus sur l’explorateur des services Web et ses fonctionnalités, voir Chapitre 11, “Parcours et publication de services Web”, ou choisissez Aide|Sommaire dans l’explorateur des services Web.

Page 179: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

I n d e x I-1

AApache Axis 7-1

Voir aussi boîte à outils Axis

Bboîte à outils Apache SOAP 2, services Web 3-3,

9-1exportation de classe en tant que service

web 9-2importation d’un WSDL 9-2modification du code 9-1

boîte à outils Axis, services Web 3-3, 7-1Copier admin/console vers l’application web,

option 3-3déploiement de services Web 7-14, 7-16exportation d’EJB en tant que services Web 7-9,

7-16exportation des classes Java 7-1importation d’un service en tant que EJB 7-11importation d’un WSDL 7-6importation de service en tant qu’EJB avec

l’explorateur de services Web 7-13boîte à outils WebLogic, services Web 8-1

définition des valeurs par défaut d’appellation de services 8-18

déploiement de services Web 8-15exportation de classe en tant que service

web 8-2exportation de classes multiples 8-6exportation des EJB en tant que service

web 8-12importation de service Web 8-6test des services Web déployés 8-9

boîtes à outils de services Websélection 3-3

boîtes à outils, services Web 3-1Borland

contacter 1-6e-mail 1-8groupes de discussion 1-7rapports de bogues 1-8ressources en ligne 1-6support aux développeurs 1-6support technique 1-6World Wide Web 1-7

Ccatégorie, UDDI 11-4, 11-10clé business, UDDI 11-4

clé de service, UDDI 11-5Configuration des services Web, expert 3-1configurations d’exécution

serveur de services Web 3-6conventions de la documentation 1-4

conventions des plates-formes 1-5

Ddéploiement de services Web

fichiers WLDU, WebLogic 8-14fichiers WSDD, Axis 7-14régénérer l’option de déploiement 3-6test des services Web, WebLogic 8-9vers un serveur de services web, Axis 7-14vers un serveur WebLogic 8-1

deploy.wsdd, fichier 7-6, 7-14, 8-6régénération à la conception 3-6

Détails business, page 11-16Détails d’instance Tmodel, page 11-16Détails de liaison, page 11-16Détails du service, page 11-16Détails Tmodel, page 11-16détails tModelInstance 11-5D-U-N-S (Dun & Bradstreet’s Data Universal

Numbering System) ID 11-12

EEAR

importation de service Web, WebLogic 8-6EJB

déploiement de services Web, Axis 7-16déploiement des services Web, WebLogic 8-15exportation en tant que service web 6-1exportation en tant que service web,

WebLogic 8-12exportation en tant que services web, Axis 7-9importation depuis WSDL, Axis 7-11

élément enveloppe, SOAP 3-1experts

configuration des services Web 3-1Exportation en tant que service Web Axis,

expert 7-1Exportation en tant que service Web

WebLogic 8-2Importation d’un service Web 11-29importation d’un service Web avec Axis 7-6importation d’un service Web avec

WebLogic 8-6explorateur de services Web 11-1

ajout de nœuds 11-6

Index

Page 180: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

I-2 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

Importation d’un service Web, expert 11-29importation de services en tant que EJB,

Axis 7-13JSEE 11-1pages de détail 11-15parcours des services 11-1publication à partir des serveurs Axis 11-26publication de services Web 11-23publication de tModel 11-26recensement des services 11-1recherche de business 11-8recherche de documents WSIL 11-20recherche de serveurs Axis 11-17recherche de tModel 11-14recherche des services 11-8, 11-13recherche par catégorie 11-10recherche par identificateur 11-12recherche par nom de business 11-8résultats de requête UDDI 11-15serveurs Axis 11-5suppression de nœuds 11-6tutoriel 19-1WSIL 11-5

Exportation en tant que service Web Axis, expert 7-1

Exportation en tant que service Web WebLogic, expert 8-2

Ffichiers classe

exportation en tant que service web, Axis 7-1Voir aussi boîte à outils Axis

exportation en tant que service web, WebLogic 8-2

fontesConventions de la documentation JBuilder 1-4

Ggroupes de discussion

Borland 1-7public 1-7

groupes de discussion Usenet 1-7

Iidentificateur, UDDI 11-4, 11-12Importation d’un service Web avec Axis,

expert 7-6Importation d’un service Web avec WebLogic,

expert 8-6Importation d’un service Web, expert

dans l’explorateur de services Web 11-29

JJava, classes

exportation en tant que service web, Axis 7-1exportation en tant que service web,

WebLogic 8-2génération depuis WSDL, Axis 7-6génération depuis WSDL, WebLogic 8-6

JSEEexplorateur de services Web 11-1

Mmoniteur de message UDDI 11-28moniteur TCP 4-1

Nnom de clé, UDDI 11-4

Ppage Construction, Propriétés du projet

onglet Services web 3-6page d’accueil des services Web WebLogic 8-9page Détails 11-16pages de détail

explorateur de services Web 11-15point d’accès, UDDI 11-4projets

configuration pour les services Web 3-1publication

business 11-23service Web hébergé par Axis 11-19services à partir de serveurs Axis 11-26services Web 11-23tModels 11-26

Rrégénérer l’option de déploiement 3-6registre Business UDDI 11-3registres UDDI 11-3

publication à partir des serveurs Axis 11-26publication de services 11-23publication de tModel 11-26recherche avec l’explorateur de services

Web 11-8

Sserver-config.wsdd, fichier 3-6serveur de services Web

configuration d’exécution 3-6démarrage 3-6relation à webapp 3-1

Page 181: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

I n d e x I-3

serveursparamétrage pour les services Web 10-1support des services Web 2-8

serveurs Axisaffichage des services Web 7-13, 11-5désactivation de l’accès à distance aux 11-19importation de service dans l’explorateur de

services Web 11-19publication de services 11-19, 11-26recherche de services Web 11-17

serveurs d’applicationsparamétrage pour les services Web 10-1support des services Web 2-8

services Webarchitecture 2-2boîte à outils Apache Axis 7-1

Voir aussi boîte à outils Axisboîte à outils Apache SOAP 2 9-1

Voir aussi boîte à outils Apache SOAP 2boîte à outils WebLogic 8-1

Voir aussi boîte à outils WebLogicboîtes à outils 3-1catégories de business 11-10configuration des projets 3-1déploiement des EJB, Axis 7-16déploiement des EJB, WebLogic 8-15déploiement vers, WebLogic 8-1déploiement, Axis 7-14descripteur de déploiement, Axis 7-6, 7-14descripteur de déploiement, WebLogic 8-6,

8-14explorateur de services Web 11-1exportation des classes Java, Axis 7-1exportation des classes Java, WebLogic 8-2exportation des EJB en tant que 6-1exportation des EJB, Axis 7-9exportation des EJB, WebLogic 8-12génération depuis EAR, WebLogic 8-6génération depuis WSDL, Axis 7-6génération depuis WSDL, WebLogic 8-6identificateurs de business 11-12importation d’un service en tant que EJB,

Axis 7-11J2EE 6-1paramétrage de serveur d’applications 10-1présentation 2-1publication 11-1, 11-23publication de tModel 11-26recensement 11-1recherche 11-1, 11-14sélection d’une boîte à outils 3-3serveurs d’applications pris en charge 2-8SOAP (Simple Object Access Protocol) 2-3technologies 2-3test des services déployés, WebLogic 8-9

UDDI (Universal Description, Discovery and Integration) 2-5, 11-3

WSDL (Web Services Description Language) 2-4, 5-1

WSIL (Web Services Inspection Language) 2-5, 11-5

Simple Object Access Protocol (SOAP) 2-3, 3-1Voir aussi SOAP

sites opérateurs, UDDI 11-4SOAP 2-3, 3-1

nœud de boîte à outils 3-1option Construction dans Propriétés du

projet 3-6server-config.wsdd, fichier 3-6surveillance des messages avec le moniteur

TCP 4-1surveillance des messages UDDI 11-28

TThomas Register 11-12tModelKey 11-5tModels, UDDI 11-5

publication 11-26recherche 11-14

tutorielscréation d’un service Web à partir d’une

application EJB avec le serveur WebLogic 18-1création d’un service Web à partir d’une

application EJB, Axis 15-1création d’un service Web simple avec

Axis 13-1création d’un service Web simple avec

WebLogic 17-1explorateur de services Web 19-1génération d’un service Web à partir d’un

document WSDL, Axis 14-1importation d’un service Web en tant

qu’application EJB, Axis 16-1

UUDDI 2-5

JSEE 11-1présentation 11-3sites opérateurs 11-3, 11-4surveillance des messages UDDI SOAP 11-28termes et définitions 11-4

UDDI (Universal Description, Discovery and Integration) 11-3

Universal Description, Discovery and Integration (UDDI) 2-5

UDDI (Universal Description, Discovery and Integration)

Voir aussi UDDIURL du document de vue d’ensemble 11-5

Page 182: dessigsi2004.free.frdessigsi2004.free.fr/dess/CD%20ann%E9e%202002_2004/... · Consultez le fichier deploy.html situé dans le r épertoire redist de JBuilder pour avoir la liste compl

I-4 G u i d e d u d é v e l o p p e u r d e s e r v i c e s W e b

Vvaleur de clé, UDDI 11-4

WWeb Services Description Language (WSDL) 2-4,

5-1Voir aussi WSDL 5-1

Web Services Inspection Language (WSIL) 2-5, 11-5

WSIL (Web Services Inspection Language)Voir aussi WSIL

WebApphébergement des services Web 3-1

WLDU, fichier 8-14WSDD, fichier 7-6, 7-14, 8-6

régénération à la conception 3-6WSDL 5-1

exemples 5-3génération à partir d’une classe Java, Axis 7-1importation de service Web, WebLogic 8-6importation, Axis 7-6termes définis 5-2

WSDL (Web Services Description Language) 2-4Voir aussi services Web

WSIL 2-5recherche de services Web 11-20

WSIL (Web Services Inspection Language) 11-5