Академический Документы
Профессиональный Документы
Культура Документы
Enterprise Java Bean (EJB) : Modle de composants pour le dveloppement d'applications d'entreprises Modle de programmation
!! Par objet rparti !! Par envoie de message SGBD
Client lger
La plateforme composant base sur Java Ne gre pas lhtrognit Largement influenc par RMI
Client Riche
SGBD
2008-2009 Master SAR - M2 MDOC - Introduction 2
Introduction
Client lger : navigateur Web HTTP Serveur WEB
Introduction
Enterprise Java Bean (EJB) A server-side component that encapsulates the business logic of an application
JEE
Service Transaction: JTA/JTX
Client lourd
Conteneur WEB
!!Les services systmes sont fournis par le conteneur !!La logique de prsentation est du ressort du client !!Les enterprise beans sont portables d'un serveur d'application un autre
2008-2009
Introduction
EJB : un composant
!!Uniquement Java !!Dcrit en xml ou par annotation Java
Introduction
Trois types d'EJB Session : effectue une tche pour un client
!!Avec tat : un tat spcifique par client !!Sans tat : pas dtat spcifique
(partag entre clients ou non, dpend de limplmentation)
Un code mtier :
interface distante
interface locale
2008-2009
Interfaces daccs :
!! @Remote : indique linterface externe, plusieurs interfaces possibles !! @Local : indique linterface interne, plusieurs interfaces possibles !! Par dfaut : @Remote des interfaces directes
2008-2009
10
InitialContext : service de nommage (voir cours JNDI) Le client ne peut utiliser que le nom JNDI, pas le nom du Bean Lancer le client : dans un conteneur client (avec Jonas : jclient au lieu de java)
Remarque : jdbc_1 est le nom par dfaut donn au gestionnaire de connexions vers la base de donne sous Jonas (voir cours JDBC)
2008-2009
11
2008-2009
12
2008-2009
14
Mthode @AroundInvoke :
!!Invoque la place de toute mthode mtier !!Sauf si elle est annote @ExcludeClassInterceptors
@AroundInvoke public Object intercept(InvocationContext ic) throws Exception { System.out.println("*** intercept la mthode '" + ic.getMethod().getName() try { return invocationContext.proceed(); } } finally { System.out.println("*** fin"); } }
2008-2009 Master SAR - M2 MDOC - Introduction 15
2008-2009
16
2008-2009
17
2008-2009
18
2008-2009
19
2008-2009
20
2008-2009
23
2008-2009
24
Utilisable sur un bean dtach. Ne rattache pas le bean. Utile lorsque le Bean est modifi chez le client et renvoy au serveur.
!! void persist(Object entity) : rend lentit persistante et attache
2008-2009
25
2008-2009
26
Supprimer un film :
public void removeFilm(int id) { em.remove(findFilm(id)); }
28
2008-2009
33
2008-2009
34
TopicPublisher Message
Topic Message
TopicSubscriber
2008-2009
35
2008-2009
36
2008-2009
Historique
Diffrence majeure entre version 2 et version 3 Prsence de Home (Usine) dans les Session Beans
!!Usine enregistre dans le service de nommage !!Obtention dun bean via lusine (home.create()) Difficile maintenir
Historique
Version 2 : beaucoup de XML
Pas dEntityManager
!!Gestion de la persistance via la Home de lEntityBean (homeFilm.findByName("Les Vikings"))
Conclusion
Enterprise Java Bean
!!Composants Java !!Programmation rpartie !!Facile mettre en uvre !!Trs bonne amlioration de lergonomie avec la version 3
Fonctionnement interne
!!Relativement compliqu (quatre cours pour ltudier!) !!Demande de bonnes base
2008-2009
41