46
Web Services Création d’un annuaire UDDI Tutorial réalisé par [email protected] 2007 adel USTHB 16/03/2007

Tutorial Juddi v4

  • Upload
    abitaf

  • View
    2.264

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Tutorial Juddi v4

Web Services Création d’un annuaire UDDI

Tutorial réalisé par [email protected]

2007

adel

USTHB

16/03/2007

Page 2: Tutorial Juddi v4

2

Tutorial Juddi

Page 3: Tutorial Juddi v4

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 ……………………………………………………

Page 4: Tutorial Juddi v4

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.

Page 5: Tutorial Juddi v4

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.

Page 6: Tutorial Juddi v4

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.

Page 7: Tutorial Juddi v4

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.

Page 8: Tutorial Juddi v4

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.

Page 9: Tutorial Juddi v4

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.

Page 10: Tutorial Juddi v4

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

Page 11: Tutorial Juddi v4

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.

Page 12: Tutorial Juddi v4

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".

Page 13: Tutorial Juddi v4

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.

Page 14: Tutorial Juddi v4

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.

Page 15: Tutorial Juddi v4

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

Page 16: Tutorial Juddi v4

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é.

Page 17: Tutorial Juddi v4

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

Page 18: Tutorial Juddi v4

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é!

Page 19: Tutorial Juddi v4

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

Page 20: Tutorial Juddi v4

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

Page 21: Tutorial Juddi v4

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

Page 22: Tutorial Juddi v4

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

Page 23: Tutorial Juddi v4

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

Page 24: Tutorial Juddi v4

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.

Page 25: Tutorial Juddi v4

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;

Page 26: Tutorial Juddi v4

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>

Page 27: Tutorial Juddi v4

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 :

Page 28: Tutorial Juddi v4

28

Le plus important c’ est le

+ SELECT COUNT(*) FROM PUBLISHER = 2

Page 29: Tutorial Juddi v4

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

Page 30: Tutorial Juddi v4

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 :

Page 31: Tutorial Juddi v4

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

Page 32: Tutorial Juddi v4

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/

Page 33: Tutorial Juddi v4

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

Page 34: Tutorial Juddi v4

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

Page 35: Tutorial Juddi v4

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 :

Page 36: Tutorial Juddi v4

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

Page 37: Tutorial Juddi v4

37

il se presente l’interface suivante :

Page 38: Tutorial Juddi v4

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 :

Page 39: Tutorial Juddi v4

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

Page 40: Tutorial Juddi v4

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/

Page 41: Tutorial Juddi v4

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>

Page 42: Tutorial Juddi v4

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

Page 43: Tutorial Juddi v4

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"

Page 44: Tutorial Juddi v4

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"

Page 45: Tutorial Juddi v4

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

Page 46: Tutorial Juddi v4

46

Faite une recherche avec uddi browser pour verifier :