TP-intergiciel/TP5/tp-esb.html

205 lines
9.1 KiB
HTML
Raw Permalink Normal View History

2023-04-22 15:36:29 +00:00
<!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>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - source use-jdk7.bash permet
d'utiliser ce JDK1.7<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - utiliser JDK1.8 pour
les autres logiciels (activeMQ, HSQLDB)<br>
<p>Mule Studio 1.3.0 : cette version est open source<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - copiez l'installation dans
votre r<>pertoire nosave<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - d<>compressez la<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - lancer MuleStudio avec le
JDK1.7<br>
</p>
<p>legacy.tgz : contient les applications <20> int<6E>grer<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - <20> copier chez vous<br>
</p>
<p>apache-activemq-5.12.1-bin.tar.gz : activeMQ<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - <20> copier chez vous </p>
<p>sujet-esb.tgz : les exemples de base utiles pour r<>aliser cette
int<6E>gration<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - <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>
&nbsp;&nbsp;&nbsp; - pour tester<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - importez ou recr<63>ez le
projet<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - cr<63>ez des r<>pertoires
/tmp/in et /tmp/out<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - ex<65>cutez le flow<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - copiez
legacy/saisie/example.xml dans /tmp/in<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - regarder dans /tmp/out<br>
</p>
<p> - jdbc : un exemple d'utilisation d'une BD<br>
&nbsp;&nbsp;&nbsp; - pour tester<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - importez ou recr<63>ez le
projet<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - ajoutez le driver jdbc
(legacy/bd/hsqldb/lib/hsqldb.jar) dans votre projet<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - lancez la BD<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - ant
start (dans legacy/bd)<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - cr<63>er la table dans la BD<br>
&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; - ant db<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; - regardez dans la BD<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - ant
console<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - ex<65>cutez le flow<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - copiez
legacy/saisie/example.xml dans /tmp/in<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - regardez <20> nouveau dans la
BD<br>
</p>
<p>- smtp : un exemple d'envoi d'email avec SMTP<br>
&nbsp;&nbsp;&nbsp; - pour tester<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - importez ou recr<63>ez le
projet<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - modifiez l'adresse email
pour ne pas m'envoyer un email !<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - ex<65>cutez le flow<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - copiez
legacy/saisie/example.xml dans /tmp/in<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - regardez votre mailbox<br>
</p>
<p>- imap : un exemple de lecture d'email avec IMAP<br>
&nbsp;&nbsp;&nbsp; - pour tester<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - importez ou recr<63>ez le
projet<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - utilisez une adresse gmail
(j'en ai une qui est tpdhlogin/tpdhpasswd, mais c'est mieux
d'avoir la votre)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - ex<65>cutez le flow<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - envoyez un email <20> cette
adresse<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - regardez dans /tmp/out<br>
</p>
<p>- ws : un exemple d'appel <20> un web service<br>
&nbsp;&nbsp;&nbsp; - pour tester<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - lancez tomcat et copiez de
WS dedans (legacy/ws/WS.war)<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - importez ou recr<63>ez le
projet<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - ex<65>cutez le flow<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - copiez
legacy/saisie.example.xml dans /tmp/in<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - regardez dans
/tmp/accounts (simule l'ajout d'un compte utilisateur)<br>
</p>
<p> - jms : un exemple d'envoi de message JMS<br>
&nbsp;&nbsp;&nbsp; - pour tester<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - importez ou recr<63>ez le
projet<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - ajoutez le driver de
activemq (apache-activemq-5.12.1/activemq-all-5.12.1.jar) dans
votre projet<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - lancez activemq<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; -
./activemp start dans&nbsp;apache-activemq-5.12.1/bin<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - ex<65>cutez le
flow<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - copiez
legacy/saisie.example.xml dans /tmp/in<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; - 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>
&nbsp;&nbsp;&nbsp; - connectez Saisie et Email<br>
&nbsp;&nbsp;&nbsp; - connectez Email et la BD<br>
&nbsp;&nbsp;&nbsp; - 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 "&gt;<br>
Enlevez l<> en v<>rifiant que le XML reste bien parenth<74>s<EFBFBD>.<br>
<br>
</p>
<p><br>
</p>
</body>
</html>