TD sur JMS

----

Questions de cours :

1) QuĠest-ce que JNDI ? A quoi sert-il lorsquĠil est utilisŽ avec JMS ?

2) QuĠest-ce quĠun middleware orientŽ message (MOM) ? Quelles diffŽrences faites-vous entre un MOM et JMS ?

3) Parmi les applications suivantes, indiquez si l'utilisation d'un middleware orientŽ message est adaptŽ en justifiant vos dŽcisions :

   1. Visiophonie ;

   2. Systme de gestion de bases de donnŽes nomades ;

   3. Messagerie d'entreprise (courrier Žlectronique, fax, messages vocaux) ;

   4. Jeux en rŽseau ;

Exercice 1 : le but de cet exercice est de simuler trois unitŽs de production dans une ligne automatisŽe d'usine.

La premire unitŽ produit des pices qui sont consommŽes par la seconde. Cette dernire produit ensuite une nouvelle pice qui est consommŽe par la troisime.

1.1 Sur un schŽma, placez les diffŽrents acteurs et les communications en utilisant des topics et/ou des files de messages.

1.2 PrŽsentez un schŽma UML des classes de lĠapplication.

1.3 On veut maintenant gŽrer le systme avec une seule file de message. Comment gŽrer cela avec JMS ?

Exercice 2 : le but de cet exercice est de simuler un service web qui diffuse les cours de la bourse d'un certain nombre de titres ˆ un ensemble de courtiers en bourse.

Note : bien sžr un courtier peut s'abonner ˆ plusieurs titres.

2.1 Sur un schŽma, placez les diffŽrents acteurs et les communications en utilisant des topics et/ou des files de messages.

2.2 PrŽsentez un schŽma UML des classes de lĠapplication. 


 

Exercice 3 : Une application de type eCommerce en JMS.

Cette application simule une application complte de eCommerce avec les participants suivants :

Remarques :

  1. Pour qu'une commande soit livrŽe par le ServeurLivraison, il faut que le ServeurStocks et le ServeurFacturation l'aient validŽe ;
  2. Le ServeurClientle s'occupe de cette validation ;
  3. Le ServeurFacturation contacte le ServeurBanque pour s'assurer que les rŽfŽrences bancaires sont correctes et pour demander un ordre de paiement ;
  4. Chaque application se connectera avec un login/mot de passe ;
  5. Une commande pourra tre reprŽsentŽe par plusieurs messages Žmis lors d'une transaction. Si l'utilisateur annule sa commande il suffira alors de faire un rollback.

3.1 : Sur un schŽma, placez les diffŽrents acteurs et les communications en utilisant des topics et des files de messages.

3.2 : Faites un scŽnario en indiquant quels messages transitent par quelles files/topics.

Exercice 4 : On se propose de rŽaliser une application rŽpartie avec JMS permettant la consultation ˆ distance du solde et de l'historique d'un compte bancaire.

4.1 : PrŽsentez sur un schŽma, l'architecture de l'application rŽpartie (applications, files et/ou topics).

4.2 : DŽcrivez les messages qui seront ŽchangŽs entre les applications.

Exercice 5 : On se propose de dŽvelopper une application rŽpartie avec JMS permettant la consultation et la gestion dĠune bibliothque (permettant : lĠajout, le retrait, lĠemprunt et le retour dĠun livre).

5.1 : DŽcrivez, avec un schŽma, lĠapplication que vous proposez en prŽcisant les files de messages, sujets de discussion (topics) et applications que vous allez utiliser.

5.2 : Donnez la liste exhaustive des messages que vous allez utiliser (et leurs types JMS) ainsi que leur contenu.

Exercice 6 : On se propose de dŽvelopper une application rŽpartie avec JMS permettant la gestion dĠune bibliothque (ajout de livre, modification dĠun livre, recherche dĠun livre par auteur ou par titre, gestion des emprunts).

6.1 : DŽcrivez, avec un schŽma, lĠapplication que vous proposez en prŽcisant les files de messages, sujets de discussion (topics) et applications que vous allez utiliser.

6.2 : Donnez la liste exhaustive des messages que vous allez utiliser ainsi que leur type JMS et leur contenu.