Tutorial Juddi v4
Tutorial Juddi v4
Tutorial Juddi v4
Web Services
Création d’un annuaire UDDI
Tutorial réalisé par [email protected]
adel
USTHB
16/03/2007
Tutorial Juddi
2
TABLE DES MATIÈRES
1. Introduction ………………………………………………………………………………………………… 4
2. Définitions …………………………………………………………………………………………………… 4
3.b. XAMPP……………………………………………………………………………………………… 10
3.c. TOMCAT…………………………………………………………………………………………… 19
3
1. Introduction :
J’ai essayé de résumer mon effort dans la création et la publication de service web pour
ceux que sa intéresse.
Cette méthode marche pour moi, L'obtention d'instructions sur la façon de procéder
n’était pas simple donc j’espère que ce document servira pour d’autre personne d’avancer
dan la bonne direction.
2. Définitions :
Ces définitions son extraite de l’encyclopédie en ligne wikipedia.
2.2 UDDI :
Service Web UDDI, acronyme de Universal Description Discovery and Integration, est
une technologie d'annuaire basée sur XML et plus particulièrement destinée aux services
Web, notamment dans le cadre d'architectures de type SOA (Service Oriented
Architecture). Un annuaire UDDI permet de localiser sur le réseau le service Web
recherché. Il repose sur le protocole de transport SOAP.
Né en 1999 de l'initiative d'un certain nombre d'entreprises, dont Sun Microsystems,
Oracle, Microsoft, HP ou encore SAP, il permet de stocker à la fois des informations
techniques et formelles tel que l'adresse pour accéder au Services Web, mais également
des informations beaucoup plus contextuelles, tel le nom de la personne qui s'occupe de
leur gestion, la description sommaire de leurs fonctionnalités ou encore le nom et la
branche d'activité de l'entreprise dont ils dépendent.
4
3. Outils nécessaires :
Voici une liste des logiciels nécessaires pour la réalisation de ce tutorial certain son
obligatoire d’autre facultatif :
a) jdk-1_5_0_11-windows-i586-p.exe
b) xampp-win32-1.6.0a-installer.exe
c) xampp-tomcat-addon-5.5.20-2.2.3-installer.exe
d) mysql-connector-java-5.0.5.tar.gz
e) juddi-0.9rc4.zip
f) axis-bin-1_4.zip
g) ub-0.2-bin.zip
h) wtp-all-in-one-sdk-R-1.5.3-win32.zip
5
Sun fournit chaque version de Java sous deux formes :
• L’une pour les développeurs : le JDK ( Java Development Kit) ou SDK
(Software Development Kit) comprenant la machine virtuelle Java pour
un système d’exploitation, la bibliothèque des classes Java et les commandes
pour développer en Java.
• L’autre pour les utilisateurs : le JRE ( Java Runtime Environment) comprenant
la machine virtuelle Java et la bibliothèque des classes
6
Télécharger, installer et utiliser la documentation
La documentation des API Java (Application Programming Interface)
décrit les fonctionnalités des classes de la bibliothèque Java. Elle se présente
sous forme de fichiers HTML dont l’organisation permet de retrouver rapidement
la description d’une classe et de ses méthodes grâce à de nombreux
liens hypertextes. Cette documentation indispensable peut être consultée en
ligne à http://java.sun.com/j2se/1.5.0/docs/api/ ou téléchargée pour la consulter hors
connexion.
Voici comment installer la documentation du J2SE, qui décrit les API Java
entre autres choses. Téléchargez la documentation qui correspond à la version
de votre JDK. Ce fichier de plus de 30Mo a un nom de la forme jdk-VERSION-doc.zip
représentant une suite de chiffres séparés par des
points (par exemple 1.5.0).
Décompressez le fichier avec l’outil de votre choix.
7
Commandes du JDK les plus utilisées :
Voici un aperçu des commandes du JDK qui sont le plus utilisées.
Ces commandes se lancent dans une fenêtre de commandes ou un
terminal Unix :
class Bienvenue
{
public static void main(java.lang.String [] args)
{
javax.swing.JOptionPane.showMessageDialog(null,"Bienvenue");
}
}
Exécution de l’application
Exécutez ce programme avec la commande suivante :
Java Bienvenue
Une fois que la fenêtre affichant Bienvenue est à l’écran, cliquez sur Ok. Si
vous utilisez une version antérieure à Java 5.0, il vous faudra arrêter la JVM
en tapant simultanément sur les touches Ctrl et C de votre clavier.
9
b) XAMPP :
Plusieurs personnes savent par expérience qu'il n'est pas facile d'installer un
serveur web Apache et que ça se complique si vous voulez y ajouter MySQL,
PHP et Perl.
XAMPP est un kit d'installation d'Apache qui contient MySQL, PHP et Perl. XAMPP
est réellement très facile à installer et à utiliser vous n'avez qu'à le télécharger,
le décompresser et le démarrer.
Pour vérifier que XAMPP fonctionne correctement, des programmes sont fournis
à titre d'exemple : un petit logiciel de collection de DC (écrit en PHP et qui
utilise MySQL) et un petit logiciel de livre de visiteurs (écrit en Perl), ainsi que
plusieurs autres utilitaires.
Telechargement :
http://www.apachefriends.org/fr/xampp-windows.html
10
Méthode A : avec installateur
L'assistant d'installation de XAMPP win32Quand l'installation est complétée, vous trouverez XAMPP sous
Démarrer / Programmes / XAMPP. Grâce au panneau de contrôle XAMPP, vous pouvez démarrer/arrêter
chacun des serveurs et installer/désinstaller les services.
Le panneau de contrôle XAMPP pour arrêter/démarrer Apache, MySQL, FileZilla et Mercury ou installer ces
serveurs en tant que services.
11
Méthode B : sans installateur
Sans installateur, téléchargez et décomprimez l'archive zip ou 7-zip dans le
répertoire de votre choix.
Ici, nous décomprimons XAMPP dans D:\Program Files pour créer le répertoire
"D:\Program Files\xampp". Ensuite, ouvrez le répertoire principal de xampp et
exécutez "setup_xampp.bat". Maintenant tous les chemins présents dans les
fichiers de configuration sont à jour. Finalement, démarrez les différents serveurs
grâce aux scripts de démarrage ou d'arrêt (.bat) ou utilisez l'interface graphique
"xampp-control.exe".
12
Allez au répertoire XAMPP et ...
Note : Si vous utilisez la version installateur, vous n'avez pas besoin d'exécuter
"setup_xampp.bat".
13
1. Démarrage, arrêt et test de XAMPP
Le centre de contrôle universel est le panneau de contrôle XAMPP de
www.nat32.com (non présent dans la version allégée).
.\xampp\xampp-control.exe
Merci pour cet excellent outil!
D'autres scripts:
Démarrage Apache & MySQL : .\xampp\xampp_start.exe
Arrêt Apache & MySQL : .\xampp\xampp_stop.exe
Démarrage Apache : .\xampp\apache_start.bat
Arrêt Apache : .\xampp\apache_stop.bat
Démarrage MySQL : .\xampp\mysql_start.bat
Arrêt MySQL : .\xampp\mysql_stop.bat
Démarrage Mercury Mailserver : .\xampp\mercury_start.bat
Arrêt Mercury : utilisez l'interface graphique
Configuration FileZilla : .\xampp\filezilla_setup.bat
Démarrage FileZilla : .\xampp\filezilla_start.bat
Arrêt FileZilla : .\xampp\filezilla_stop.bat
Pour tester : après le démarrage d'Apache, visitez http://localhost ou http://127.0.0.1 et examinez tous
les exemples et outils XAMPP.
14
2. Installation d'un des serveurs en tant que service
Vous pouvez installer en tant que service un serveur particulier sous ces
plateformes: NT4, 2000 et XP. Les scripts suivants sont disponibles:
Installation du service Apache : .\xampp\apache\apache_installservice.bat
Désinstallation du service Apache : .\xampp\apache\apache_uninstallservice.bat
Installation du service MySQL : .\xampp\mysql\mysql_installservice.bat
Désinstallation du service MySQL : .\xampp\mysql\mysql_uninstallservice.bat
Installation/désinstallation du service FileZilla : .\xampp\filezilla_setup.bat
Mercury: aucun service disponible !
3. Installation d'ajouts
De nombreux ajouts sont disponibles en vue du développement avec le kit
principal. Pour le moment, les ajouts win32 officiels sont les suivants:
Configuration de Mysql :
Il se peut qu’il y’est des probleme si on ne modifie pas le fichier
..\xampp\mysql\bin\my.cnf
Ouvrire ce fichier et chercher la ligne ou il y’a :
character-set-server = ….
collation-server = ….
character-set-server = utf8
collation-server = utf8_general_ci
15
La console de sécurité XAMPP
Tel que mentionné auparavant, XAMPP n'est pas destiné à un usage en production mais seulement
pour des développeurs dans un environnement de développement. XAMPP est configuré de façon à
être le plus ouvert possible pour permettre au développeur de faire ce qu'il/elle veut. Ceci est
intéressant dans un contexte de développement mais en production ceci pourrait s'avérer fatal.
Donc, tout le monde devrait sécuriser XAMPP avant de publier quoi que ce soit en ligne. Parfois, un
coupe-feu ou un routeur externe sont suffisants pour la sécurité. Vous devriez d'abord utiliser la
console de sécurité web XAMPP.
Pour corriger les plus importantes faiblesses de sécurité, visitez l'adresse suivante (disponible
seulement depuis localhost):
Le mot de passe root de MySQL et phpMyAdmin, ainsi qu'une protection sur le répertoire XAMPP
peuvent être établis ici. Pour Mercury et FileZilla, n'oubliez pas de modifier les réglages (utilisateur
et mot de passe). Ou encore, si vous n'avez pas besoin de ces serveurs, ne les démarrez pas.
C'est une autre forme de sécurité.
16
Question de base :
1. En quoi consiste la version Allégée de XAMPP
La version allégée de XAMPP est un sous-ensemble de XAMPP utile pour un aperçu de PHP et MySQL.
Contrairement au kit complet, certains des serveurs ou outils tels que Mercury Mail ou FileZilla FTP ne sont
pas présents. Note : il n'existe pas d'installateur, d'ajouts ou de mise à niveau pour la version allégée.
Le répertoire suggéré est htdocs (.\xampp\htdocs). Si vous y placez un fichier test.html, vous pouvez
l'afficher en visitant http://localhost/test.html avec votre propre Apache. Il en va de même avec tous les
fichiers php ou cgi. Il est possible de créer un sous-répertoire dans htdocs. Par exemple le répertoire
.\xampp\htdocs\new contenant test.html. Puis vous visitez http://localhost/new/test.html.
Oui, mais seulement la version ZIP. Après le déplacement, exécutez "setup-xampp" pour adapter tous les
fichiers de configuration. N'essayez pas ceci avec la version installateur, faites plutôt une copie de XAMPP et
placez-la dans un autre répertoire. Puis exécutez "setup-xampp" et testez.
Si vous visitez un répertoire tel que http://localhost/xampp, le serveur Apache retourne un document de
façon automatique, grâce à la présence du fichier index.php. Ceci se produit en raison de la directive
"DirectoryIndex" dans httpd.conf. C'est là que vous définissez les noms et l'ordre d'exécution des fichiers de
départ. Par défaut dans XAMPP, la directive "DirectoryIndex" contient ceci:
Vous faites vos ajustements dans XAMPP via les fichiers de configuration classiques en mode texte.
17
7. Est-ce que je dois être "en ligne" pour utiliser XAMPP?
Non, vous pouvez travailler "hors ligne" avec XAMPP.
Directory Content
\xampp\anonymous Exemple pour FTP anonyme
\xampp\apache Serveur Apache
\xampp\cgi-bin Scripts d'exécution cgi
\xampp\FileZillaFTP FileZilla FTP server directory
\xampp\htdocs Documents http
\xampp\install Pour configuration de XAMPP (ne pas effacer!)
\xampp\licenses (même)
\xampp\MercuryMail Serveur Mercury Mail (SMTP POP3 IMAP)
\xampp\mysql Serveur MySQL
\xampp\perl Perl
\xampp\php PHP (4+5)
\xampp\phpmyadmin phpMyAdmin
\xampp\security Configuration de sécurité
\xampp\tmp Temporaire
\xampp\webalizer Statistiques web Webalize
\xampp\webdav Exemple pour "WebDAV Authoring"
18
c) 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.
Environnement
Tomcat est un serveur Web qui supporte servlet et JSP. C'est le compilateur Jasper qui
compile les pages JSP pour en faire des servlet. Le moteur de servlet Tomcat est
souvent employé en combinaison avec un serveur Web Apache ou d'autres serveurs
Web.Tomcat a été écrit en langage Java, il peut donc s'exécuter via la JVM (machine
virtuelle java) sur n'importe quel système d'exploitation.
Arborescence de répertoires
L'installation par défaut de Tomcat comprend les répertoires suivants :
bin : Scripts et exécutables pour différentes tâches : démarrage (startup), arrêt, etc. ;
common : Classes communes que Catalina et les applications Web utilisent ;
conf : Fichiers de configuration au format XML et les DTD que ces fichiers XML
utilisent ;
logs : Journaux des applications Web et de Catalina ;
server : Classes utilisées seulement par Catalina ;
shared : Classes partagées par toutes les applications Web ;
webapps : Répertoire contenant les applications web ;
work : Fichiers et répertoires temporaires.
Installation :
La version de tomcat utilisé est l’addon xampp-tomcat-addon-5.5.20-2.2.3
pour xampp donc l’installation est comme décrite précédemment.
Utilisation :
Tomcat va servir de conteneur pour exécuter les web services et spécialement les
services juddi et axis
19
d) MySQL Connector/J:
Telechargement :
http://www.mysql.com/downloads/api-jdbc.html
Installation :
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 ). Pour l'installer, décompressez
l'archive mysql-connector-java-5.0.5.tar.gz
récupérer le fichier mysql-connector-java-5.0.5-bin.jar
Attention, le nom du fichier dépendra de la version que vous avez téléchargé ) et placez
le dans le répertoire :
... \xampp\tomcat\common\lib
20
e) Juddi :
Liens :
• http://ws.apache.org/juddi/
Telechargement :
http://apache.downlod.in/ws/juddi/0_9RC4/
Telecharger le fichier juddi-0.9rc4.zip
Installation :
Décompresser juddi-0.9rc4.zip
Example :
D:\juddi-0.9rc4\
21
1) Deploiment de l’application web :
..\xampp\tomcat\webapps
22
2) Création de la base de données :
dans le repertoire :
..\xampp\mysql\bin
23
Taper la commande suivante :
mysql -u root -p < create_database.sql
Il vous demande le mot de passe appuyer sur entrer
Si vous n'avers pas changer le mot de passe
USE juddi;
USE juddi;
24
3) Creation utilisateur juddi :
Demarer le serveur mysql
Ouvrire commande ms-dos et placer vous dans le dossier
..\xampp\mysql\bin
use juddi
puis
select * from publisher;
25
4) Configuration de tomcat pour qu’il puisse se conncter
A la BDD juddi :
.
.
.
<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>
</Host>
</Engine>
</Service>
</Server>
26
5) Test de l’installation :
Placer vous dans le repertoire de xampp
Lancer le serveur tomcat tomcat_start.bat
27
Le plus important c’ est le
+ SELECT COUNT(*) FROM PUBLISHER = 2
28
f) Axis :
Axis est un projet de Apache Software Foundation. C'est un package Java qui fournit :
Page web :
http://ws.apache.org/axis/
telechargement :
http://www.apache.org/dyn/closer.cgi/ws/axis/1_4
installation :
decompresser l’archive axis-bin-1_4.zip
29
Tester l’installation :
Démarrer le serveur tomcat et essayer les pages suivante
http://localhost:8080/axis/
http://localhost:8080/axis/happyaxis.jsp
30
Tester JWS Endpoint :
http://localhost:8080/axis/EchoHeaders.jws?method=list
31
g) UDDI browser :
Site : http://uddibrowser.org/
32
Installation :
Télécharger le fichier ub-0.2-bin.zip depuis le site et décompresser l’archive
D:\ub-0.2-bin
Choisire le menu edit puis clicker sur uddi regiestries une fenetre s’ouvre
33
Une fenetre apparait :
Clicker sur le bouton OK voila nous avons ajouter le register uddi que nous avons cree
En locale .vous pouver rajouter d’autre registre en ligne si vous vouler.
34
Maintenant aller dans le menu view puis find more :
Executer le 3 option :
35
h) Eclipse WTP :
Web Standard Tools (WST) : les applications J2EE utilisent des technologies qui ne
sont pas propres au monde Java. Le but du projet WST est de fournir les outils pour
manipuler ces technologies : XML, HTML, XHTML, XSD, DTD, XSLT, SVG,
JavaScript/ECMAScript, CSS, SOAP, WSDL, UDDI, WSIL, ...
J2EE Standard Tools (JST) : Eclipse répond au besoin de base des développeurs
Java. Dans le cadre des développements J2EE des outils améliorant la productivité sont
nécessaires. Le projet JST fourni des outils supportant le modèle applicatif de J2EE
(Servlet, JSP et EJB), prenant en compte le modèle de déploiement (formats WAR et
EAR) et permettant de déboguer les applications J2EE de façon intégrée à Eclipse.
Téléchargement : http://download.eclipse.org/webtools/downloads/
Telecharger le fichier wtp-all-in-one-sdk-R-1.5.3-win32.zip
puis décompresser l’archive dans le disque c: on aura le dossier
c:\eclipse\
executer le programme eclipse.exe clicker sur ok
36
il se presente l’interface suivante :
37
Outillage WebServices
Pour le développement de WebServices les trois fonctionnalités les plus visibles sont un
éditeur de fichier WSDL (ressemblant à l'éditeur de fichier XMLSchema), des assistants
pour la création de WebServices (notamment génération à partir d'une classe Java) et un
outil permettant d'invoquer un WebServices (Le 'WebServices Explorer').
Mais avant voici un petit résumé de l’installation :
38
4) Résumé de l’installation :
1) Installer le JDK
2) Installer XAMPP
3) Installer l’addon Tomcat
7) Editer le fichier :
..\xampp\tomcat\webapps\juddi\WEB-INF\ juddi.propreties
et rajouter a la fin du fichier :
39
5) publication de web services :
Nous allons voire dans ce chapitre comment publier un web services pour cela nous utiliserons
Deux méthodes :
40
Creation d’un web services axis :
Créer un fichier dans le dossier ..\xampp\tomcat\webapps\axis
et nommer le sommer.jws
Remplire ce fichier par le code suivant :
Et sauvegarder.
<getsommeReturn xsi:type="xsd:int">5</getsommeReturn>
41
Publication du web service sommer dans l’annuaire juddi :
http://localhost:8080/juddi/console/
Nous allons passer par 4 etapes :
Vous aurer une reponse en xml qui contien l’information dont nous avon besoin
authToken:088B5750-D657-11DB-9750-D495FF188B61 sauvegarder dans txt
42
etape 2 : clicker sur le lien save_business
remplire la ou il y’a des etoile par les info suivante :
authInfo celui obtenu chez vous dans atape 1 et que vous avez copier dans un fichier texte
moi g remplit comme ceci :
authInfo authToken:088B5750-D657-11DB-9750-D495FF188B61
name cbi
description grossiste
personName hassen ali
phone 021531224
email [email protected]
Nous aurons besoin dans la réponse du businesskey copier la dans le fichier txt
businessKey="831C8780-D659-11DB-8780-A03AF047EE37"
43
étape 3 : clicker sur le lien save_tModel
Category Bag
------------
tModelKey UUID:C1ACF26D-9672-4404-9D70-39B756E62AB4
keyName uddi-org:types
keyValue wsdlSpec
authInfo authToken:088B5750-D657-11DB-9750-D495FF188B61
businessKey 831C8780-D659-11DB-8780-A03AF047EE37
name Sommer
accessPoint http://localhost:8080/axis/sommer.jws
tModelKey uuid:82B06D50-D65B-11DB-AD50-B3DFEE851858
overviewURL http://localhost:8080/axis/sommer.jws?wsdl
46