Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU
Cours INF Bases de Données Hiver 2005, groupe 10 Plan de présentation Introduction Présentation de la norme EJB 2.x. Les faiblesses de la norme EJB 2.x. Les améliorations prévues dans la norme EJB 3.0. La présentation de la norme EJB 3.0. Compatibilité et migration. Des outils pour développer des applications qui implémentent la norme EJB 3.0. Conclusion.
Cours INF Bases de Données Hiver 2005, groupe 10 Introduction La technologie Entreprise Java Bean est une technologie d’entreprise qui défini un modèle de composantes du côté serveur. Les applications développées avec des composantes Entreprise Java Bean: répondent à un grand nombre des appels clients; assurent la sécurité des transactions; cherchent à optimiser l’utilisation des ressources du serveur (mémoire, CPU, connexions réseau, etc.).
Cours INF Bases de Données Hiver 2005, groupe 10 Présentation de la norme EJB 2.0 Les objets EJB sont des composants simples, portables, évolutifs, réutilisables et déployables. Ils accomplissent leur travail par l’intermédiaire d’un conteneur EJB dans lequel ils sont exécutés.
Cours INF Bases de Données Hiver 2005, groupe 10 Il y a trois catégories des objets EJB : EJB entité (Entity Bean) – représente les données stockés dans une base de données. –après avoir appelée par le client peut actualiser des données dans la base de données. –peut être partagé. EJB session (Session Bean) – permet de réaliser des appels de méthodes distantes. –session bean sans état (stateless session bean) –session bean avec état (stateful session bean) EJB message (Message-Driven Bean) – peut analyser et répondre aux messages envoyés d’une composant J2EE ou d’une application JMS.
Cours INF Bases de Données Hiver 2005, groupe 10 La structure d’un objet EJB entité Les objets EJB session et EJB entité ont : –Une interface home qui défini la durée de la vie de l’objet EJB. –Une interface remote qui défini les méthodes métier qui peuvent être appeler du client. –Une class bean qui implémente les méthodes, définis dans les interfaces, de l’objet EJB. Les objets EJB message n’ont pas des interfaces.
Cours INF Bases de Données Hiver 2005, groupe 10 Les objets EJB entité
Cours INF Bases de Données Hiver 2005, groupe 10 Les objets EJB session
Cours INF Bases de Données Hiver 2005, groupe 10 Il y a deux façons de gérer la persistance : – Bean Managed Persistance (BMP) – L’objet EJB entité gère sa persistance. – Le développeur doit inclure, dans le code de l’objet, des requêtes SQL. Les requêtes SQL accèdent à la base de données. – Conteneur Managed Persistance (CMP) – Le conteneur gère la persistance. – Il faut associer des méthodes findXXX() ou des méthodes select() avec des requêtes écrites en le langage EJB - QL. – Les requêtes EJB - QL accèdent au schéma abstract.
Cours INF Bases de Données Hiver 2005, groupe 10 Les paramètres qui doivent être spécifies dans le descripteur de déploiement BaliseDescription - indique le type de l’objet EJB - spécifie le nom de l’objet EJB dans le répertoire JNDI,, - spécifient les noms des interfaces et de la class de l’objet EJB - indique pour un objet EJB session, si c’est un objet avec état ou non - indique si les transactions sont démarquées par l’objet EJB ou le conteneur - détermine si la persistance est gérée par le conteneur ou par l’objet EJB entité - spécifie les attributs dont la persistance est gérée
Cours INF Bases de Données Hiver 2005, groupe 10 Les faiblesses de la norme EJB 2.x Il faut coder plusieurs classes, interfaces et fichiers et il faut implémenter toutes les méthodes des interfaces, même si elles ne sont pas utilisées; Le descripteur de déploiement est très complexe; Il faut utiliser le service JNDI pour trouver les objets EJB; Le modèle CMP qui permet de gérer la persistance par le conteneur est difficile à utiliser; La syntaxe du langage des requêtes EJB-QL est limitée; Les composants EJB sont difficiles à tester hors du conteneur.
Cours INF Bases de Données Hiver 2005, groupe 10 Les améliorations incluses dans la norme EJB 3.0 L’élimination des interfaces pour les objets EJB session et EJB entité; L’implémentation des annotations de metadata qui éliminent la nécessité de fournir des descripteurs de déploiement; L’accès au service JNDI (Java Naming and Directory Interface) par les annotations; Le langage des requêtes EJB-QL a été étendu; La possibilité de tester l’objet EJB hors du conteneur EJB.
Cours INF Bases de Données Hiver 2005, groupe 10 Comparaison entre les deux normes EJB Components nécessaires Norme EJB 2.xNorme EJB 3.0 EJB sessionEJB entitéEJB sessionEJB entité Home interface L’étendue de l’interface javax.ejb.EJBHome ou de l’interface javax.ejb.EJBLocalHome optionnelle (une interface Java POJI) - Remote interface L’étendue de l’interface javax.ejb.EJBObject ou de l’interface javax.ejb.EJBLocalObject optionnelle (une interface Java POJI) - Class bean L’implémentation de l’interface Une class Java (POJO) annoté Une class Java (POJO) annoté qui implémente les méthodes métiers javax.ejb. SessionBean javax.ejb. EntityBean Descripteur de déploiement Un fichier XML--
Cours INF Bases de Données Hiver 2005, groupe 10 La présentation de la norme EJB 3.0 Permet l’utilisation des annotations. –Une annotation permet de faire référence à un certaine point dans le code. Implémente une nouvelle API Persistante afin d’avoir un seul modèle standard pour la persistance EntityManager. Le cycle de vie de l’objet EJB est géré par EntityManager. Permet l’injection de dépendance pour trouver et utiliser l’environnement EJB et les ressources nécessaires. Les relations entre les objets EJB sont définis avec des annotations.
Cours INF Bases de Données Hiver 2005, groupe 10 Annotations définies dans la norme EJB 3.0 annotations qui spécifient le type de l’objet EJB annotations qui spécifient la façon d’accès à l’objet EJB annotations qui spécifient des attributs de la transaction : annotations qui spécifient des méthodes de sécurité @SecurityRoles; annotations de @EJB; annotations qui font référence aux données persistantes
Cours INF Bases de Données Hiver 2005, groupe 10 Compatibilité de la norme EJB 3.0 avec les applications actuelles Bien que la norme EJB 3.0 implémente un nouveau modèle pour gérer la persistance, le modèle CMP (Container Managed Persistance) sera encore supporté. Les applications qui sont développés avec les objets EJB 2.x ou JDO 1.x seront encore supportées, mais les vendeurs sont encouragés à assurer un chemin pour passer vers la norme EJB 3.0.
Cours INF Bases de Données Hiver 2005, groupe 10 Des outils pour développer des applications qui implémentent la norme EJB 3.0 Afin de pouvoir tester et développer des applications en utilisant la norme EJB 3.0, l’entreprise Oracle met à disposition une version d’un serveur d’applications qui s’appelle « Oracle Application Server EJB 3.0 Preview» Dans cette version de serveur d’application, Oracle a implémenté les caractéristiques de la norme EJB 3.0, conforme aux spécifications du document « EJB 3.0 Early Draft 2 ».
Cours INF Bases de Données Hiver 2005, groupe 10 Conclusion L’implémentation de la norme EJB 3.0 dans la version 5.0 du serveur d’application J2EE, qui est prévue à être disponible ou cours du premier trimestre de l’année 2006, simplifie le processus de développer des applications distribuée.