Stéphane Frenot - Département Télécommunication - SID - II - EjbServ 227 EJB Session.

Slides:



Advertisements
Présentations similaires
Laboratoire informatique de Paris 6
Advertisements

EJB 2.0 Enterprise Java Bean ™ Xavier BLANC
1 Quelques précisions sur l'héritage. 2 Signification de super.f() appel à la méthode f() masquée super : désigne l'objet appelant comme s'il était de.
ESSI AM Dery Merci à Rémi Vankeisbelck, Michel Riveill etc
ESSI AM Dery Merci à Rémi Vankeisbelck, Michel Riveill etc
Introduction aux applications réparties
Introduction à Java - les paquetages -
Plan du cours La sérialisation: – comment stocker et restaurer les Objets? Les interfaces graphiques et la programmation évènementielle. –Comment concevoir.
Cours 6 : XML et les architectures N-tiers – Tier Applicatif
Programmer en JAVA par Tama
JAV - TD 6 Structures de données JAVA
JAV – TD 3 bibliothèques standards composition
Tarak Chaari, Stéphane Frénot, Frédérique Laforest, Frédéric Le-Mouël JAV1 JAV – TD 5 Lhéritage en Java.
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance



Stéphane Frenot - Département Télécommunication - SID - II - Jdbc 280 JDBC Java Databases Connectivity.

Stéphane Frenot - Département Télécommunication - SID - II - EjbEnt 247 Entity EJB.

Stéphane Frenot - Département Télécommunication - SID - II - EJBcli 211 Le client EJB.
Stéphane Frenot - Département Télécommunication - SID - II - Comp 312 Avantages de l'approche distribuée Economie Performance.
CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Session Module Java Expert.
Introduction aux Session Beans
Principes de programmation (suite)
Programmation orientée objet
JavaBeans Réalise par: EL KHADRAOUY TARIK AOUTIL SAFOWAN.
Écouteurs de click d'une fenêtre
Langage Oriente Objet Cours 4.
SERVLETS PRESENTATION
© 2007 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java et les Exceptions Peter Van Roy Département dIngénierie Informatique,
77 Utilisation des classes (suite). 7-2 Objectifs A la fin de ce cours, vous serez capables de : Définir des méthodes surchargées dans une classe Fournir.
Classes abstraites et Interfaces
Factory Design Patterns Factory Method
Langage Oriente Objet Cours 2.
Leçon 2 : Surcharge des opérateurs IUP 2 Génie Informatique Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
Structures de données IFT-2000
66 Utilisation des classes et des objets. 6-2 Objectifs A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser.
Package IFT1025 Jian-Yun Nie.
1 Les paquetages («packages»). 2 L'objectif avec les paquetages («packages») est de rendre accessibles aux utilisateurs des classes définies par d'autres.
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
Chapitre III Héritage. POO-L3 H. Fauconnier2 Chapitre III: Héritage A) Extensions généralités Affectation et transtypage B) Méthodes Surcharge et signature.
Cours 4 Héritage (suite).
COURS DE PROGRAMMATION ORIENTEE OBJET :
Leçon 1 : notion dobjet IUP Génie Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
99 Réutilisation du code grâce à l'héritage. 9-2 Objectifs À la fin de ce cours, vous serez capables de : Définir l'héritage Utiliser l'héritage pour.
Cours 7 Divers et exceptions. Chapitre V Enumeration, tableaux, conversion de types, noms.
Masters IIGLI et ILGII – Intranet internet extranet – – Claude Montacié 1 Cours n° 11 Services Web et plateforme J2EE.
Objectifs À la fin de ce cours, vous serez capables de :
Les EJB Samir AZZOUZ Équipe ObjectWeb
LIFI-Java 2004 Séance du Mercredi 22 sept. Cours 3.
Propriétés. Propriétés ► Les propriétés peuvent être visibles dans les environnements de scripts ► Les propriétés peuvent être accédées par programmation.
11/04/ L'héritage Cours 7 Cours 7.
Cours 7 Classes locales Clonage Divers: tableaux.
Systèmes distribués Plusieurs technologies existent : Les sockets
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
© 2005 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java Peter Van Roy Département d’Ingénierie Informatique, UCL
Tutorat en bio-informatique
Les classes présenté par: RAHMOUNE RIME / ZEKRI SELMA.
Schéma de conception Factory Method Exemple Sylvain Giroux.
Cours du 5 novembre.
Héritage H. Batatia. plan Notion (que signifie l’héritage) Ecriture en java Héritage multiple (interdit) Instanciation (partie propre et partie héritée)
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
1 Chapitre III (~70 transparents) Compléments. 2 Au sommaire de ce chapitre 1. Les fichiers Les classes utilitaires
Introduction à la programmation objet avec java
Héritage Conception par Objet et programmation Java
Introduction à l'orienté objet. Définition Le terme orienté objet siginifie que l'on organise le logiciel comme une collection d'objets organisée en graphe.
Transcription de la présentation:

Stéphane Frenot - Département Télécommunication - SID - II - EjbServ 227 EJB Session

Stéphane Frenot - Département Télécommunication - SID - II - EjbServ 228 Diagramme des classes des EJB Remote EJBHomeEJBObject EJBMetaData remove getEJBMetaData getEJBHome getHandle getPrimaryKey remove isIdentical getEJBHome getHomeInterfaceClass getPrimaryKeyClass getRemoteInterfaceClass isSession EnterpriseBean EntityBeanSessionBean ejbActivate ejbLoad ejbPassivate ejbRemove ejbStore setEntityContext unsetEntityContext ejbActivate ejbPassivate ejbRemove setSessionContext Serializable

Stéphane Frenot - Département Télécommunication - SID - II - EjbServ 229 Cycle de développement d'un EJB 1) Définir l'interface « remote » de l'EJB qui étend javax.ejb.EJBObject 2) Ecrire l'interface « home » pour l'EJB qui étend javax.ejb.EJBHome 3) Ecrire la classe d'implantation du bean qui implante javax.ejb.SessionBean 4) Compiler lEJB avec ses classes de support 5) Déployer l'EJB

Stéphane Frenot - Département Télécommunication - SID - II - EjbServ 230 Conventions de nommage

Stéphane Frenot - Département Télécommunication - SID - II - EjbServ 231 Bon, un exemple ! Suite de fibonacci F[0]=0 F[1]=1 F[N]=F[N-1]+F[N-2] 0, 1, 1, 2, 3, 5, 8, 13, 21, 34...

Stéphane Frenot - Département Télécommunication - SID - II - EjbServ 232 Initialisation Type d'EJB ? Nom des classe EJB ? Methodes métier ?

Stéphane Frenot - Département Télécommunication - SID - II - EjbServ : Ecrire l'Interface Remote Une interface « remote » doit : –étendre javax.ejb.EJBObject –étendre javax.ejb.Remote –être déclarée public –avoir toutes ses méthodes publiques –avoir ses méthodes conformes aux règles RMI Règles RMI 1) La méthode doit pouvoir lever java.rmi.RemoteException 2) Tous les paramètres d'entrée sont sérialisables 3) Tous les paramètres de retour sont sérialisables 4) Toutes les exceptions sont sérialisables

Stéphane Frenot - Département Télécommunication - SID - II - EjbServ 234 Méthodes de l'interface Remote Les méthodes de l'interface Remote peuvent également lever des exceptions métiers Syntaxe de définition des méthodes de linterface Remote public nomMethode( ) throws RemoteException, [ ] Exemple de méthodes remote public void methodeX() throws RemoteException; public int methodeY(String Y) throws RemoteException; public Toto methodeZ(Vector v, Titi y) throws RemoteException, AruithmeticException

Stéphane Frenot - Département Télécommunication - SID - II - EjbServ 235 Interface Remote Interface Remote de l'EJB fibonacci package exemple.fibonacci; public interface Fibonacci extends javax.ejb.EJBObject { public int getFibonacciNumber(int n) throws java.rmi.RemoteException; }

Stéphane Frenot - Département Télécommunication - SID - II - EjbServ Ecrire l'interface Home L interface Home doit : –étendre javax.ejb.EJBHome –être déclarée public –avoir toutes ses méthodes public –avoir toutes ses méthodes suivre les règles RMI –fournir une ou plusieurs méthodes create()

Stéphane Frenot - Département Télécommunication - SID - II - EjbServ 237 Ecrire les méthodes create Les méthodes create() sont utilisées par les clients pour initialiser les instances Règles pour l'écriture de méthodes create() 1) la méthode doit lever java.rmi.RemoteException 2) la méthode doit lever javax.ejb.CreateException 3) le type de retour est l'interface Remote de l'EJB 4) la méthode suit les règles RMI 5) chaque méthode create possède une signature unique Syntaxe de la méthode Create () public create(...) throws RemoteException, CreateException

Stéphane Frenot - Département Télécommunication - SID - II - EjbServ 238 Ecriture de l'interface Home Interface Home de l'EJB fibonacci package exemple.fibonacci; import java.rmi.*; import javax.ejb.*; public interface FibonacciHome extends EJBHome { public Fibonacci create() throws CreateException, RemoteException; }

Stéphane Frenot - Département Télécommunication - SID - II - EjbServ : Ecrire la classe du Bean Règles d'écriture de la classe de l'EJB 1)La classe doit implanter l'interface javax.ejb.SessionBean 2)Fournir une implantation de toutes les méthodes métier de l'interface Remote 3)NE PAS IMPLANTER 4)Pour chaque méthode create (de l'interface home) définir une méthode de signature équivalente ejbCreate() 5)Faire la classe public Règles d écriture des méthode ejbCreate() 1)Chaque méthode create doit avoir une ejbCreate 2)ejbCreate retourne void 3)ejbCreate ne peut pas être ni static ni final 4)ejbCreate doit être public 5)ejbCreate NE LEVE PAS java.rmi.RemoteException 6)ejbCreate peut lever une javax.ejb.CreateException

Stéphane Frenot - Département Télécommunication - SID - II - EjbServ 240 Linterface SessionBean La classe EJB doit implanter toutes les méthodes de l'interface SessionBean Méthodes de l'interface SessionBean public void ejbPassivate(); public void ejbActivate(); public void ejbRemove(); public void setSessionContext(SessionContext ctx);

Stéphane Frenot - Département Télécommunication - SID - II - EjbServ 241 Diagramme d'appel

Stéphane Frenot - Département Télécommunication - SID - II - EjbServ 242 Activation/Passivation

Stéphane Frenot - Département Télécommunication - SID - II - EjbServ 243 Destruction d'EJB

Stéphane Frenot - Département Télécommunication - SID - II - EjbServ 244 Classe type d'un EJB Session Un format de classe d EJB Session : public class MonBean implements SessionBean private SessionContext context; public | protected | private variableStateful;... public void ejbPassivate(){...} public void ejbActivate(){...} public void ejbRemove(){...} public void setSessionContext(SessionContext ctx){ this.context=ctx; } public void ejbCreate(...)[throws CreateException}]{...} public (...) [throws ExceptionMetier{...}

Stéphane Frenot - Département Télécommunication - SID - II - EjbServ 245 La classe La classe Fibonacci package exemple.fibonacci; import java.rmi.*; import javax.ejb.*; public class FibonacciBean implements SessionBean { public void ejbPassivate(){} public void ejbActivate(){} public void ejbRemove(){} public void setSessionContext(SessionContext ctx){} public void ejbCreate() { System.out.println("Cet EJB Fibonacci est créé"; }...

Stéphane Frenot - Département Télécommunication - SID - II - EjbServ 246 La classe public int getFibonacciNumber(int n){... }