Vous êtes sur la page 1sur 19

Sommaire

Partie 1. Publication des services web (juddi) ___________________________________ 2


1. Installation et configuration des composants ___________________________________ 2
1.1. Outils utilisés _______________________________________________________________ 2
1.2. Configuration initiale _________________________________________________________ 2
1.3. Installation juddi ____________________________________________________________ 3
1.4. Déploiement de l’application web ______________________________________________ 3
1.5. Création de la base de données ________________________________________________ 3
1.6. Création des utilisateurs juddi _________________________________________________ 4
1.7. Configuration de tomcat pour la connexion à la base de données juddi ________________ 4
1.8. Test _______________________________________________________________________ 5
1.9. Configuration axis ___________________________________________________________ 6

2. Création d’un web service à l’aide d’Axis ______________________________________ 7


3. Publication des services à l’aide de la console juddi ______________________________ 9
3.1. Console juddi _______________________________________________________________ 9
3.2. Publication du web service somme dans l’annuaire juddi ___________________________ 10
3.2.1. Étape 1 : Authentification _______________________________________________________ 10
3.2.2. Étape 2 : save business _________________________________________________________ 11
3.2.3. Étape 3 : save_tModel _________________________________________________________ 12
3.2.4. Étape 4 : save_service__________________________________________________________ 13

3.3. Vérification de la publication _________________________________________________ 14

By Camélia BENCHEQROUN
Interrogation UDDI et transformation de schémas WSDL

Partie 1. Publication des services web (juddi)

La publication d’un service web nécessite une installation de certains composants et une
bonne configuration de ces derniers. On va voir dans ce qui suit les outils à installer et les
différentes étapes de la configuration.

1. Installation et configuration des composants


1.1. Outils utilisés
 Tomcat
Apache Tomcat est un conteneur de servlet J2EE. Issu du projet Jakarta, Tomcat est
désormais un projet principal de la fondation Apache. Tomcat implémente les spécifications
des servlets et des JSP de Sun Microsystems. Il inclut des outils pour la configuration et la
gestion, mais peut également être configuré en éditant des fichiers de configuration XML.
Comme Tomcat inclut un serveur HTTP interne, il est aussi considéré comme un serveur
HTTP.
Tomcat va servir de conteneur pour exécuter les web services et spécialement les services
juddi et axis
 Axis 1.4
Axis est un projet d’Apache Software Foundation. C'est un package Java qui fournit : un
environnement pouvant soit fonctionner comme un serveur SOAP indépendant soit comme
un plug-in de moteurs de servlet (en particulier Tomcat), Une API pour développer des
services web SOAP RPC ou à base de messages SOAP le support de différentes couches de
transport : HTTP, FTP...
 JUDDI
Java Universal Description, Discovery and Integration
Une implémentation basée sur la plate-forme Java de l'UDDI. Elle fournit également un kit
de développement pour créer des accès à des bases de registres d'UDDI
 UDDI
Uddi browser est un projet open source qui autorisent la manipulation, Des registre uddi
avec une interface conviviale. Il est ecrit en java avec l’api swing et supporte la version 2.0 de
la norme UDDI.
 Mysql
MySQL Connector/J est le driver JDBC de MySQL. C'est lui qui sera chargé de convertir les
appels JDBC en ordre compréhensible par MySQL

1.2. Configuration des variables d’environnements


Après avoir installé JDK 1.5, il faut que les variables d’environnement JAVA_HOME, PATH,
CLASSPATH prennent en considération le JDK 1.5:
 JAVA_HOME = C:\Program Files\Java\jdk1.5.0_11
 PATH = C:\Program Files\Java\jdk1.5.0_11 \bin

2
Interrogation UDDI et transformation de schémas WSDL

 CLASSPATH = C:\Program Files\Java\jdk1.5.0_11 \lib

1.3. Installation juddi


Il faut décompresser le fichier juddi-0.9rc4.zip
Il contient 3 dossiers
 Docs contient la documentation sur juddi
 SQL contient les fichiers nécessaires pour la création de la Base de données mysql
 Webapp contient l’application web juddi qui se déploie sur tomcat

1.4. Déploiement de l’application web


1/ A l’intérieur du répertoire webapp il y’a un répertoire qui se nomme juddi qu’il faut copier
dans le dossier: ~\tomcat\webapps
2/ Afin d’indiquer le driver JDBC, il faut éditer le fichier juddi.propreties présent dans le
dossier ~\tomcat\webapps\juddi\WEB-INF et rajouter à la fin du fichier :
# required JDBC DataSource properties
juddi.dataSource = java:comp/env/jdbc/juddiDB
# required JDBC Driver properties
juddi.useConnectionPool = true
juddi.jdbcDriver = com.mysql.jdbc.Driver
juddi.jdbcURL = jdbc:mysql://localhost/juddi
juddi.jdbcUser = juddi juddi.jdbcPassword = juddi

1.5. Création de la base de données


Il faut démarrer le serveur mysql et copier les 2 fichiers présents dans le répertoire
~\juddi-0.9rc4\sql\mysql
create_database.sql et insert_publishers.sql dans le répertoire : ~\mysql\bin

Dans l’invite de commande MS-DOS et en se plaçant dans le répertoire, on exécute la


requête suivante pour la création de la base de donnée :
mysql -u root -p < create_database.sql

Ensuite pour pouvoir ajouter des utilisateurs à la base de données, on modifie le fichier
insert_publishers.sql.
Par exemple, on ajoute une requête :
INSERT INTO PUBLISHER (PUBLISHER_ID, PUBLISHER_NAME, EMAIL_ADDRESS, IS_ENABLED,
IS_ADMIN)
VALUES ('camelia','ben','cameliab30@gmail.com','true','true');

Par la suite, on exécute le fichier d’insertion comme précédemment avec la commande :

3
Interrogation UDDI et transformation de schémas WSDL

mysql -u root -p < insert_publishers.sql

1.6. Création des utilisateurs juddi


Afin de pouvoir se connecter à la base de données en tant que root, on démarre le serveur
mysql et on exécute la commande suivante dans l’invite de commande MS-DOS
mysql -u root –p

Une fois connecté, pour attribuer les droits au nouvel utilisateur juddi, il faut exécuter les
commandes suivantes
GRANT ALL ON juddi.* TO juddi@"%" IDENTIFIED BY "juddi";
GRANT ALL ON juddi.* TO juddi@"localhost" IDENTIFIED BY "juddi";

Pour vérifier la création des utilisateurs on peut consulter la table en saisissant les requêtes
suivantes:
juddi mysql -u juddi -p
use juddi
select * from publisher;

On aura comme résultat la table publisher contenant les utilisateur ajoutés comme le
montre la figure ci-dessous:

Figure 1 Utilisateurs ajoutés dans la table Publisher

1.7. Configuration de tomcat pour la connexion à la base de données juddi


Dans le répertoire ~\tomcat\conf il faut éditer le fichier de configuration server.xml et
rajouter le code suivant qui indique la base de donnée juddi à laquelle il va se connecté et
son username et password (avant </Host> </Engine></Service></Server>) :

4
Interrogation UDDI et transformation de schémas WSDL

<Context path="/juddi" docBase="juddi" debug="5" reloadable="true" crossContext="true">


<Resource name="jdbc/juddiDB"
auth="Container"
type="javax.sql.DataSource"
username="juddi"
password="juddi"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/juddi?autoReconnect=true"
validationQuery="select count(*) from PUBLISHER" />
</Context>

Pour que tomcat puisse accéder à la base de données mysql, il lui faut une API mysql-
connector-java-5.0.8-bin qui permet la connexion. Cette API doit être placée dans le
répertoire lib de tomcat ~\tomcat\lib

1.8. Test
Afin de tester le fonctionnement entre tomcat, mysql, et juddi, il faut tout d’abord démarrer
tomcat et mysql et indiquer dans le navigateur l’url suivante qui correspond à l’installation
locale du juddi :
http://localhost:8080/juddi/happyjuddi.jsp
La page suivante est affichée :

5
Interrogation UDDI et transformation de schémas WSDL

Figure 2 Configuration locale juddi

Dans cette page qui permet de savoir si toute la configuration est ok, il faut surtout pointer
sur jUDDI DataSource Validation pour savoir si la connexion à la base de donnée est réussie
comme le montre la figure ci-dessous :

1.9. Configuration axis


Axis servira à créer automatiquement des documents WSDL correspondant à des classes
Java ou inversement pour créer les classes Java sur la base d'un document WSDL.

Après avoir téléchargé axis-1_4.zip, il faut le décompresser et :


Copier le contenu du dossier lib dans ~\tomcat\common\lib
Copier le contenu du dossier webapps dans ~\tomcat\webapps
Pour accéder à Axis on saisit dans le navigateur à l’url suivante : http://localhost:8080/axis/

6
Interrogation UDDI et transformation de schémas WSDL

Figure 3 Page d’accueil AXIS

Ou encore : http://localhost:8080/axis/happyaxis.jsp

Figure 4 Axis Happiness Page

2. Création d’un web service à l’aide d’Axis


Pour créer un service web, on crée un fichier dans le dossier ~\tomcat\webapps\axis et on le
nomme par exemple sommer.jws
Ensuite, il faut indiquer le code du service web qui permettra de déterminer la somme de
deux nombres :

7
Interrogation UDDI et transformation de schémas WSDL

public class sommer


{
public int getsomme(int a, int b)
{
return a+b;
}
}

Pour visualiser le wsdl généré par axis du web service sommer, on se rend sur les pages :
http://localhost:8080/axis/somme.jws
ou
http://localhost:8080/axis/somme.jws?wsdl

Pour invoquer la méthode getsomme de sommer avec par exemple comme paramètres a=2
et b=5 :
http://localhost:8080/axis/somme.jws?method=getsomme&a=2&b=5

8
Interrogation UDDI et transformation de schémas WSDL

La somme demandée est donc retournée et indiqué entre des balises :

3. Publication des services à l’aide de la console juddi


Pour réaliser la publication des services web à l’aide de la console jUDDI, on procède comme
suit :
 On accède tout d’abord à la console juddi
 Authentification
 Save business
 Save tModel
 Save service

3.1. Console juddi


La première chose à faire est de lancer les serveurs mysql et tomcat et accéder à la page :
http://localhost:8080/juddi/console/
On obtient :

9
Interrogation UDDI et transformation de schémas WSDL

Figure 5 Console juddi

3.2. Publication du web service somme dans l’annuaire juddi


3.2.1. Étape 1 : Authentification
L'API call get_authToken est utilisée pour obtenir un jeton d'authentification. Les jetons
d'authentification sont des valeurs opaques qui sont nécessaires pour tous les autres
publisher API call.

Dans la console juddi, il faut cliquer sur le lien get_authToken et remplir userID par un des
utilisateurs de la table publisher dans mon cas j’ai choisi le userID camelia.
On clique cliquer ensuite sur le bouton Submit

10
Interrogation UDDI et transformation de schémas WSDL

Figure 6 Authentification

On aura comme résultat un message SOAP d'authToken qui contient un élément authInfo
authToken :9DF6FC19-3AF6-11E0-AD97-FC8CC7E394E4 qui’il faut sauvegarder. Il peut être
utilisé dans les appels qui suivent qui requièrent une valeur authInfo.

3.2.2. Étape 2 : save business


L’API call save_business est utilisée pour sauvegarder ou mettre à jour des informations sur
un élément businessEntity.
Il faut cliquer sur le lien save_business et indiquer les informations suivantes:
 authInfo : celui obtenu dans l’étape 1. Dans mon cas authToken: 9DF6FC19-
3AF6-11E0-AD97-FC8CC7E394E4
 name : camben (Nom de l’entité)
 description : camelia bencheqroun (Description de l’entité)
 personName : camelia (Nom du contact)
 phone : 0643563263 (Tel du contact)
 email : cam@gmail.com (Email du contact)
et cliquer sur Submit

11
Interrogation UDDI et transformation de schémas WSDL

Figure 7 Save business

Il faut sauvegarder le businessKey="44C1A770-3AF7-11E0-AD97-CE8242B9869F", on en


aura besoin plus tard.

3.2.3. Étape 3 : save_tModel


L’API call save_tModel ajoute ou met à jour un ou plusieurs éléments tModel enregistré.
Dans la console juddi on accède au save_tModel et on indique les informations suivantes:
 authInfo : celui obtenu dans l’étape 1. Dans mon cas authToken:9DF6FC19-
3AF6-11E0-AD97-FC8CC7E394E4
 name : http://localhost:8080/axis/sommer.jws?wsdl (l’url du wsdl du service
web)
 overviewURL : http://localhost:8080/axis/sommer.jws?wsdl (l’url du wsdl du service
web)
Toujours dans le même endroit, il faut également remplir dans la partie Category Bag par
défaut les informations suivantes :
 tModelKey : UUID:C1ACF26D-9672-4404-9D70-39B756E62AB4
 keyName : uddi-org:types
 keyValue : wsdlSpec
Ensuite cliquer sur Submit

12
Interrogation UDDI et transformation de schémas WSDL

Figure 8 Save tModel

On obtient dans la réponse le tModelKey="uuid:BC4E5C20-3AF7-11E0-AD97-


FE6AE516495D" qu’il faut sauvegarder.

3.2.4. Étape 4 : save_service


L’API call save_service ajoute ou met à jour un ou plusieurs éléments BusinessService.
On accéde au save_service à partir de la console et on remplit les balises suivantes avec les
informations obtenues dans les étapes précédentes:
 authInfo : authToken:9DF6FC19-3AF6-11E0-AD97-FC8CC7E394E4
 businessKey : 831C8780-D659-11DB-8780-A03AF047EE37
 name : Sommer (nom pour le service web)
 accessPoint : http://localhost:8080/axis/sommer.jws (l’url du jws ou du wsdl)
 tModelKey : uuid:BC4E5C20-3AF7-11E0-AD97-FE6AE516495D
 overviewURL : http://localhost:8080/axis/sommer.jws?wsdl (l’url du wsdl)
Cliquer sur Submit

13
Interrogation UDDI et transformation de schémas WSDL

Figure 9 Save Service

Le web service est dans l’annuaire Juddi.

3.3. Vérification de la publication


On peut vérifier la publication du service web grâce à UDDI Browser qui est un projet open
source qui autorise la manipulation des registres uddi avec une interface conviviale. Il est
écrit en java avec l’API swing et supporte la version 2.0 de la norme UDDI. Uddi browser
supporte l’API complète de la manipulation des registres uddi interrogation, création, mise à
jour, suppression de toutes les entités uddi.

Son utilisation est simple, il suffit d’extraire l’archive téléchargée et d’exécuter../ub-0.2-


bin\bin\ub.bat
On obtient l’interface suivante :

14
Interrogation UDDI et transformation de schémas WSDL

Figure 10 UDDI Browser

Dans le menu Edit, on choisit UDDI Registries..


Dans la fenêtre qui s’ouvre, il faut cliquer sur ADD, et indiquer les informations comme suit

Figure 11 Add UDDI Registry

Cliquer sur OK

Le registre juddi a été ajouté.


Choisir maintenant juddi et cliquer sur connect. (Les serveurs tomcat et mysql doivent être
démarré)

A présent, dans le Menu View, il faut exécuter les 3 options Find all business, Find all
services, Find all tModels. On obtient tous les services publiés dans l’annuaire :

15
Interrogation UDDI et transformation de schémas WSDL

Figure 12 Liste des services web publiés

4. Aller plus loin


Pour pouvoir publier un service web automatiquement on a développé une petite
application. Son rôle est de publier le service web dans l’annuaire juddi simplement en lui
communicant ses informations principales, c.à.d. les infos concernant le business (nom,
description, personne), le nom du service, la description du service et son url.
Voici un exemple de fragment de code du programme :

Figure 13 SaveBusiness

Figure 14 Save TModel

16
Interrogation UDDI et transformation de schémas WSDL

Figure 15 Save service

Voici l’interface de l’application :

Figure 16 Publier Service web

17
Interrogation UDDI et transformation de schémas WSDL

Liste des figures

Figure 1 Utilisateurs ajoutés dans la table Publisher ________________________________________________ 4


Figure 2 Configuration locale juddi ______________________________________________________________ 6
Figure 3 Page d’accueil AXIS ___________________________________________________________________ 7
Figure 4 Axis Happiness Page __________________________________________________________________ 7
Figure 5 Console juddi _______________________________________________________________________ 10
Figure 6 Authentification _____________________________________________________________________ 11
Figure 7 Save business _______________________________________________________________________ 12
Figure 8 Save tModel ________________________________________________________________________ 13
Figure 9 Save Service ________________________________________________________________________ 14
Figure 10 UDDI Browser _____________________________________________________________________ 15
Figure 11 Add UDDI Registry __________________________________________________________________ 15
Figure 12 Liste des services web publiés _________________________________________________________ 16

18
Interrogation UDDI et transformation de schémas WSDL

Bibliographie

 Tomcat 6  http://tomcat.apache.org/download-60.cgi
 JDK 1.5 
http://www.oracle.com/technetwork/java/javase/downloads/index-jdk5-jsp-142662.html
 Axis 1.4  http://axis.apache.org/axis/
 JUDDI 0.9rc4(UDDI 2.0)  http://www.apache.org/dyn/closer.cgi/ws/juddi/0_9RC4/
 UDDI Browser 0.2  http://uddibrowser.org/
 Mysql 5.1  http://dev.mysql.com/downloads/mysql/5.1.html
 mysql-connector 5.1  http://www.mysql.com/downloads/connector/j/

19

Vous aimerez peut-être aussi