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 />

}<br />

public class CardExpiredException extends Exception {<br />

public CardExpiredException(String message) {<br />

super(message);<br />

}<br />

}<br />

Interfaces exigées<br />

Les <strong>enterprise</strong> <strong>beans</strong> ont toujours deux interfaces : une interface locale et<br />

une interface distante. Dans cet exemple le bean session Cart a une<br />

interface distante EJB publique appelée Cart et une interface locale appelée<br />

CartHome.<br />

Lorsque vous utilisez l’expert Enterprise JavaBean, les interfaces locale et<br />

distante sont créées en même temps que la classe du bean. Si vous avez<br />

déjà un bean session, mais pas les interfaces, utilisez l’expert Interfaces<br />

EJB. Pour utiliser l’expert, affichez le code source de votre <strong>enterprise</strong> bean<br />

dans l’éditeur de code et choisissez Experts|Interfaces EJB. Répondez aux<br />

deman<strong>des</strong> de l’expert et il créera l’interface locale et l’interface distante de<br />

votre <strong>enterprise</strong> bean.<br />

Pour plus d’informations sur l’utilisation <strong>des</strong> experts Enterprise JavaBean<br />

et Interfaces EJB, voir Chapitre 3, “Création <strong>des</strong> <strong>enterprise</strong> <strong>beans</strong> avec<br />

JBuilder”.<br />

L’interface locale<br />

Comme toute interface locale, CartHome étend l’interface EJBHome. Alors que<br />

l’interface locale a deux fonctions : créer <strong>des</strong> instances du bean et trouver<br />

<strong>des</strong> instances du bean, les <strong>beans</strong> session n’ont qu’à créer l’instance d’un<br />

bean. Les <strong>beans</strong> session cessent d’exister lorsque la session d’un client se<br />

termine. De ce fait, il n’y a pas à trouver d’instance de CartBean, par<br />

exemple lorsqu’un acheteur entre dans le magasin en ligne, car il n’existe<br />

pas d’instance de CartBean. Seules les interfaces locales <strong>des</strong> <strong>beans</strong> entité<br />

incluent <strong>des</strong> opérations find, car les <strong>beans</strong> entité sont utilisés par plusieurs<br />

clients et vivent aussi longtemps que les entités de données. Voici<br />

l’interface CartHome :<br />

// CartHome.java<br />

public interface CartHome extends javax.ejb.EJBHome {<br />

Cart create(String cardHolderName, String creditCardNumber,<br />

java.util.Date expirationDate)<br />

throws java.rmi.RemoteException,javax.ejb.CreateException;<br />

}<br />

L’interface CartHome est très simple, elle définit une seule méthode create().<br />

Comme il s’agit d’un bean session stateful, il pourrait y avoir plusieurs<br />

métho<strong>des</strong> create(). Dans cet exemple, la méthode create() de l’interface<br />

CartHome accepte trois paramètres : cardHolderName, creditCardNumber et<br />

expirationDate.<br />

9-16 Guide du dé veloppeur Enterprise JavaBeans

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

Saved successfully!

Ooh no, something went wrong!