Transcript
Page 1: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert

CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT

UV EJB Entité

Module Java Expert

Page 2: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert

Module UV EJBPage 2 / 66

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Module Java

Vue d’ensemble du langage Java Le langage Java : syntaxe et sémantique Programmation multi-tâche : les threads Accéder aux bases de données Composants réutilisables : le modèle MVC Développement Client/Serveur Présentation d’ un IDE : WSAD / Forté / JBuilder Les serveurs d’applications J2EE Les Enterprise JavaBeans : le Bean Entité Ré-ingénierie d’applications Java

Page 3: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert

Module UV EJBPage 3 / 66

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Définition d’un bean Entité

Un bean Entité (entity bean) représente un objet métier possédant un mécanisme de stockage persistant.

Quelques exemples d’objets métiers sont : – Les clients, les commandes et – les produits.

Dans le SDK J2EE, le mécanisme de stockage persistant est une base de données relationnelle. – chaque bean entité possède une table sous-jacente dans une

base de données relationnelle, et– chaque instance du bean correspond à une ligne dans cette table.

Page 4: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert

Module UV EJBPage 4 / 66

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Différences entre les beans Entité et Session

Les beans entité diffèrent des beans session sur différents points :– Les beans entité sont persistants, permettant un accès

partagé, – Ils ont des clés primaires, et– Ils peuvent participer dans des relations avec d’autres beans

entité.

Page 5: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert

Module UV EJBPage 5 / 66

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Quand utiliser les beans Entité?

On utilise généralement un bean entité selon les conditions suivantes : – Le bean représente une entité métier (business), et non pas

une procédure. • exemple, CreditCardEJB serait un bean entité, mais

CreditCardVerifierEJB serait un bean session.

– L’état du bean doit être persistant. Si l’instance du bean se termine ou si le serveur J2EE est arrêté, l’état du bean restera valide et stocké dans une base de données.

Page 6: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert

Module UV EJBPage 6 / 66

Deruelle LaurentCopyright © 2002 Laurent Deruelle

La persistance d’un bean entité

Comme l’état d’un bean entité est sauvegardé dans une base de données, il est persistant. La Persistance signifie que l’état du bean entité existe même après la durée de l’exploitation de l’application ou du processus serveur J2EE.

Il existe deux types de persistance pour les beans entité : – bean-managed persistence (BMP) : le code du bean entité

contient les appels qui accèdent à la base de données.– container-managed persistence (CMP) : le conteneur EJB

génère automatiquement les appels d’accès à la base de données (on ne doit pas les écrire).

Page 7: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert

Module UV EJBPage 7 / 66

Deruelle LaurentCopyright © 2002 Laurent Deruelle

La persistance CMP

Le terme container-managed persistence signifie que le conteneur EJB gère tous les accès à la base de données.

Le redéploiement d’un même bean entité sur différents serveurs J2EE utilisant différentes bases de données ne nécessitera aucune modification du bean.

Pour générer les accès à la base de données, le conteneur a besoin d’informations fournies au travers du schéma abstrait du bean entité.

Page 8: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert

Module UV EJBPage 8 / 66

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Le schéma abstrait

Le schéma abstrait fait partie du descripteur de déploiement du bean entité : – le nom du schéma y est spécifié et est référencé par des

requêtes écrites en EJB QL (Enterprise JavaBeans Query Language ), qui seront exécutées par le conteneur via les méthodes finder.

– Il définit les champs persistants du bean et ses relations.

Le terme abstrait distingue ce schéma du schéma physique du stockage du bean (i.e. tables et colonnes).

Page 9: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert

Module UV EJBPage 9 / 66

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Exemple de schéma

Un simple schéma abstrait qui décrit les relations entre quatre beans entités.

Page 10: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert

Module UV EJBPage 10 / 66

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Les champs persistants

Les champs persistants d’un bean entité sont stockés et constituent l’état du bean.

Lors de l’exécution, le conteneur EJB synchronise automatiquement cet état avec la base de données.

Pendant le déploiement, le conteneur met en correspondance le bean entité à une table de la base de données et les champs persistants aux colonnes de la table.

Dans le cadre d’une container-managed persistence, les champs sont virtuels :– ils sont déclarés au niveau du schéma,

– Ils ne sont pas codés comme variables d’instances de la classe du bean, mais comme des propriétés (getters et setters).

Page 11: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert

Module UV EJBPage 11 / 66

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Les champs relations

Un champs relation est comme une clé étrangère dans une table d’une base de données.

Il identifie les connexions entre beans. Comme pour les champs persistants, une relation est

virtuelle et est définie comme une propriété. A la différence d’un champs persistant, une relation

ne fait pas partie de l’état du bean.

Page 12: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert

Module UV EJBPage 12 / 66

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Cardinalité des relations

Il existe quatre types de cardinalité : – One-to-one: chaque instance d’un bean est liée à une instance d’un

autre bean.

– One-to-many: une instance du bean peut être liée à de multiples instances d’un autre bean. Par exemple, une commande peut avoir plusieurs ligne de produits (OrderEJB possédera une relation one-to-many avec LineItemEJB).

– Many-to-one: plusieurs instances d’un bean peuvent être liées à une unique instance d’un autre bean. La relation de LineItemEJB à OrderEJB est many-to-one.

– Many-to-many: les instances du bean peuvent être liées à plusieurs instances d’un autre bean. Par exemple, dans une université chaque cours a plusieurs étudiants, et chaque étudiant suivent plusieurs cours. CourseEJB et StudentEJB auront une relation many-to-many.

Page 13: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert

Module UV EJBPage 13 / 66

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Cycle de vie d’un EJB entité


Top Related