Upload
abitaf
View
2.264
Download
3
Embed Size (px)
Citation preview
Web Services Création d’un annuaire UDDI
Tutorial réalisé par [email protected]
2007
adel
USTHB
16/03/2007
2
Tutorial Juddi
3
TABLE DES MATIÈRES
1. Introduction ………………………………………………………………………………………………… 4
2. Définitions …………………………………………………………………………………………………… 4
2.1. Web Services …………………………………………………………………………………… 4
2.2. UDDI ………………………………………………………………………………………………… 4
3. Outils nécessaires ………………………………………………………………………………………… 5-36
3.a. Java Development Kit ……………………………………………………………………… 5
3.b. XAMPP……………………………………………………………………………………………… 10
Configuration de MySQL ……………………………………………………………… 15
3.c. TOMCAT…………………………………………………………………………………………… 19
3.d. MySQL Connector/J ……………………………………………………………………… 20
3.e. Juddi ……………………………………………………………………………………………… 21
3.f. Axis ………………………………………………………………………………………………… 29
3.g. UDDI browser………………………………………………………………………………… 32
3.h. Eclipse WTP …………………………………………………………………………………… 36
4. résumé de l’installation ……………………………………………………………………………… 39
5. publication de web services ………………………………………………………………………… 40
5.1 methode 1 avec la console juddi ……………………………………………………… 40
5.2 methode 2 evec eclipse ……………………………………………………
4
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.1 Web Services :
Un service Web est un ensemble de protocoles et de normes informatiques utilisés pour
échanger des données entre les applications.
Les logiciels écrits dans divers langages de programmation et sur diverses plateformes
peuvent employer des services Web pour échanger des données à travers des réseaux
informatiques comme Internet. Cette interopérabilité est due à l'utilisation de normes
ouvertes regroupées au sein du terme générique de SOA (Service Oriented Architecture
ou Architecture orientée services). L'OSI et le World Wide Web Consortium (W3C) sont
les comités de coordination responsables de l'architecture et de la standardisation des
services Web. Pour améliorer l'interopérabilité entre les réalisations de service Web,
l'organisation WS-I (Web Services Interoperability) a développé une série de profils pour
faire évoluer les futures normes impliquées.
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.
5
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
a) Java Development Kit :
(couramment abrégé en JDK) est l'environnement dans lequel le code Java est compilé
pour être transformé en bytecode afin que la JVM (machine virtuelle de Java) puisse
l'interpréter.
Telecharger et installer les programmes pour developper en Java Les versions de Java pour les systemes Windows, Solaris et Linux sont disponibles sur le site Internet de Sun Microsystems à http://java.sun.com.
6
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
Installation sous Windows NT, 2000/XP :
1 Exécutez le fichier d’installation jdk-VERSION-OS.exe et installez le JDK dans le dossier propose C:\program Files\java\jdkVERSION
2 Cliquez avec le bouton droit de la souris sur l’icône de votre poste de travail et choisissez le menu Propriétés. 3 Choisissez l’onglet Avancé dans la boîte de dialogue des Propriétés. 4 Cliquez sur le bouton Variables d’environnement.
5 Ajoutez la variable d’environnement path avec la valeur : %Path% ;C:\program Files\java\jdkVERSION\bin Si la variable existe déjà, modifiez-la en ajoutant à la fin de sa valeur : ;C:\program Files\java\jdkVERSION\bin
6 Confirmez votre saisie et fermez la boîte de dialogue.
7
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.
8
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 : • javac : le compilateur Java vérifie la syntaxe du (des) fichier(s) .java passé(s) en paramètres et génère un fichier .class pour chacune des classes qu’ils contiennent. • java : cette commande lance la machine virtuelle Java qui charge la classe passée en paramètre puis appelle sa méthode main . • appletviewer : cette commande lit le fichier HTML passé en paramètre puis affiche dans une fenêtre l’applet de chaque balise <applet> de ce fichier. • jar: cette commande crée et lit des archives au format ZIP. • javadoc : cette commande génère la documentation au format HTML d’un ensemble de classes à partir de leurs commentaires au format javadoc. C’est avec cet outil que la documentation des API Java est créée. Chaque commande Java propose un ensemble d’options repérable au tiret (-) qui les précède. La liste de ces options s’obtient en tapant une commande Java seule dans une fenêtre de commandes ou en cliquant sur le lien Tool Docs de la documentation du J2SE. Par exemple, la version de la JVM est obtenue en tapant la commande : java -version
Bien sûr, ces commandes et le paramétrage de leurs options sont intégrées dans les IDE Java disponibles sur le marché.
Tester l’installation : votre première application Java Recopiez le programme suivant dans un fichier texte dénommé Bienvenue.java
Respectez la casse des caractères du fichier et son extension .java
class Bienvenue
{
public static void main(java.lang.String [] args)
{
javax.swing.JOptionPane.showMessageDialog(null,"Bienvenue");
}
}
Cette application affiche dans une boîte de dialogue le texte Bienvenue .
Compilation de l’application : Pour compiler le fichier Bienvenue.java : 1 Ouvrez une fenêtre de commandes 2 Déplacez-vous avec la commande cd dans le dossier où se trouve le fichier Bienvenue.java
3 Exécutez la commande suivante : javac Bienvenue.java Si votre programme est correctement compilé, la commande javac n’affiche aucun message et crée le fichier bienvenue.class dans le dossier du fichier Bienvenue.java. Si le compilateur détecte une erreur, un texte décrivant l’erreur apparaît à l’écran. Remontez toujours à la première erreur du texte généré par javac, car les dernières erreurs sont souvent liées aux premières erreurs de la liste.
9
Les cinq erreurs de compilation les plus fréquentes 1 Commande inconnue ‘javac’ n’est pas reconnu en tant que commande interne
Ou externe ,un programme executable ou un fichier de commande. La modification que vous avez apportée au PATH est incorrecte, ce qui empêche le système de retrouver la commande javac. Vérifiez le PATH et modifiez-le comme indiqué précédemment. 2 Fichier absent : Error : cannot read : Bienvenue.java Vérifiez que le dossier courant contienne bien le fichier Bienvenue.java Renommez le fichier exactement comme cela en cas de besoin, ou changez de dossier courant pour aller dans le dossier où se trouve le fichier. 3 Argument inconnu Javac : invalid argument :Bienvenue Usage : javac <options> <source files> … N’oubliez pas l’extension .java des fichiers. 4 Syntaxe : symbole oublié Bienvenue.java :5 : ‘ ;’ expected
(recopie de la ligne 5) Il vous faut certainement vérifier que vous ayez bien écrit le caractère attendu. 5 Symbole introuvable Bienvenue.java :3 : cannot resolve symbol Symbol : class string Location : package lang
(recopie de la ligne 3) Vérifiez l’orthographe du symbole cité, ici string qui doit s’écrire String
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.
Les trois erreurs d’exécution les plus fréquentes Si une erreur survient lors de l’exécution du programme, une exception est déclenchée empêchant généralement la JVM de poursuivre son exécution. 1 Définition de classe non trouvée (1) Exception in thread « main » java.lang. NoClassDefFoundError : Bienvenue /class Vous avez dû taper la commande java Bienvenue.class (la commande java
demande en paramètre une classe pas un fichier). 2 Définition de classe non trouvée (2) Exception in thread « main » java.lang. NoClassDefFoundError : Bienvenue Vérifiez que le dossier courant contienne bien un fichier Bienvenue.class Si le problème persiste, assurez-vous que la variable d’environnement CLASSPATH
soit égale à rien. 3 Méthode main non trouvée Exception in thread « main » java.lang.NoSuchMethodError : main Vérifiez la déclaration de la méthode main puis recompilez le programme.
10
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.
Installation et désinstallation faciles
Afin d'installer XAMPP vous n'avez qu'à le télécharger et à le décompresser,
c'est tout. Aucun changement au registre Windows n'est effectué et il n'est aucunement nécessaire de modifier un fichier de configuration. Ça ne pourrait
être plus facile!
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
Vous pouvez télécharger XAMPP pour Windows sous trois formes:
Installateur
Facile et sûr: XAMPP avec un installateur agréable
Archive zip
Pour les puristes: XAMPP dans une archive zip ordinaire
Fichier auto-extractible
Économique: XAMPP dans une archive auto-extractible 7-zip très petite
11
Méthode A : avec installateur
Cette méthode est la voie la plus facile pour installer XAMPP.
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.
12
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".
13
Allez au répertoire XAMPP et ...
exécutez "setup_xampp.bat" pour configurer XAMPP.
Note : Si vous utilisez la version installateur, vous n'avez pas besoin d'exécuter
"setup_xampp.bat".
»Je veux démarrer XAMPP sans configurer!«
Si vous décomprimez XAMPP dans un répertoire racine tel que c:\xampp ou
d:\xampp, vous pouvez essayer de démarrer XAMPP directement; donc, sans
exécuter "setup_xampp.bat". Apache, MySQL et le serveur de courrier Mercury
vont démarrer correctement! Seul le serveur FTP FileZilla ne fonctionnera pas puisqu'il nécessite des chemins absolus. Avec cette méthode, évitez d'avoir un
double répertoire tel que c:\xampp\xampp.
14
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.
15
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:
Perl, mod_perl et une sélection de modules Perl importants
Tomcat (SUN J2SE SDK doit être installé au préalable)
Cocoon pour Tomcat (nécessite l'installation de l'ajout Tomcat)
Python
La règle à suivre: si vous utilisez l'installateur pour XAMPP, les ajouts à
sélectionner doivent aussi être en format installateur; de même pour les versions
ZIP et 7-Zip. Pour installer un ajout en format ZIP, décomprimez l'archive
directement dans le répertoire XAMPP principal. Puis exécutez "setup_xampp.bat".
C'est tout. Par contre, si vous utilisez l'installateur pour un ajout, tout se fait
automatiquement, il n'y a rien à faire de plus.
Note : n'importe qui peut préparer un nouvel ajout XAMPP pour ses besoins. Par exemple, vous
trouverez d'autres ajouts pour XAMPP sur http://sourceforge.net/projects/xamppaddon.
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 = ….
Remplacer les point par :
character-set-server = utf8
collation-server = utf8_general_ci
16
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.
Voici la liste des éléments de sécurité manquants dans XAMPP :
L'administrateur MySQL (root) n'a pas de mot de passe.
Le serveur MySQL est accessible depuis le réseau. phpMyadmin est accessible depuis le réseau.
Les exemples sont disponibles depuis le réseau.
L'utilisateur de Mercury et FileZilla est connu.
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):
Avant la version 1.4.15 : http://127.0.0.1/xampp/xamppsecurity.php
Depuis la version 1.4.15 :
http://127.0.0.1/security
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é.
17
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.
2. Où devrais-je placer mes documents web?
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.
Autres types de fichiers :
CGI, exécutable partout, extensions permises : .cgi => kit de base
PHP, exécutable partout, extensions permises : .php .php4 .php3 .phtml => kit de base
MOD Perl, exécutable sous .\xampp\htdocs\modperl, extensions permises : .pl => ajout Perl
ASP Perl, exécutable sous .\xampp\htdocs\modperlasp, extensions permises : .asp => ajout Perl
JSP Java, exécutable sous .\xampp\tomcat\webapps\java (u.a), extensions permises : .jsp => ajout Tomcat
Servlets Java, exécutable sous .\xampp\tomcat\webapps\java (u.a), extensions permises : .html (u.a) =>
ajout Tomcat
MOD Python, exécutable sous .\xampp\htdocs\python, extensions permises: .py => ajout Python
Spyce Python, exécutable sous .\xampp\htdocs\python, extensions permises: .spy => ajout Python
3. Puis-je déplacer XAMPP?
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.
4. Comment puis-je créer un répertoire à démarrage automatique?
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:
index.php index.php4 index.php3 index.cgi index.pl index.html index.htm index.html.var index.phtml
6. Où puis-je modifier la configuration?
Vous faites vos ajustements dans XAMPP via les fichiers de configuration classiques en mode texte.
Les fichiers suivants existent :
Configuration de base d'Apache : .\xampp\apache\conf\httpd.conf
Apache SSL: .\xampp\apache\conf\ssl.conf
Apache Perl (ajout): .\xampp\apache\conf\perl.conf
Apache Tomcat (ajout): .\xampp\apache\conf\java.conf
Apache Python (ajout): .\xampp\apache\conf\python.conf
PHP: .\xampp\apache\conf\php.ini (en exécution sous Apache)
MySQL: .\xampp\mysql\bin\my.cnf
phpMyAdmin: .\xampp\phpMyAdmin\config.inc.php
FileZilla FTP: .\xampp\FileZillaFTP\FileZilla Server.xml
Configuration de base de Mercury Mail : .\xampp\MercuryMail\MERCURY.INI
Sendmail: .\xampp\sendmail\sendmail.ini
18
7. Est-ce que je dois être "en ligne" pour utiliser XAMPP?
Non, vous pouvez travailler "hors ligne" avec XAMPP.
8. À quoi servent les différents répertoires?
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"
Où puis-trouver plus d'information (FAQ, etc)
Veuillez visiter notre FAQ XAMPP pour Windows:
http://www.apachefriends.org/en/faq-xampp-windows.html
Ou utilisez notre forum:
http://www.apachefriends.org/f/
XAMPP et les services
Pour les utilisateurs NT/2000, dans tous les kits vous trouverez les fichiers
d'installation et de désinstallation pour transformer tous les serveurs en services
dans les répertoires respectifs.
apache_installservice.bat => Installe Apache en tant que service
apache_uninstallservice.bat => Désinstalle le service Apache mysql_installservice.bat => Installe MySQL en tant que service
mysql_uninstallservice.bat => Désintalle le service MySQL
Après tout changement, redémarrez votre système. Note! pour désinstaller le
service mysql vous devez d'abord l'avoir stoppé!
19
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
20
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
21
e) 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.
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\
Docs contient la documentation sur juddi
SQL contient les fichier necessaire pour la creation de la
Base de donne mysql
Webapp contient l’aplication web juddi qui s’executera sur tomcat
22
1) Deploiment de l’application web :
A l’interieur du repertoire webapp il y’a un repertoire qui se nomme juddi Copier ce repertoire dans le dossier :
..\xampp\tomcat\webapps
Editer le fichier juddi.propreties present dans le dossier :
..\xampp\tomcat\webapps\juddi\WEB-INF
et rajouter a 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
23
2) Création de la base de données :
Demarer le serveur mysql
Copier les 2 fichier present dans le repertoire :
D:\juddi-0.9rc4\sql\mysql create_database.sql
insert_publishers.sql
dans le repertoire :
..\xampp\mysql\bin
Ouvrire commande ms-dos et placer vous dans ce dossier
24
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
Editer le fichier insert_publishers.sql :
USE juddi;
-- *** SAMPLE PUBLISHER *** -- INSERT INTO PUBLISHER
(PUBLISHER_ID,PUBLISHER_NAME,EMAIL_ADDRESS,IS_ENABLED,IS_ADMIN)
-- VALUES ('jdoe','John Doe','[email protected]','true','true');
Enlever les –- de insert et de values et rajouter un publisher si vous le vouler
Le fichier devient :
USE juddi;
-- *** SAMPLE PUBLISHER ***
INSERT INTO PUBLISHER
(PUBLISHER_ID,PUBLISHER_NAME,EMAIL_ADDRESS,IS_ENABLED,IS_ADMIN)
VALUES ('jdoe','John Doe','[email protected]','true','true');
INSERT INTO PUBLISHER
(PUBLISHER_ID,PUBLISHER_NAME,EMAIL_ADDRESS,IS_ENABLED,IS_ADMIN) VALUES ('adel','abdelatif','[email protected]','true','true');
Sauvegarder et refaite la meme operation que precedement :
mysql -u root -p < insert_publishers.sql
La base de données est maintenant créer et la table publisher contient
Deux utilisateur Jdoe et adel.
25
3) Creation utilisateur juddi :
Demarer le serveur mysql
Ouvrire commande ms-dos et placer vous dans le dossier
..\xampp\mysql\bin
Taper la commande mysql -u root –p
Pour vous connecter a la BDD en tant que root.
Vous este maintenant dans la console de mysql tapez:
GRANT ALL ON juddi.* TO juddi@"%" IDENTIFIED BY "juddi";
GRANT ALL ON juddi.* TO juddi@"localhost" IDENTIFIED BY "juddi";
Pour vous déconnecter de la BDD taper quit
Vous pouvez vous reconnecter en tant que l’utilisateur juddi
mysql -u juddi -p
essayer les commande suivante:
use juddi
puis
select * from publisher;
26
4) Configuration de tomcat pour qu’il puisse se conncter
A la BDD juddi :
Placer vous dans le repertoire
..\xampp\tomcat\conf
éditer le fichier server.xml
rajouter le code (avant de voir </Host> </Engine></Service></Server>) :
<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>
Le fichier server.xml deviendra comme suit :
.
.
. <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>
27
5) Test de l’installation :
Placer vous dans le repertoire de xampp
Lancer le serveur tomcat tomcat_start.bat
Lancer le serveur mysql mysql_start.bat
Ouvrer votre navigateur web préférer et taper l’adresse suivante
http://localhost:8080/juddi/happyjuddi.jsp
si tout va bien vous verré la page suivante :
28
Le plus important c’ est le
+ SELECT COUNT(*) FROM PUBLISHER = 2
29
f) Axis :
Axis est un projet de 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...
la sérialisation/désérialisation automatique d'objets Java dans des messages SOAP
des outils pour créer automatiquement les WSDL correspondant à des classes Java ou
inversement pour créer les classes Java sur la base d'un WSDL (classe proxy en quelque
sorte, qui fait le lien entre l'application Java cliente et le service distant).
des outils pour déployer, tester et monitorer des web-services.
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
example D:\ axis-1_4\
Copier ce qu’il y’a a l’intérieur du dossier lib dans
..\xampp\tomcat\common\lib
Copier ce qu’il y’a a l’intérieur du dossier webapps dans ..\xampp\tomcat\webapps
30
Tester l’installation :
Démarrer le serveur tomcat et essayer les pages suivante http://localhost:8080/axis/ http://localhost:8080/axis/happyaxis.jsp
Tester SOAP Endpoint : http://localhost:8080/axis/services/Version?method=getVersion
vous dever voire :
31
Tester JWS Endpoint : http://localhost:8080/axis/EchoHeaders.jws?method=list
vous dever voire :
Tester le wsdl d’un web service : Assurer vous de voire le WSDL de l’example Stock Quote Service
http://localhost:8080/axis/StockQuoteService.jws?wsdl
32
g) UDDI browser : Uddi browser est un projet open source qui autorise 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.
Uddi browser supporte l’api complète de la manipulation des registres uddi
Interrogation, création, mise a jour,suppression de toute les entité uddi
Il intègre plusieurs option qui rende la vie facile a l’administrateur et a
l’utilisateur : interrogation persistante, utilitaire d’aide a a la maintenance.
Site : http://uddibrowser.org/
33
Installation :
Télécharger le fichier ub-0.2-bin.zip depuis le site et décompresser l’archive
D:\ub-0.2-bin
Aller dans le dossier bin et executer le fichier ub.bat
Choisire le menu edit puis clicker sur uddi regiestries une fenetre s’ouvre
Cliker sur le bouton Add
34
Une fenetre apparait :
Remplire par les information suivante :
Name : juddi
Inquiry URL : http://localhost:8080/juddi/inquiry
Publish URL : http://localhost:8080/juddi/publish
Username : juddi
Passward : juddi
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.
Choisire juddi puis clicker sur connect :
Remarque : les serveur tomcat et mysql doivent etre demarer
35
Maintenant aller dans le menu view puis find more :
Executer le 3 option :
Find all business
Find all services
Find all tModels
Si tout va bien vous devers avoir :
36
h) Eclipse WTP :
Qu'est-ce que Eclipse ?
Eclipse est à l'origine un IDE Java. Developpé par IBM à partir de ses ancêtres Visual Age
et Visual Age For Java. Il a depuis été rendu open-source et son évolution est maintenant
gérée par la fondation Eclipse.
Sa conception est completement modulaire : basée sur un moteur de chargement de
plugins et de differents plugins, ce qui fait d'Eclipse une boite à outils facilement
amélioriable ou modifiable. La license d'Eclipse permet de fournir des plugins open
sources comme des plugins closed-source, des plugins gratuits ou payants.
C'est pourquoi il est maintenant bien plus qu'un IDE java, et gêre un grand nombre de
langages de programmation.
Présentation d'Eclipse Web Tools Platform (WTP)
Le développement d'applications J2EE est l'utilisation principale de Java. Il est donc
logique que la fondation Eclipse ait répondu aux besoins particuliers des développeurs
d'applications J2EE en complétant son environnement de développement Java. Les
développements de ces outils J2EE se font dans le cadre du projet WTP (Web Tools
Platform). Après des débuts laborieux (cf encart), le projet WTP a atteint la maturité
depuis la version 1.5 (livrée en juin 2006). Cette version 1.5 cible J2EE 1.4. La prochaine
version majeure, WTP 2.0 (juin 2007), ciblera Java EE 5.
WTP est organisé en deux projets :
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
37
il se presente l’interface suivante :
38
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').
Voila nous avons finie l’installation de tout les composant nous Allons passer maintenant a la publication de web services.
Mais avant voici un petit résumé de l’installation :
39
4) Résumé de l’installation : 1) Installer le JDK
2) Installer XAMPP
3) Installer l’addon Tomcat
4) Modifier fichier ..\xampp\mysql\bin\my.cnf character-set-server = utf8
collation-server = utf8_general_ci
5) Ajouter au fichier ..\xampp\tomcat\conf\server.xml
<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>
6) Décompresser juddi-0.9rc4.zip dans d :
Copier D:\juddi-0.9rc4\webapp\juddi\
vers ..\xampp\tomcat\webapps
7) Editer le fichier :
..\xampp\tomcat\webapps\juddi\WEB-INF\ juddi.propreties
et rajouter a 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
8) Creer la base de donnée juddi avecles deux fichier :
D:\juddi-0.9rc4\sql\mysql\
create_database.sql
insert_publishers.sql
copier les dans le repertoire : ..\xampp\mysql\bin
puis executer lecommande suivante dans une fenetre dos :
mysql -u root -p < create_database.sql
mysql -u root -p < insert_publishers.sql
9) Creer l’utilisateur juddi :
mysql -u root -p GRANT ALL ON juddi.* TO juddi@"%" IDENTIFIED BY "juddi";
GRANT ALL ON juddi.* TO juddi@"localhost" IDENTIFIED BY "juddi";
10) Installer axis et eclipse
40
5) publication de web services : Nous allons voire dans ce chapitre comment publier un web services pour cela nous utiliserons
Deux méthodes :
Methode 1 : publication a l’aide de la console juddi
La console juddi est un outil puissant de test
lancer les serveur tomcat et mysql et tapper l’adresse suivante dans votre
navigateur :
http://localhost:8080/juddi/console/
41
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 :
public class sommer {
public int getsomme(int a, int b) { return a+b;
}
}
Et sauvegarder.
Essayer les lien suivant :
pour voire le wsdl générer par axis du web service sommer
http://localhost:8080/axis/sommer.jws
http://localhost:8080/axis/sommer.jws?wsdl
pour invoquer la méthode getsomme de sommer avec a=2 et b=3 http://localhost:8080/axis/sommer.jws?method=getsomme&a=2&b=3
Vous remarquer le resultat de la somme :
<getsommeReturn xsi:type="xsd:int">5</getsommeReturn>
42
Publication du web service sommer dans l’annuaire juddi :
http://localhost:8080/juddi/console/
Nous allons passer par 4 etapes :
UDDI Publish API get_authToken save_business save_tModel save_service
etape 1 : clicker sur le lien get_authToken remplire userID par un des utilsateurs de la table publisher
dans mon cas g choisi adel clicker ensuite sur le bouton submit
Vous aurer une reponse en xml qui contien l’information dont nous avon besoin
authToken:088B5750-D657-11DB-9750-D495FF188B61 sauvegarder dans txt
43
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]
clicker sur submit
Nous aurons besoin dans la réponse du businesskey copier la dans le fichier txt
businessKey="831C8780-D659-11DB-8780-A03AF047EE37"
44
étape 3 : clicker sur le lien save_tModel
remplire par les information suivante :
authInfo authToken:088B5750-D657-11DB-9750-D495FF188B61
name http://localhost:8080/axis/StockQuoteService.jws?wsdl
overviewURL http://localhost:8080/axis/StockQuoteService.jws?wsdl
Category Bag
------------
tModelKey UUID:C1ACF26D-9672-4404-9D70-39B756E62AB4
keyName uddi-org:types
keyValue wsdlSpec
cliker sur submit :
Nous obtenons dans la reponse le tModelKey gardez le dans un txt
tModelKey="uuid:82B06D50-D65B-11DB-AD50-B3DFEE851858"
45
étape 4 : clicker sur le lien save_service
remplire par les information suivante :
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
clicker sur submit :
Et voila le web service sommer est dans l’annuaire Juddi
46
Faite une recherche avec uddi browser pour verifier :