30.01.2015 Views

des enterprise beans - Département Informatique

des enterprise beans - Département Informatique

des enterprise beans - Département Informatique

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!