Académique Documents
Professionnel Documents
Culture Documents
Architectures N-tiers
Présentation
Master Technologies de l'Internet 1ère année
Eric Cariou
Octobre 2016 1 2
Services Applicatif
Présentation Persistance Applicatif
Métiers Présentation Persistance
client serveur
Client Serveur
Client Serveur
7 8
Persistance Persistance
Quelques standards / outils d'accès à distance à des BDD
Couche de persistance RDA (Remote Data Access) de l'ISO
Stockage et manipulation des données de l'application ODBC (Open Data Base Connectivity) de Microsoft
Supports physiques variés JDBC (Java Data Base Connectivity) d'Oracle
Fichiers binaires Framework pour le langage Java
Fichiers textes « de base » ou structurés (JSON)
Fonctionnement général
Gestion de requêtes SQL mais avec indépendance du SGBDR utilisé
Fichiers XML (mySQL, PostgreSQL, Oracle ...)
Une base de données relationnelle ou un ensemble de bases de En général, seule la phase de connexion au SGBDR est spécifique
données relationnelles Pour des fichiers XML, outils gérant la navigation dans
Pour ce dernier cas l'arbre de données
Nécessité d'envoyer à distance des requêtes de type SQL et d'en DOM : norme W3C permettant de naviguer et modifier un contenu
récupérer les résultats XML ou HTML
Pour réaliser cela Utilisé notamment coté client Web avec du Javascript
Soit c'est natif dans le langage utilisé (ex : PHP) JAXP : framework JAVA pour lecture/édition fichiers XML
Soit on passe par des frameworks ou des API dédiés 15 16
Persistance Persistance
Peut à la place utiliser des frameworks de plus haut niveau
En programmation orientée objet, les données Correspondances objet-relationnel
Sont des objets avec des attributs valués et des ORM : Object-Relationnal Mapping
références vers d'autres objets Sérialisation XML
Forment une structure globale sous forme de graphe Principes
Données stockées dans des supports externes On définit la correspondance entre la structure des classes objet et
le schéma relationnel/XML
Schéma relationnel pour SGBDR On manipule directement des objets dans le code
Arbre pour XML Le framework fait la lecture/enregistrement du contenu des objets
Problème de différence de format de stockage et sur le support physique
de manipulation de données coté programme Plus besoin de coder des requêtes SQL
Même si un langage de requête orienté objet reste utile
Doit écrire du code qui permet de passer d'un objet au Exemples
format de stockage physique JPA (Java Persistence API) ou Hibernate pour ORM en Java
Peut être rapidement lourd et répétitif à faire JAXB pour sérialisation XML en Java
17 18
Frameworks globaux Oracle Java EE
Java EE : Java Entreprise Edition
Une application 3/N – tiers intègre un grand nombre de Norme / standard défini par Oracle pour le langage Java
technologies Technologies intégrées
Présentation : HTML/CSS, librairies graphiques... Composants logiciels : EJB
Applicatif : objets, composants, scripts exécutables, services ... Applications orientées Web : JSP, Servlet, JSTL
Données : fichiers XML, SGBDR, ... Communication à distance : Java RMI, IIOP, JMS (Java Message
Service : communication par message), Web Services
Protocoles de communication : RPC/RMI, HTTP, messages, ... Gestion données distantes : JDBC, JPA
Pour faciliter l'intégration de ces technologies et le déve- Gestion d'annuaires (type LDAP) : JNDI
loppement d'applications Interfaces graphiques : Java FX
Éditeurs offrent des frameworks globaux Et bien d'autres ...
Java EE chez Oracle Existe nombreux serveurs d'applications Java EE
.Net chez Microsoft Versions libres
Serveur d'application GlassFish, JBoss, Apache Geronimo, Jonas ...
Serveur permettant d'exécuter les parties applicatives dans le Versions d'éditeurs
contexte de ces frameworks Oracle GlassFish Server Open Source, IBM WebSphere,
19 20
BEA WebLogic ...
Composants
Client lourd EJB* SGBD
Composants
EJB* SGBD
logique métier Conteneur EJB Serveur 23 24
Serveur Java EE données
Contenu du module Architecture Web type
Développement Java d'applications N-tiers orientées Web Architecture Web type avec des servlets (hors JSF)
Persistance (sans lien particulier avec développement Web)
4. requête SQL
JBDC : accès basique en SQL à BDD relationnelles DAO SGBD
JPA : framework de mapping objet-relationnel 5. données
3. accès données 6. données
JAXB : sérialisation XML avec mapping classes/schéma XML
Serveur Web applicatif Services
Servlet : programme Java traitant des requêtes HTTP métiers
JSP : variante des servlets mixant code HTML et code Java 2. appel métier 7. données
Facilitant la mise en forme des données avec la librairie JSTL
JSF : framework MVC de plus haut niveau 1. requête HTTP Servlet
Navigateur
Coté client Web Web 8. suivi requête HTTP + données
AJAX et WebSockets : requêtes pour données (en Javascript) 9. c
o de H
TML
JSP / JSTL
25 Serveur Java EE 26