ENSIIE - TP Architecture d'Integration

afternoonhandsomelySoftware and s/w Development

Nov 17, 2012 (4 years and 7 months ago)

374 views

TP ENSIIE – Architecture des SI et des Applications

© ITekia 2009
P a g e
| 2


TP Architecture des SI et des Applications / ENSIIE

Bruno Vincent (
bruno.vincent@itekia.com
)

0. Préambule

• Vérifiez que Konqueror est bien le navigateur par défaut dans Netbeans. Allez
pour cela dans « Tools » puis sélectionnez « Options ». Si Konqueror n’est pas
le navigateur par défaut, positionnez « /usr/bin/konqueror » dans la ligne
« Process » et « "{URL}" » dans la ligne « Arguments ».
• Indiquez également le proxy de l’ENSIIE. Vous aurez en effet besoin de sortir
sur Internet pour réaliser la dernière étape de ce TP.
1. Développement d’un Web Service

• Allez dans l'onglet services et lancez le serveur GlassFish.
• Créez un nouveau projet de type « Web Application ». Appelez ce projet
« Calculatrice ». Indiquez que vous vous préparez à le déployer sur le serveur
GlassFish reposant sur un socle JEE 5. Il est dans ce TP inutile de choisir un
framework de présentation particulier. Lorsqu'on vous laisse le choix, cliquez
simplement sur « Finish ».
• Sélectionnez « Calculatrice » dans l'onglet des projets puis avec le bouton
droit, créez un Web Service « CalculatriceWS » dont le code sera placé dans le
package « fr.ensiie.tp.soa ».
• Sélectionnez « Add operation ». Dans l'onglet « Design », créez une méthode
d'addition « add » qui prend en paramètres deux entiers « i » et « j », et
renvoie un entier correspondant à l'addition de ces deux paramètres. Codez
cette méthode d’addition dans l'onglet « Source ».
• Faites alors un « Clean and Build » du projet puis déployez le sur le serveur
GlassFish. Dépliez « Web Services » dans le projet « Calculatrice » et cliquez
sur « Test Web Service ». Rentrez deux entiers et vérifiez que le web service
fonctionne.
• Notez la syntaxe de la requête SOAP et de sa réponse, ainsi que celle du
TP ENSIIE – Architecture des SI et des Applications

© ITekia 2009
P a g e
| 3

fichier WSDL (Pour cela, allez avec Konqueror sur l’URL Regardez à quoi
ressemble le WSDL du web service CalculatriceWS:
http://localhost:8080/Calculatrice/CalculatriceWSService?wsdl
, puis cliquez
sur « Affichage » et « Afficher le code HTML du document (structure) ».
Retrouvez comment ce WSDL permet à un développeur qui découvre le web
service de l'utiliser.
2. Consommation du Web Service par une application Java

• Créez un nouveau projet de type « Application Java » et appelez le
« ClientCalculatrice ».
• Sélectionnez « ClientCalculatrice » dans l'onglet des projets puis avec le
bouton droit, faites « New Web Service Client ». Indiquer l'adresse du WSDL
du web service, soit:
http://localhost:8080/Calculatrice/CalculatriceWSService?wsdl

• Une branche « Web Services References » est désormais présente dans la
barre de navigation du projet. Sélectionnez la méthode « add » et faites un
« drag & drop » sur le code de la classe « Main » du client du Web Service.
Ajustez les valeurs de paramètres d'entrée du Web Service et vérifiez que
votre client consommateur du Web Service fonctionne correctement.
3. Consommation du Web Service par une application Web (JSP)

Note préalable : les JSP (Java Server Pages) sont l’équivalent des pages PHP que
vous connaissez.
• Créez un nouveau projet de type « Web Application » et appelez le
« ClientJSPCalculatrice ». Sélectionnez cette fois-ci Tomcat comme serveur
d'applications.
• Créez de la même manière que précédemment une référence locale au Web
Service à consommer puis faites un « drag & drop » de l'opération « add »
dans le code « index.jsp ».
• Faites un « Clean and Build » du projet puis déployez le dans Tomcat.
Sélectionnez le projet dans la barre de navigation de gauche et cliquez sur
« Run » afin de lancer Konqueror sur l'URL de la page « index.jsp ».
4. Consommation du Web Service par une application « bas niveau »

Note préalable : l’idée est ici de consommer un Web Service sans utiliser de
TP ENSIIE – Architecture des SI et des Applications

© ITekia 2009
P a g e
| 4

framework, mais en postant simplement le message SOAP avec une simple API
HTTP.
• On veut développer une application prenant 3 paramètres en entrée :
i. L’URL d’un Web Service d’addition
ii. Un entier a
iii. Un entier b
• Et renvoyant un message SOAP de retour du Web Service contenant le
résultat de l’addition de a et de b.
• Compléter le code suivant afin de mettre en œuvre cette fonctionnalité :
import java.net.*;
import java.io.*;
public static void main(String[] args) {
// A COMPLETER
URL u = new URL(server);
URLConnection uc = u.openConnection();
HttpURLConnection connection = (HttpURLConnection) uc;
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestMethod("
A COMPLETER
");
connection.setRequestProperty("Content-Type", "text/xml;charset=UTF-
8");
OutputStream out = connection.getOutputStream();
Writer wout = new OutputStreamWriter(out);
// A COMPLETER
InputStream in = connection.getInputStream();
BufferedReader nin = new BufferedReader(new InputStreamReader(in));
System.out.println(nin.readLine());
// A COMPLETER


TP ENSIIE – Architecture des SI et des Applications

© ITekia 2009
P a g e
| 5

5. Web Service de type « REST »

• Créez un nouveau projet de type « Web Application » et appelez le
« CalculatriceREST ». Utilisez indifféremment GlashFish ou Tomcat comme
serveur d'applications
• Sélectionnez « CalculatriceREST » dans le menu de gauche, puis faites
bouton droit et sélectionnez « New RESTful Web Services from Patterns ».
Sélectionnez le pattern Singleton dans l'écran suivant. A votre avis, à quoi
cela peut-il servir ?
• Sélectionnez « Calculatrice » comme nom de ressource, puis
« fr.ensiie.tp.soa » comme nom de package, « text/plain » pour le MIME
Type et « java.lang.String » comme « Representation Class ».
• Modifier la méthode « getText » afin de renvoyer l'addition de deux
paramètres d'entrée a et b. Compiler puis déployer votre Web Service
REST sur le serveur d'applications que vous avez choisi.
• Utilisez d'abord Konqueror pour vérifier que votre Web Service fonctionne
et est accessible. Votre Web Service a normalement été déployé sur
http://localhost:8080/CalculatriceREST/resources/calculatrice
(GlassFish)
ou
http://localhost:8084/CalculatriceREST/resources/calculatrice
(Tomcat)
• Dupliquer et modifier le code de l'application Java écrite au §4 afin de
disposer d'un client REST et accessible en ligne de commande.
6. Développement d’un Processus BPEL synchrone

• Suivez le tutorial Netbeans suivant :
http://www.netbeans.org/kb/61/soa/synchsample.html

7. Développement d’un Processus BPEL asynchrone

• Suivez le tutorial Netbeans suivant :
http://www.netbeans.org/kb/61/soa/asynchsample.html