Stéphane Frenot - Département Télécommunication - SID - II - EJBcli 211 Le client EJB.

Slides:



Advertisements
Présentations similaires
Laboratoire informatique de Paris 6
Advertisements

EJB 2.0 Enterprise Java Bean ™ Xavier BLANC
Plan de l’enseignement
ESSI AM Dery Merci à Rémi Vankeisbelck, Michel Riveill etc
1 Plan de lenseignement Cours Introduction au réseau via les objets distants (Application à RMI) Ce que cache RMI : programmation socket – mode connecté
ESSI AM Dery Merci à Rémi Vankeisbelck, Michel Riveill etc
ESSI AM Dery Merci à Rémi Vankeisbelck, Michel Riveill etc
En savoir plus sur le nommage
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
2- La théorie du producteur
Programmation Web Les JSP.
Approfondissement du langage
(Classes prédéfinies – API Java)
Plan du cours La sérialisation: – comment stocker et restaurer les Objets? Les interfaces graphiques et la programmation évènementielle. –Comment concevoir.
Dernière scéance: Des question?????? + Deux exercices.
Les technologies XML Cours 3 : Les APIS XML Janvier Version 1.0 -
Introduction aux Entity Beans
JAV - TD 6 Structures de données JAVA
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 - EjbServ 227 EJB Session.

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 J2EE / JNDI Module Java Expert.
CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert.
CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Session Module Java Expert.
Servlet JAVA.
Jc/md/lp-01/06Installation de Platform Builder CE 4.21 Installation de Platform Builder.
Introduction aux Session Beans
Pattern État PowerPoint 2003, télécharger la visionneuse PowerPoint Viewer dernière édition si vous ne lavez pas…télécharger la visionneuse PowerPoint.
Structures collectives en Java
JavaBeans Réalise par: EL KHADRAOUY TARIK AOUTIL SAFOWAN.
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Les exceptions. Quest ce quune exception ? Une erreur dans le programme Due à un bug ou un cas « anormal » Gestion complète en java : JVM Dans dautre.
JDBC ou comment manipuler une base de données en Java ?
Factory Design Patterns Factory Method
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.
Rappels Java.
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
JSTL JSP Standard Tag Library
COURS DE PROGRAMMATION ORIENTEE OBJET :
Le diagramme de collaboration
Les méthodes en java • Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. • Une méthode pour être utilisée.
201 UMLV  Type « dictionnaire » sous-ensembles finis de E (ordonné) avec les opérations : Ens_vide :  Ens Ajouter : Ens x Elément  Ens Enlever.
1111 Gestion des exceptions Objectifs À la fin de ce cours, vous serez capables de : • Expliquer les concepts de base de la gestion des exceptions.
Les EJB Samir AZZOUZ Équipe ObjectWeb
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.
Cours 7 Classes locales Clonage Divers: tableaux.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 6 – Exceptions.
Systèmes distribués Plusieurs technologies existent : Les sockets
CEG3585/CEG3555 Tutorat 2 Hi ver 2013.
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Tutorat en bio-informatique
12/04/ Les exceptions Cours 11 Cours 11.
Les sockets.
Master 1 SIGLIS Intégration des données dans l’entreprise Stéphane Tallard JDBC: Java Database Connectivity Master 1 SIGLIS1JDBC.
Iterator Design Pattern Alessandro Soro Sylvain Giroux.
Héritage Conception par Objet et programmation Java
M2 – MIAGE/SID Servlet et session M2 – MIAGE/SID
Serveurs Web à contenu dynamique Emmanuel Cecchet INRIA Rhône-Alpes, Projet Sardes Rice University, Systems lab
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Transcription de la présentation:

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 - EJBcli 212 En gros.... OM Client jndi

Stéphane Frenot - Département Télécommunication - SID - II - EJBcli 213 Comment obtenir le stub du « home » ? Réaliser un lookup sur le service de nommage JNDI afin d'obtenir..... Pour localiser le d'un EJB Robot lié en tant que « nono » : // Obtenir un contexte de travail initial try{ RobotHome home=(RobotHome)context.lookup(« nono »); }catch(NamingException e){...}

Stéphane Frenot - Département Télécommunication - SID - II - EJBcli 214 Linterface..... Elle fournie un service de gestion du cycle de vie des EJB créés –création –suppression –métaDonnées –localisation des EJB d'implantation

Stéphane Frenot - Département Télécommunication - SID - II - EJBcli 215 Linterface EJBHome Toutes les interfaces « home » héritent de –javax.ejb.EJBHome L'interface EJBHome : public interface EJBHome extends Remote { public void remove (Handle handle) throws RemoveException; public void remove (Object object) throws RemoveException; public EJBMetaData getEJBMetaData(); }

Stéphane Frenot - Département Télécommunication - SID - II - EJBcli 216 Les méthodes de création L'interface home présente également un certain nombre de méthodes create qu'un client peut invoquer pour demander la fabrication d'un EJB Syntaxe des méthodes create create() throws CreateException, RemoteException Exemple de création de robots try{ RobotHome home=(RobotHome)context.lookup(« nono »); Robot jacques=home.create(); Robot bill=home.create(«Grosses Chenilles»); }catch(NamingException e){ }catch(CreationException e){ }catch(RemoteException e){}

Stéphane Frenot - Département Télécommunication - SID - II - EJBcli 217 Les ejb entité présentent des méthodes find Les entités EJB possèdent une ou plusieurs méthodes find dans l'interface « home » qui permettent de localiser les EJB persistants existants Toutes les « homes » des EJB entity ont : findByPrimaryKey( ) throws FinderException, RemoteException L'interface « home » peut également définir d'autres méthodes de recherche : findNimporteQuoi() throws FinderException, RemoteException java.util.Enumeration findNimporteQuoi() throws FinderException, RemoteException

Stéphane Frenot - Département Télécommunication - SID - II - EJBcli 218 Exemple d'utilisation d'un entity EJB On utilise des entity EJB qui représentent des adresses Mail : public interface Home extends EJBHome { public create(String adresse)throws CreateException, RemoteException public findByPrimaryKey( PK pk) throws FinderException, RemoteException public Enumeration findByDomain(String domain) throws FinderException, RemoteException } Exemple dutilisation de l'entité EJB try{ Home home=( Home)context.lookup(« EJB »); PK pk=new uneAdress =home.findByPrimaryKey(pk); Enumeration enum=home.findByDomain("univ-lyon1.fr"); while(enum.hasMoreElements()){ =( )enum.nextElement(); // Utilisation de l'EJB ici ! } }catch(Exception e){}

Stéphane Frenot - Département Télécommunication - SID - II - EJBcli 219 Que ce passe t'il au niveau du container ?

Stéphane Frenot - Département Télécommunication - SID - II - EJBcli 220 Vision client du cycle de vie : EJB Session Non existant non référencé Non existant référencé existe non référencé existe, référencé home.create (...) Le client invoque les méthodes La référence client est libérée handle.getObject() Crash du container ou timeOut du bean object.remove() home.remove() Exception système du bean TimeOut du Bean Crash du container NoSuchObjectException() La référence client est libérée

Stéphane Frenot - Département Télécommunication - SID - II - EJBcli 221 Vision client du cycle de vie : EJB Entity Non existant non référencé Non existant référencé existe non référencé existe, référencé home.create (...) Le client invoque les méthodes La référence client est libérée home.find() Insertion directe object.remove() home.remove() ou suppression directe NoSuchObjectException() La référence client est libérée Suppression directe home.remove()

Stéphane Frenot - Département Télécommunication - SID - II - EJBcli 222 L'interface Remote L'interface Remote liste les opérations métiers d'un EJB –Toutes les interfaces Remote étendent EJBObject –Toutes les méthodes peuvent lever une exception RemoteException

Stéphane Frenot - Département Télécommunication - SID - II - EJBcli 223 L'interface EJBObject L'interface EJBObject fournit au client sa vue d un EJB L'interface EJBObject interface EJBObject extends Remote { public EJBHome getEJBHome(); public Handle getHandle(); public Object getPrimaryKey(); public boolean isIdentical(EJBObject); public void remove() throws RemoveException; } Toutes ces méthodes lèvent aussi RemoteException

Stéphane Frenot - Département Télécommunication - SID - II - EJBcli 224 L'interface Remote L'interface Remote définit surtout les opérations métiers de l'EJB L'interface Remote pour un EJB entité public interface extends EJBObject{ public String getDomainName() throws RemoteException; public String get Address() throws RemoteException; public String getUserName() throws RemoteException; } Exemple d'utilisation de l'EJB try{ Home home=( Home)context.lookup(" EJB"); String domain=ejb.getDomainName(); String user=ejb.getUserName(); System.out.println(" Adresse Mel : }catch(Exception e){...}

Stéphane Frenot - Département Télécommunication - SID - II - EJBcli 225 Comparaison d'EJB Utilisation de isIdentical(EJBObject) pour voir si deux références distances indiquent le même EJB Comparaison d'identité RemoteStringHome home=...; //Obtient le home d'un stateful RemoteString r1=home.create(...); RemoteString r2=home.create(...); RemoteString r3=r2; //comparaisons if (r1.isIdentical(r2)){...} if (r1.isIdentical(r1)){...} if (r2.isIdentical(r3){...}

Stéphane Frenot - Département Télécommunication - SID - II - EJBcli 226 Objets Handle Un Handle peut être utilisé pour stocker une connexion sur un EJB Un objet Handle : –Représente le contenu d'un remote stub –Est sérialisable –Est produit à partir de l'interface Remote Définition de l'interface Handle public interface Handle{ public EJBObject getEJBObject() throws RemoteException; } Pour fabriquer le Handle à partir de l'EJB public Handle getHandle() throws RemoteException;