TP1 : Architecture Orientée Services
Introduction à la création de Services Web à l’aide de Netbeans et Glassfish
Equipe pédagogique : Nadia Yacoubi Ayadi, Marwa Massabi, Hiba Chaher
Objectifs :
Le but de ce TP est :
- Vous initier à la création de services web.
- Vous familiariser avec l'IDE NetBeans et avec le serveur d'applications GlassFish afin de vous permettre ensuite de développer et déployer des web services.
Prise en main de l'environnement de développement
L'environnement de développement utilisé dans ces exercices est composé de :
- NetBeans : un environnement de développement (IDE - Integrated Development Environment), qui permet notamment d'éditer et compiler du code ;
- GlassFish : un serveur d'application Java Enterprise Edition qui permet de déployer les applications développées.
1. Prise en main du serveur d'applications GlassFish
NetBeans dispose nativement d'une interface d'interaction avec le serveur d'application GlassFish.
Lancer NetBeans.
Dans l'onglet Services, aller à Servers > GlassFish Server 4.1 puis choisir Start dans le menu contextuel (clic droit avec la souris).

L'onglet GlassFish Server qui est apparu en bas de la fenêtre de Netbeans.
- Il est possible de faire apparaître le menu contextuel dans lequel on trouve un accès à la console d’administration du serveur d’application GlassFish🡺 Toujours sur Servers > GlassFish Server 4.1, choisir View Admin Console dans le menu contextuel.
Elle se présente sous la forme d’un JSF (Java Server Faces) que l’on peut visualiser par un navigateur web. Le chargement de la page peut prendre un peu de temps mais vous devez obtenir quelque-chose qui ressemble à la figure ci-dessous.
Sont regroupés dans cette console, l’ensemble des outils permettant de gérer les applications et le fonctionnement du serveur (opération de maintenance, de suivi de connexions, etc.)
Publicité

- Il est possible de connaitre la liste des applications déployées en cliquant sur applications du menu

En choisissant une application, on obtient des informations supplémentaires

En cliquant sur View Endpoint (afficher point d’extrémité), on retrouve une synthèse des informations sur l’application et le lien vers la page WSDL et la page de test.
1. Création d’un service web
Créez un nouveau projet nommé « MajusculeAppli ».
NetBeans est basé sur la notion de projet. Un projet correspond à tout ou partie d'une application que l'on souhaite développer.
Aller dans le menu File > New Project. Choisir Web Application dans la catégorie Java Web.
Dans l'écran Name and Location, nommer le projet "MajusculeAppli" et l'enregistrer dans C:\Utilisateurs\[votre login]\Documents\NetBeansProjects.
ATTENTION, cette étape est très importante sans quoi vous ne pourrez pas déployer votre module sur le serveur !
Si le répertoire "NetBeansProjects" n'existe pas dans "C:\Utilisateurs\[votre login]\Documents\", créez le.
Dans l'écran Server and settings, laisser les valeurs par défaut.
Dans l'écran Frameworks, laisser les valeurs par défaut. Puis, cliquer sur Terminer.
Le projet que vous venez de créer contient tous les éléments de base d'une application web.
1. Développement d’un service web
L'objectif de cet exercice est de développer un service WS-\* qui reçoit en paramètre une chaine txt, la met en majuscule.
Publicité
Le code de cet exercice est à placer dans le projet " MajusculeAppli".
Créez un nouveau web service « MajusculeWS » dans un package nommé « resources ».
Clic droit sur le projet 🡪 new 🡪 others 🡪 web service
Ajoutez une nouvelle opération au service web nommée « Maj ».
Clic droit sur le service web «MajusculeWS» 🡪 add operation 🡪 name : Maj ; return type : string ;
Ajoutez les instructions nécessaires à l’opération « Maj » :
- Déployer votre application sur le serveur (clic droit puis Deploy).
- Regarder l'onglet GlassFish Server. A quelle URL votre service peut-il être interrogé ? Ou peut-on télécharger le contrat WSDL du service ? Et le XML Schema des données échangées par votre service ?
- Dans un navigateur web, taper l'URL de votre service, suivie de ? Tester. Qu'avez-vous sous les yeux ?
1. Développement d'un client pour un service WS-\*
- NetBeans propose un outil de génération automatique pour utiliser un service WS-\* à partir de son contrat WSDL.
1. Utiliser cet outil pour créer un client pour le Web Service "MajusculeWS" permettant de saisir une chaine en miniscule et de la recevoir en majuscule.
2. Création du stub
Créer un nouveau projet de type Java Application appelé "MajWebServiceClient" et l'enregistrer dans C:\Users\[votre login]\Documents\NetBeansProjects.
Utiliser le menu File > New File > Web Services > Web Service Client pour lancer l'assistant de création automatique de client de Web Service de NetBeans.
Dans l'écran WSDL and Client location :
1. Sélectionner WSDL URL et saisir l'URL du contrat WSDL du service ;
2. Indiquer un nom de package Java pour les classes qui vont être générées automatiquement par NetBeans, puis cliquer sur "Finish".
Quelles sont les ressources qui sont automatiquement créées dans le projet NetBeans ? Ou peut-on retrouver la liste des opérations mises à disposition par le service ?
1. Utilisation du service depuis une application
Publicité
Créer une classe Java avec une méthode main.
Au niveau du projet, faire apparaître le contenu du dossier "Web Service Reference" de manière à voir tous les éléments imbriqués jusqu'aux "feuilles" de la hiérarchie qui correspondent aux opérations disponibles sur le service référencé.
Sélectionner l'opération Maj et la glisser avec la souris sur la classe Java juste en dessous de la méthode main.
Cette opération créée une méthode statique permettant d'appeler l'opération Maj du service via le proxy.
Appeler cette méthode depuis la méthode main en lui donnant une chaine de caractère de votre choix et afficher le résultat.
Faire "Clean and Build" puis "Run" sur votre projet et vérifier le résultat dans l'onglet
" MajWebServiceClient (run)" qui s'affiche en bas de la fenêtre de NetBeans.
Travail à rendre pour le lundi 24 octobre 2016
Créer un client pour le Service Web "CountryInfoService" permettant d'obtenir diverses informations sur des pays.
- Découverte du service et configuration
Consulter [la documentation](http://www.oorsprong.org/websamples.countryinfo/CountryInfoService.wso) du service "CountryInfoService" disponible à l’adresse http://www.oorsprong.org/websamples.countryinfo/CountryInfoService.wso.
Son contrat WSDL est disponible à partir du lien service description (http://www.oorsprong.org/websamples.countryinfo/CountryInfoService.wso?WSDL)
Quelles opérations sont mises à dispositions par le service ?
- Développez un client JSP (Java Server Pages) permettant de consommer certaines fonctionnalités du service Web "CountryInfoService".