Vous êtes sur la page 1sur 13

Belhassen OUESLATI

belhassen.oueslati@gmail.com TIME UNIVERSITY-2012 1


Vue d’ensemble

Objectifs de la présentation:

Décrire les concepts et les problèmes courants des


applications Java/J2EE
Aborder en douceur l’utilisation du conteneur Spring
Architecture globale de Spring

Belhassen.oueslati@gmail.com TIME UNIVERSITY-2012 2


Sommaire

I-Problématiques des développements Java/J2EE


Séparation des préoccupations (technique/ métier)
Problèmes de productivité
L’indépendance vis-à-vis de la plate-forme d’exécution
Les tests

II-Réponse de Spring
La notion de conteneur léger
Le conteneur EJB
Le conteneur léger

III-Architecture globale de Spring

IV-Conclusion

Belhassen.oueslati@gmail.com TIME UNIVERSITY-2012 3


I- Problématiques des développements Java/J2EE :

Séparation des préoccupations (technique/ métier) :


 L’isolation des différentes problématiques qu’une application doit gérer :
 D’une part les problématiques techniques
 D’autre part les problématiques métier
EJB : mais cette solution n’est pas suffisante pour isoler
complètement le développement métier des Pb technique, Pourquoi?
Car la conception même des composant métier est directement
influencé par l’architecture technique

Problèmes de productivité :
 J2EE est une plate-forme complexe à maîtriser
La part des développements consacrés aux problématiques
techniques étant disproportionnée par rapport à celle vouée aux
problématiques fonctionnelles
Utilisation des Framework spécialisés pour résoudre ces
problématiques techniques

Belhassen.oueslati@gmail.com TIME UNIVERSITY-2012 4


I- Problématiques des développements Java/J2EE (suite) :

Problèmes de productivité (suite) :


 Pour parvenir à un niveau de productivité satisfaisante :
Recours à plusieurs Frameworks
Pb d’intégration de ces Framework
Pb aux quels J2EE n’apporte aucune réponse

L’indépendance vis-à-vis de la plate-forme d’exécution :


J2EE se heurte à deux difficulté :
 La standardisation d’une technologie complexe
 Le choix d’une architecture exclusivement orientée serveur

Belhassen.oueslati@gmail.com TIME UNIVERSITY-2012 5


I- Problématiques des développements Java/J2EE (suite) :

Les tests :
 La problématique des tests est fondamentale dans tout développement
d’application
 La difficulté de tester une application Java/J2EE selon une granularité
plus fine nuit fortement à la qualité des applications

En résumé :
Face à ce constat, les concepteurs de Spring ont
développé un Framework permettant d’adresser ces
problématiques de manière efficace

Belhassen.oueslati@gmail.com TIME UNIVERSITY-2012 6


II- Réponse de Spring :

 Pour résoudre les problèmes que nous venons d’évoquer :


Des solutions ont émergé, en rupture avec les conteneurs J2EE
disqualifiés par de nombreux experts pour leur lourdeur
Apparition des conteneurs dits légers : Spring entre dans cette
catégorie de solutions.

La notion de conteneur léger :

Le conteneur EJB :


 Une technologie lourde à mettre en œuvre
 Le code est intrusive
 Technologie dépendante du serveur d’applications

Belhassen.oueslati@gmail.com TIME UNIVERSITY-2012 7


II- Réponse de Spring (suite) :

La notion de conteneur léger (suite) :

Le conteneur léger :


 Le conteneur léger permet de fournir une infrastructure de gestion
de l’ensemble des composants de l’application, a travers les
mécanismes de configuration, comme les fichiers XML.

 Il permet :
 L’initialisation des composants
 Gestion du cycle de vie des composants
 Gestion des dépendances entre les composants

Belhassen.oueslati@gmail.com TIME UNIVERSITY-2012 8


II- Réponse de spring (suite) :

La notion de conteneur léger (suite) :


Le conteneur léger :
 L’indépendance vis-à-vis de la plate forme d’exécution ( Pb résolu) :
 Les conteneurs légers sont indépendants de la technologie J2EE
 Les conteneurs légers peuvent fonctionner sur tout type de
serveur d’applications, voire sans eux en utilisant une simple
machine virtuelle Java (JVM) (utilisation du spring contexte)

 Les tests (Pb résolu ) : Les conteneurs légers rendent les applications
qui les utilisent à la fois plus flexibles et mieux testables :
 Le couplage entre les composants est géré par le conteneur,
et non plus directement à l’intérieur du code
 L’utilisation intensive d’interfaces qui rend l’application
indépendante de leurs implémentations

Belhassen.oueslati@gmail.com TIME UNIVERSITY-2012 9


III-Architecture globale de Spring :

Voici une illustration des différentes briques constituant l’architecture de


Spring, ainsi que les principaux Framework tiers (représentés en
pointillés) dont elles assurent l’intégration.

Architecture de Spring
Belhassen.oueslati@gmail.com TIME UNIVERSITY-2012 10
III-Architecture globale de Spring (suite) :

 Spring repose sur un socle technique constitué des modules :


Spring Core, le conteneur léger
Springs AOP, le framework de POA

 Sur ce socle sont construits des modules de plus haut niveau destinés à
intégrer des frameworks tiers. Ces modules sont les suivants :

Modules d’intégration de la persistance des données :


Spring DAO : L’abstraction de la notion d’objets d’accès aux données
Spring ORM : L’intégration de frameworks de persistance
Spring JDBC : Simplifier l’utilisation de JDBC

Belhassen.oueslati@gmail.com TIME UNIVERSITY-2012 11


III-Architecture globale de Spring (suite) :

Module de gestion de contexte applicatif (Spring Context):


Spring Context : assure le dialogue entre Spring et l’application,
indépendamment de la plate-forme technique sur laquelle fonctionne
cette dernière.(au sein d’un serveur d’applications, d’une simple
JVM,etc.)

Module d’intégration de frameworks Web (Spring Web):


Spring Web : supporte les principaux frameworks Open Source du
marché. Spring propose en outre son propre framework Web, conçu sur
le modèle MVC, sous le nom de Spring MVC

Belhassen.oueslati@gmail.com TIME UNIVERSITY-2012 12


Conclusion

 Springs est une solution élégante qui répond à un ensemble de


problématiques essentielles des développements Java/J2EE :
La flexibilité du code
L’intégration de frameworks tiers
L’implémentation des meilleures pratiques de programmation

 Du fait de son indépendance vis-à-vis de la plate-forme J2EE,


il est utilisable sur tout type de développement Java reposant
sur J2SE.
 Il convient aussi bien aux applications de type Web (grâce à
Spring MVC ou à son intégration des principaux frameworks
MVC)

Belhassen.oueslati@gmail.com TIME UNIVERSITY-2012 13

Vous aimerez peut-être aussi