Applications orientées données - patrons, frameworks, ORM

Code UE : NSY135

  • Cours
  • 6 crédits

Responsable(s)

Raphaël FOURNIER S NIEHOTTA

Public et conditions d'accès

DEST en informatique ou licence informatique ou équivalent. Bonnes connaissance du modèle relationnel, bases en SQL et dans les systèmes informatiques.
Ce cours concerne les auditeurs qui préparent un diplôme de niveau II concepteur-architecte (option Ingénierie de projet et/ou Système d'information) ou un diplôme d'ingénieur options AISL et/ou ISI (ce cours est positionné au niveau I2).
Conditions d'accès : maîtrise de SQL et compréhension des mécanismes d'optimisation et d'exécution d'un système relationnel, maîtrise de la programmation objet et connaissance d'au moins un des langages suivants : Java, PHP ou C++.
UE CNAM préalables conseillées : Systèmes de gestion de bases de données (NFP107) ou Conception et administration de bases de données (NFE113), et Programmation avancée (NFP121)

Objectifs pédagogiques

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.

Compétences visées

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.

Contenu

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.

Bibliographie

  • A.Patricio, O. Salvatori : Hibernate 3.0 : Gestion optimale de la persistance dans les applications Java/J2EE, Eyrolles
  • R. Ramakrishnan, J. Gehrke : Database Management Systems, Mc Graw Hill, 2nd edition, 2000

Cette UE apparaît dans les diplômes et certificats suivants

Contact

Informatique d'entreprise
2D4P10, 33, 2 rue Conté
75003 Paris
Tel :01 58 80 84 71
Alexandre LESCAUT

Voir les dates et horaires, les lieux d'enseignement et les modes d'inscription sur les sites internet des centres régionaux qui proposent cette formation

UE

    • Paris
      • Centre Cnam Paris
        • 2019-2020 1er semestre : FOAD 100%
        • 2020-2021 1er semestre : FOAD 100%
        • 2021-2022 1er semestre : FOAD 100%
        Comment est organisée cette formation ?

        Organisation de la modalité FOAD 100%

        Planning

        1er semestre

        • Date de démarrage : 01/10/2019
        • Date limite d'inscription : 02/11/2019
        • Regroupements facultatifs : 3 pour une totalité de 9 heures
        • Date de 1ère session d'examen : la date sera publiée sur le site du centre ou l'ENF
        • Date de 2ème session d'examen : la date sera publiée sur le site du centre ou l'ENF

        Accompagnement

        • Plateforme Moodle
        • Chat
        • Forum
        • Messagerie intégrée à la plateforme
        • Classe virtuelle
        • Espace de travail collaboratif
        • Accompagnement téléphonique
        • Séance de démarrage

        Ressources mises à disposition de l'auditeur

        • Documents de cours
        • Enregistrement de cours
        • Documents d'exercices, études de cas activités
        • Bibliographie et webographie

        Modalités de validation

        • Projet
        • Examen sur table
        • 1 projet collectif
        • 1 projet individuel
        :