jeudi, octobre 12, 2006

Développer des Web Services multimédia pour PAAM

Nous décrivons ici quelques étapes qui permettent de développer rapidement et facilement des Web Services pour PAAM. L'essentiel des étapes décrites constitue un guide d'écriture rapide de Web Services à l'aide d'Eclipse.

Environnement de développement et de publication


Il nous faut
- un serveur d'application; nous avons choisi Tomcat 5.5,
- un IDE de développement Java; nous avons choisi Eclipse 3.2 (voir http://www.eclipse.org/downloads/index.php)

Nous avons ajouté à Eclipse les extension du WTP -Web Tool Platform-, comprenant le module WST -Web Standard Tools- (voir http://www.eclipse.org/webtools/ et http://download.eclipse.org/webtools/downloads/drops/R1.5/R-1.5.1-200609230508/). Ces extensions vont nous faciliter la création de description WSDL, la génération de code de Web Service et le test du résultat.

Créer et tester un Web Service


Nous allons partir de rien. Nous verrons dans une autre note comment créer un service PAAM à l'aide des classes de services définies dans l'ontologie.

Nous devons d'abord déclarer un serveur dans Eclipse. Il nous servira au déploiement et aux tests. pour cela, cliquer New/Project/Server.

- menu New, création d'un Dynamic Web Project (à compléter)
- menu New, création d'un WSDL ((à compléter)
- menu New, génération d'un web service et de fonctions de test (à compléter)
...

Déploiement
Le service peut être trouvé dans un sous-directory du workspace Eclipse qui a servi pour le développement. Par exemple, pour le workspace eclipseTests, le directory adressé par le serveur de test était:
/eclipseTests/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/webapps/
et les webs services développés et les applications de test se trouvaient dans ce directory webapps.
Pour les installer sur un serveur, il faut créer une archive déployable. Pour cela, dans le webapps ci-dessus et pour le service ImageResize, il faut faire:
cd Imageresize
pour descendre dans le directory où est définit le Web Service, puis
jar -cvf ImageResize.war *
pour faire le package déployable.
Ensuite, il suffit de copier le fichier war dans le directory webapps du serveur d'application et de provoquer son déploiement.
Il peut cependant être nécessaire de modifier une ligne dans le fichier server-config.wsdd. Il s'agit de la ligne qui indique où doivent être stockés les attachements que sont succeptibles de manipulés les services. La valeur (value) de cet élément doit désigner un chemin d'accès à un directory qui existe sur la machine où on fait le déploiement.