mapping objet-relationnel enterprise object framework i
TRANSCRIPT
![Page 1: Mapping Objet-Relationnel Enterprise Object Framework I](https://reader036.vdocuments.fr/reader036/viewer/2022082701/551d9da5497959293b8d6ac2/html5/thumbnails/1.jpg)
Mapping Objet-Relationnel
Enterprise Object Framework I
![Page 2: Mapping Objet-Relationnel Enterprise Object Framework I](https://reader036.vdocuments.fr/reader036/viewer/2022082701/551d9da5497959293b8d6ac2/html5/thumbnails/2.jpg)
Objets métiers - objets persistents
•Les objets métiers sont les objets représentant votre
environnement
•Ces objets ont souvent une durée de vie supérieure à
celle de l ’application : ce sont des objets persistents
•Un objet persitent sauvegarde son état dans un système
de stockage permanent:
– SGBD relationnel
– annuaire LDAP
– …
![Page 3: Mapping Objet-Relationnel Enterprise Object Framework I](https://reader036.vdocuments.fr/reader036/viewer/2022082701/551d9da5497959293b8d6ac2/html5/thumbnails/3.jpg)
Enterprise Object Framework
•Permet d ’établir la correspondance entre la base de
données et les objets métiers
•EOF fournit les classes prenant en charge les accès à la
base de donnée
•EOF s ’appuie sur JDBC (depuis WebObjects 5.0)
![Page 4: Mapping Objet-Relationnel Enterprise Object Framework I](https://reader036.vdocuments.fr/reader036/viewer/2022082701/551d9da5497959293b8d6ac2/html5/thumbnails/4.jpg)
Enterprise Object Framework
Application 1
Objets Métiers
Oracle MySql Openbase
EOF
Application 2
![Page 5: Mapping Objet-Relationnel Enterprise Object Framework I](https://reader036.vdocuments.fr/reader036/viewer/2022082701/551d9da5497959293b8d6ac2/html5/thumbnails/5.jpg)
EOModel
•L ’EOModel décrit la correspondance entre objets
métiers et bases de données
•L ’EOModel se présente sous la forme d ’un fichier texte
•L ’EOModel est intégré comme ressource dans un projet
•L ’EOModel contient les informations pour la connexion
à la base de donnée
![Page 6: Mapping Objet-Relationnel Enterprise Object Framework I](https://reader036.vdocuments.fr/reader036/viewer/2022082701/551d9da5497959293b8d6ac2/html5/thumbnails/6.jpg)
EOModeler
•Pour créer et éditer l ’EOModel de manière conviviale
•Pour générer le SQL correspondant au modèle objet
•Pour générer les sources Java des objets du modèle
•Pour éditer des requêtes en mode graphique
![Page 7: Mapping Objet-Relationnel Enterprise Object Framework I](https://reader036.vdocuments.fr/reader036/viewer/2022082701/551d9da5497959293b8d6ac2/html5/thumbnails/7.jpg)
Entité - classe - table
ETUDIANT
ID Nom Prénom
10002 Dupont Marc
10003 Durand Paul
10004 Albert Sophie
Marc
Nom=« Dupont »prenom=« Marc »
Sophie
Nom=«Albert »prenom=« Sophie»
Paul
Nom=« Durand »prenom=« Paul »
Etudiant
nomprenom
<<instance de>><<instance de>>
<<instance de>>
![Page 8: Mapping Objet-Relationnel Enterprise Object Framework I](https://reader036.vdocuments.fr/reader036/viewer/2022082701/551d9da5497959293b8d6ac2/html5/thumbnails/8.jpg)
Entité - classe - table
Modèle Entité-Relation Modèle ObjetModèle SGBD
![Page 9: Mapping Objet-Relationnel Enterprise Object Framework I](https://reader036.vdocuments.fr/reader036/viewer/2022082701/551d9da5497959293b8d6ac2/html5/thumbnails/9.jpg)
Relations « to-one » « to-many »
ETUDIANTID Nom Prénom ID Tuteur
10002 Dupont Marc 12007
10003 Durand Paul 12005
10004 Albert Sophie 12007
TUTEURID Nom Prénom
12007 Rossi Gilles
12005 Simon Pierre
Marc:Etudiant
nom=« Dupont »prenom=« Marc »tuteur=
Gilles:Tuteur
nom=« Rossi »prenom=« Gilles »etudiants=
Sophie:Etudiant
nom=« Albert »prenom=« Sophie »tuteur=
:NSArray
![Page 10: Mapping Objet-Relationnel Enterprise Object Framework I](https://reader036.vdocuments.fr/reader036/viewer/2022082701/551d9da5497959293b8d6ac2/html5/thumbnails/10.jpg)
Relations « many-to-many »
ETUDIANTID Nom Prénom
10002 Dupont Marc
10003 Durand Paul
10004 Albert Sophie
PROFESSEURID Nom Prénom
11003 Clari Edith
11004 Peters Bob
ETUD_PROFID_ETUD ID_PROF
10002 11003
10002 11004
10003 11004
Marc:Etudiant
nom=« Dupont »prenom=« Marc »professeurs=
Bob:Professeur
nom=« Peters »prenom=« Bob »etudiants=
Sophie:Etudiant
nom=« Albert »prenom=« Sophie »professeurs=...
:NSArray
:NSArray
Edith:Professeur
nom=« Peters »prenom=« Bob »etudiants=...
![Page 11: Mapping Objet-Relationnel Enterprise Object Framework I](https://reader036.vdocuments.fr/reader036/viewer/2022082701/551d9da5497959293b8d6ac2/html5/thumbnails/11.jpg)
Relations « many-to-many »
ETUDIANTID Nom Prénom
10002 Dupont Marc
10003 Durand Paul
10004 Albert Sophie
PROFESSEURID Nom Prénom
11003 Clari Edith
11004 Peters Bob
ETUD_PROFID_ETUD ID_PROF
10002 11003
10002 11004
10003 11004
Il n ’est pas nécessaire de créer une classe correspondant à la table de jointure dans le modèle objet
EOModeler permet de masquer la table de jointure (« Flatten »)
![Page 12: Mapping Objet-Relationnel Enterprise Object Framework I](https://reader036.vdocuments.fr/reader036/viewer/2022082701/551d9da5497959293b8d6ac2/html5/thumbnails/12.jpg)
Les classes de EOF
EOGenericRecord
•classe par défaut utilisée par EOF•stocke les valeurs des attributs et des relations•implémente l ’interface EOEnterpriseObject
Classes personnalisées pour objets métier
•sous-classes de EOGenericRecord•hérite de l’interface EOEnterpriseObject•permettent l’ajout de fonctionnalités supplémentaires
![Page 13: Mapping Objet-Relationnel Enterprise Object Framework I](https://reader036.vdocuments.fr/reader036/viewer/2022082701/551d9da5497959293b8d6ac2/html5/thumbnails/13.jpg)
Les classes personnalisées
Template généré avec EOModeler
![Page 14: Mapping Objet-Relationnel Enterprise Object Framework I](https://reader036.vdocuments.fr/reader036/viewer/2022082701/551d9da5497959293b8d6ac2/html5/thumbnails/14.jpg)
Les classes personnalisées
public class Etudiant extends EOGenericRecord {public Etudiant() {
super();}public String nom() {
storedValueForKey("nom");}public void setNom(String value) {
takeStoredValueForKey(value,"nom");}...
}
![Page 15: Mapping Objet-Relationnel Enterprise Object Framework I](https://reader036.vdocuments.fr/reader036/viewer/2022082701/551d9da5497959293b8d6ac2/html5/thumbnails/15.jpg)
Mapping Objet-Relationnel
Enterprise Object Framework I