Sensibiliser les étudiants à la problématique de l'intégration transparente des accès aux BD dans les applications objets ; maîtriser les aspects architecturaux, comprendre les techniques de conception et de développement ; être sensibilisé aux problèmes de performance, de concurrence d'accès et de gestion des transactions, ainsi que d'ingénierie logicielle liés à ces techniques.Le cours doit également permettre de se familiariser avec le développement concret d'une solution de mapping objet-relationnel (ORM) en utilisant JPA/Hibernate (langage Java). La mise en oeuvre d'une solution ORM facilite grandement l'accès aux bases relationnelles et diminue fortement la taille du code nécessaire. En contrepartie, l'accumulation des couches logicielles peut induire une perte de performance, ainsi que des problèmes transactionnels. Le cours montre les techniques avancées pour gérer ces difficultés potentielles.
Maîtrise de la conception et du développement d'applications objet construites sur un motif de conception en couches et intégrant de façon transparente l'accès aux BD relationnelles. Mise en oeuvre d'une solution ORM en utilisant Hibernate/Java ou Zend/PHP.
Maîtrise de la conception et du développement d'applications objet construites sur un motif de conception en couches et intégrant de façon transparente l'accès aux BD relationnelles. Mise en oeuvre d'une solution ORM en utilisant Hibernate/Java ou Zend/PHP.
Rappels sur l'architecture d'une application accédant à une base de données ; rappels sur les techniques de compilation, d'optimisation et d'évaluation de requêtes SQL (plans d'exécution, pipelinage, caches de session) ; rappels sur la concurrence d'accès et la gestion des transactions.
Application objet : problématique et notions générales sur la persistance objet / relationnelle (historique, modèles de bases de données, stratégies de mapping).
Modèles de développement en couches : les motifs de conception (design patterns), le pattern MVC ; les frameworks de développement.
Gestion de la persistance : présentation de la non correspondance des modèles relationnel et objet. Hibernate/JPA: modélisation des données, interrogation, transactions. Stratégies d'évaluation avec Hibernate, gestion de la concurrence.
Application objet : problématique et notions générales sur la persistance objet / relationnelle (historique, modèles de bases de données, stratégies de mapping).
Modèles de développement en couches : les motifs de conception (design patterns), le pattern MVC ; les frameworks de développement.
Gestion de la persistance : présentation de la non correspondance des modèles relationnel et objet. Hibernate/JPA: modélisation des données, interrogation, transactions. Stratégies d'évaluation avec Hibernate, gestion de la concurrence.