205 lines
9.1 KiB
HTML
205 lines
9.1 KiB
HTML
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|||
|
<html>
|
|||
|
<head>
|
|||
|
<meta http-equiv="CONTENT-TYPE" content="text/html;
|
|||
|
charset=windows-1252">
|
|||
|
<title></title>
|
|||
|
<meta name="GENERATOR" content="OpenOffice.org 1.1.4 (Win32)">
|
|||
|
<meta name="CREATED" content="20051025;2415301">
|
|||
|
<meta name="CHANGEDBY" content="Daniel Hagimont">
|
|||
|
<meta name="CHANGED" content="20051025;3523617">
|
|||
|
</head>
|
|||
|
<body dir="LTR" lang="fr-FR">
|
|||
|
<p align="CENTER"><font style="font-size: 28pt" size="6"><b>TP ESB<br>
|
|||
|
<i><small><small><small><small><br>
|
|||
|
</small></small></small></small></i></b><i><small><small><small><small>Daniel
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Hagimont</small></small></small></small></i><b><br>
|
|||
|
</b></font></p>
|
|||
|
<p><br>
|
|||
|
</p>
|
|||
|
<p><big><b>Sujet</b></big><br>
|
|||
|
</p>
|
|||
|
<p>Le but de ce TP est de travailler avec le framework Mule <20>tudi<64>
|
|||
|
en cours, autour d'un sc<73>nario d'int<6E>gration d'applications.<br>
|
|||
|
Dans ce sc<73>nario, nous voulons int<6E>grer 4 applications :<br>
|
|||
|
</p>
|
|||
|
<p>- Saisie : une application permettant de saisir les donn<6E>es
|
|||
|
personnelles d'une personne qui s'inscrit quelque part (par
|
|||
|
exemple un <20>tudiant <20> l'enseeiht)<br>
|
|||
|
- Email : une application de gestion d'emails utilis<69>e par un
|
|||
|
administratif qui valide les inscriptions<br>
|
|||
|
- BD : un serveur de base de donn<6E>es enregistrant les <20>tudiants<br>
|
|||
|
- Login : un syst<73>me d'exploitation sur lequel on g<>re des comptes
|
|||
|
utilisateurs (cette fonction est accessible par un Web Service) </p>
|
|||
|
<p>Le but de d'implanter le sc<73>nario suivant d'int<6E>gration :<br>
|
|||
|
- Saisie : les donn<6E>es d'une personne sont saisies et
|
|||
|
l'application permet d'exporter les donn<6E>es en XML Ces donn<6E>es
|
|||
|
doivent <20>tre ensuite transmises <20> l'administratif par email<br>
|
|||
|
- Email : l'admistratif verifie la coh<6F>rence des donn<6E>es, puis
|
|||
|
valide l'inscription en r<>pondant <20> ce mail (<28> l'adresse sp<73>cifi<66>e
|
|||
|
dans ReplyTo).<br>
|
|||
|
- Web : ces donn<6E>es doivent alors <20>tre int<6E>gr<67>es dans la base de
|
|||
|
donn<6E>es. Elles sont donc re<72>ues par email (la r<>ponse) et int<6E>gr<67>e
|
|||
|
dans la base de donn<6E>es.<br>
|
|||
|
- Login : les m<>mes donn<6E>es sont exploit<69>es pour demander la
|
|||
|
cr<63>ation d'un compte utilisateur sur une machine avec un web
|
|||
|
service<br>
|
|||
|
</p>
|
|||
|
<p><br>
|
|||
|
<b><big>Les applications <20> utiliser : legacy</big></b></p>
|
|||
|
<p>- saisie : ce r<>pertoire contient une petite application de
|
|||
|
saisie (voir le readme)<br>
|
|||
|
- bd : ce r<>pertoire contient la base de donn<6E>es <20> lancer (hsqldb)<br>
|
|||
|
- ws : ce r<>pertoire contient le Web Service permettant de
|
|||
|
demander la cr<63>ation d'un login, <20> d<>ployer dans un Tomcat (voir
|
|||
|
readme)<br>
|
|||
|
- il faudra avoir une adresse email correspondant <20> celle utilis<69>e
|
|||
|
par l'administratif et une utilis<69>e pour recevoir la r<>ponse de
|
|||
|
l'administratif<br>
|
|||
|
<br>
|
|||
|
</p>
|
|||
|
<p><big><b>Environnement Logiciel</b></big></p>
|
|||
|
JDK 1.7 : il vous faut utiliser cette version de Java pour utiliser
|
|||
|
la version de Mule ci-dessous.<br>
|
|||
|
- source use-jdk7.bash permet
|
|||
|
d'utiliser ce JDK1.7<br>
|
|||
|
- utiliser JDK1.8 pour
|
|||
|
les autres logiciels (activeMQ, HSQLDB)<br>
|
|||
|
<p>Mule Studio 1.3.0 : cette version est open source<br>
|
|||
|
- copiez l'installation dans
|
|||
|
votre r<>pertoire nosave<br>
|
|||
|
- d<>compressez la<br>
|
|||
|
- lancer MuleStudio avec le
|
|||
|
JDK1.7<br>
|
|||
|
</p>
|
|||
|
<p>legacy.tgz : contient les applications <20> int<6E>grer<br>
|
|||
|
- <20> copier chez vous<br>
|
|||
|
</p>
|
|||
|
<p>apache-activemq-5.12.1-bin.tar.gz : activeMQ<br>
|
|||
|
- <20> copier chez vous </p>
|
|||
|
<p>sujet-esb.tgz : les exemples de base utiles pour r<>aliser cette
|
|||
|
int<6E>gration<br>
|
|||
|
- <20> copier chez vous<br>
|
|||
|
</p>
|
|||
|
<p>Tout cela se trouve dans <big><b>/mnt/n7fs/ens/tp_dh/tp-esb</b></big><br>
|
|||
|
</p>
|
|||
|
<p><big><b><br>
|
|||
|
Exemples</b></big><br>
|
|||
|
</p>
|
|||
|
Les exemples qui vous sont fournis sont situ<74>s dans le r<>pertoire tp
|
|||
|
:<br>
|
|||
|
<p> - xml : un exemple de fichiers et de parsing xml<br>
|
|||
|
- pour tester<br>
|
|||
|
- importez ou recr<63>ez le
|
|||
|
projet<br>
|
|||
|
- cr<63>ez des r<>pertoires
|
|||
|
/tmp/in et /tmp/out<br>
|
|||
|
- ex<65>cutez le flow<br>
|
|||
|
- copiez
|
|||
|
legacy/saisie/example.xml dans /tmp/in<br>
|
|||
|
- regarder dans /tmp/out<br>
|
|||
|
</p>
|
|||
|
<p> - jdbc : un exemple d'utilisation d'une BD<br>
|
|||
|
- pour tester<br>
|
|||
|
- importez ou recr<63>ez le
|
|||
|
projet<br>
|
|||
|
- ajoutez le driver jdbc
|
|||
|
(legacy/bd/hsqldb/lib/hsqldb.jar) dans votre projet<br>
|
|||
|
- lancez la BD<br>
|
|||
|
- ant
|
|||
|
start (dans legacy/bd)<br>
|
|||
|
- cr<63>er la table dans la BD<br>
|
|||
|
- ant db<br>
|
|||
|
- regardez dans la BD<br>
|
|||
|
- ant
|
|||
|
console<br>
|
|||
|
- ex<65>cutez le flow<br>
|
|||
|
- copiez
|
|||
|
legacy/saisie/example.xml dans /tmp/in<br>
|
|||
|
- regardez <20> nouveau dans la
|
|||
|
BD<br>
|
|||
|
</p>
|
|||
|
<p>- smtp : un exemple d'envoi d'email avec SMTP<br>
|
|||
|
- pour tester<br>
|
|||
|
- importez ou recr<63>ez le
|
|||
|
projet<br>
|
|||
|
- modifiez l'adresse email
|
|||
|
pour ne pas m'envoyer un email !<br>
|
|||
|
- ex<65>cutez le flow<br>
|
|||
|
- copiez
|
|||
|
legacy/saisie/example.xml dans /tmp/in<br>
|
|||
|
- regardez votre mailbox<br>
|
|||
|
</p>
|
|||
|
<p>- imap : un exemple de lecture d'email avec IMAP<br>
|
|||
|
- pour tester<br>
|
|||
|
- importez ou recr<63>ez le
|
|||
|
projet<br>
|
|||
|
- utilisez une adresse gmail
|
|||
|
(j'en ai une qui est tpdhlogin/tpdhpasswd, mais c'est mieux
|
|||
|
d'avoir la votre)<br>
|
|||
|
- ex<65>cutez le flow<br>
|
|||
|
- envoyez un email <20> cette
|
|||
|
adresse<br>
|
|||
|
- regardez dans /tmp/out<br>
|
|||
|
</p>
|
|||
|
<p>- ws : un exemple d'appel <20> un web service<br>
|
|||
|
- pour tester<br>
|
|||
|
- lancez tomcat et copiez de
|
|||
|
WS dedans (legacy/ws/WS.war)<br>
|
|||
|
- importez ou recr<63>ez le
|
|||
|
projet<br>
|
|||
|
- ex<65>cutez le flow<br>
|
|||
|
- copiez
|
|||
|
legacy/saisie.example.xml dans /tmp/in<br>
|
|||
|
- regardez dans
|
|||
|
/tmp/accounts (simule l'ajout d'un compte utilisateur)<br>
|
|||
|
</p>
|
|||
|
<p> - jms : un exemple d'envoi de message JMS<br>
|
|||
|
- pour tester<br>
|
|||
|
- importez ou recr<63>ez le
|
|||
|
projet<br>
|
|||
|
- ajoutez le driver de
|
|||
|
activemq (apache-activemq-5.12.1/activemq-all-5.12.1.jar) dans
|
|||
|
votre projet<br>
|
|||
|
- lancez activemq<br>
|
|||
|
-
|
|||
|
./activemp start dans apache-activemq-5.12.1/bin<br>
|
|||
|
- ex<65>cutez le
|
|||
|
flow<br>
|
|||
|
- copiez
|
|||
|
legacy/saisie.example.xml dans /tmp/in<br>
|
|||
|
- regardez dans /tmp/out</p>
|
|||
|
<p> <b><big>Etapes</big></b><br>
|
|||
|
</p>
|
|||
|
<p>- dessinez un sch<63>ma global de l'int<6E>gration<br>
|
|||
|
- travaillez de fa<66>on incr<63>mentale :<br>
|
|||
|
- connectez Saisie et Email<br>
|
|||
|
- connectez Email et la BD<br>
|
|||
|
- int<6E>grez Login<br>
|
|||
|
<br>
|
|||
|
</p>
|
|||
|
<p><big><b>Attention: Bug dans MuleStudio !</b></big><br>
|
|||
|
</p>
|
|||
|
<p>Si vous utilisez un endpoint IMAP, lorsque vous sauvegardez votre
|
|||
|
projet, il arrive que MuleStudio g<>n<EFBFBD>re un XML bugg<67>.<br>
|
|||
|
A l'ex<65>cution, vous observez une exception :
|
|||
|
org.xml.sax.SAXParseException<br>
|
|||
|
Si vous allez voir le XML g<>n<EFBFBD>r<EFBFBD>, vous verrez une ligne incompl<70>te
|
|||
|
: <br>
|
|||
|
http://www.mulesoft.org/schema/mule/imap s "><br>
|
|||
|
Enlevez l<> en v<>rifiant que le XML reste bien parenth<74>s<EFBFBD>.<br>
|
|||
|
<br>
|
|||
|
</p>
|
|||
|
<p><br>
|
|||
|
</p>
|
|||
|
</body>
|
|||
|
</html>
|