des enterprise beans - Département Informatique
des enterprise beans - Département Informatique
des enterprise beans - Département Informatique
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Un bean session pour faire vos courses<br />
Book knuthBook = new Book("The Art of Computer Programming", 49.95f);<br />
cart.addItem(knuthBook);<br />
... // crée CompactDisc et l’ajoute au chariot,<br />
// puis liste le contenu du chariot<br />
summarize(cart)<br />
cart.removeItem(knuthBook);<br />
... // ajoute un autre livre et récapitule le contenu du chariot<br />
try {<br />
cart.purchase();<br />
}<br />
catch(PurchaseProblemException e) {<br />
System.out.println("Impossible d’acheter les items:\n\t" + e);<br />
}<br />
cart.remove();<br />
}<br />
La routine main() commence par un contexte JNDI de recherche d’objets.<br />
Elle construit un contexte initial (un contexte d’annuaire Java). C’est le<br />
code JNDI standard.<br />
main() recherche l’objet de CartHome appelé cart. Recherche un nom avec<br />
JNDI en invoquant un appel du client au service CosNaming pour<br />
chercher le nom dans CosNaming. Le service CosNaming renvoie au<br />
client une référence sur un objet. Dans cet exemple, il renvoie une<br />
référence sur un objet CORBA. Le programme doit effectuer une<br />
opération PortableRemoteObject.narrow() sur la référence à l’objet,<br />
transtyper l’objet renvoyé en type CartHome, et l’assigner à la variable<br />
locale. Cet appel est typique <strong>des</strong> applications distribuées. L’appel utilise<br />
CORBA et IIOP pour accomplir ce qui suit :<br />
• Parler à un serveur.<br />
• Effectuer une recherche CosNaming.<br />
• Obtenir une référence sur un objet CORBA.<br />
• Renvoyer au client la référence à l’objet.<br />
Le programme déclare une référence sur l’objet cart distant, initialise les<br />
trois variables paramètres de create() et crée un nouvel objet cart distant.<br />
Le programme crée deux éléments du chariot de supermarché, un livre et<br />
un disque compact, et les ajoute au contenu du chariot en utilisant la<br />
méthode addItem() de cart.<br />
La routine fait ensuite la liste <strong>des</strong> éléments du chariot en appelant la<br />
fonction summarize(). summarize() extrait les éléments du chariot avec la<br />
méthode getContents() de cart, qui renvoie une Enumeration Java. Elle utilise<br />
ensuite les métho<strong>des</strong> de l’interface Java Enumeration pour lire chaque<br />
élément de Enumeration, en récupérant l’intitulé et le prix de chacun. Voici<br />
le code de la fonction summarize() :<br />
static void summarize(Cart cart) throws Exception {<br />
System.out.println("======== Récapitulatif du chariot =========")’<br />
Enumeration elements = cart.getContents();<br />
while(elements.hasMoreElements()) {<br />
9-20 Guide du dé veloppeur Enterprise JavaBeans