JSP
JavaServer
Pages
Duane Fields
Éditions Eyrolles
ISBN : 2-212-09228-8
2000
5
Les pages JSP :
une approche orientée
composants
Dans ce chapitre :
Le modèle JSP basé sur les composants
Concepts de base des composants JavaBeans
Interaction avec les composants depuis une page JSP
Les scriptlets et les expressions JSP permettent aux développeurs d’ajouter des éléments
dynamiques aux pages web en intercalant du code Java dans des pages HTML. Bien que ce
soit une approche très probante pour les programmeurs Java qui souhaitent créer des applica-
tions web et des sites attractifs, on peut néanmoins y observer une absence de séparation claire
entre la présentation et l’implémentation. En outre, elle nécessite de la part du développeur
une maîtrise parfaite du langage de programmation Java. Les JSP, hormis les scripts, fournis-
sent une autre approche centrée sur les composants pour la conception de pages dynamiques.
Cette dernière permet aux développeurs d’interagir avec des composants Java, non seulement
via
du code Java, mais également en utilisant des balises de style HTML. Cette approche a
pour autre avantage de faciliter le partage clair du travail entre les développeurs d’application
et ceux qui s’occupent du contenu web.
1. Le modèle d’architecture orientée composants des pages JSP
Le modèle JSP est centré sur des composants logiciels appelés JavaBeans. Avant d’étudier
dans le détail les composants JavaBeans, nous allons tout d’abord revenir sur les principes sur
lesquels se fonde une conception orientée composants.
JSP – Java Server Pages
2
1.1. Architectures à base de composants
Les composants sont des éléments indépendants et réutilisables qui encapsulent un comporte-
ment applicatif ou des données en un paquetage distinct. Tels des dispositifs de type «boîtes
noires», ils effectuent des opérations sans révéler leurs mécanismes internes. Comme une
interface abstraite fait le lien entre le comportement applicatif et l’implémentation, il est ainsi
épargné aux utilisateurs les détails complexes d’un code touffu. Les fonctionnalités apportées
n’augmentent pas la complexité globale de l’application. En outre, les composants ne sont pas
exclusifs à une application ni à une utilisation unique. Ils sont utilisés comme des briques
élémentaires dans des projets qui, parfois, n’ont aucun rapport entre eux. L’abstraction et la
réutilisation sont les deux principes essentiels de la conception orientée composant. La
gure 5-1 illustre cette approche en montrant comment on peut combiner des composants
logiciels indépendants.
Les composants sont donc des éléments logiciels réutilisables qui peuvent être reliés pour
construire une application. Un bon modèle de composants minimise le travail de codage des
relations entre les différents éléments de l’application. Le principe des architectures de
composants consiste à utiliser une interface commune pour manipuler des objets avec des
outils de développement, la seule nécessité qui incombe à l’outil étant de prendre en charge
l’interface.
1.2. Avantages des architectures à base de composants
Lorsqu’un architecte entreprend la conception d’une nouvelle maison, il se base sur des
composants qui vont lui permettre tout à la fois de gagner du temps et de réduire les coûts
engagés. Plutôt que de concevoir l’installation électrique à partir de zéro, il va par exemple
utiliser des composants déjà existants. Ainsi cet architecte ne va-t-il pas concevoir des
systèmes de climatisations personnalisés, mais plutôt va-t-il les sélectionner à partir de
modèles déjà disponibles sur le marché. Selon toute probabilité, cet architecte ne possédera
pas le savoir-faire ni les ressources nécessaires qui lui permettraient de concevoir de tels
systèmes. Inversement, le constructeur d’appareils de climatisation n’a aucun savoir-faire en
construction de bâtiments. L’approche orientée composants permet à l’architecte et à l’entre-
preneur de concentrer leurs efforts sur ce que, chacun de leur côté, savent le mieux faire. Il en
va de même en informatique. Les architectures par composants offrent la possibilité de
masquer la complexité d’un composant donné par l’adjonction d’une interface, à travers
laquelle le composant interagit avec son environnement ou avec d’autres composants.
On peut utiliser la même argumentation pour illustrer le concept de réutilisation et d’inter-
changeabilité. L’entreprise de construction a opté pour un climatiseur xé par des écrous stan-
dard et fonctionnant sur une tension électrique standard. Le propriétaire de la maison pourra
Figure 5-1
Une application
basée sur
les composants
Interface
utilisateur
du guichet
automatique
Module
de
gestion
des
comptes
Composant
d'accès à la
base de
données Base de
données
Les pages JSP : une approche orientée composants
CHAPITRE 5 3
ainsi remplacer cet appareil par un nouveau modèle plus performant, et ce sans qu’il doive
reconstruire toute la maison. La normalisation des environnements et des méthodes de
conception a permis d’obtenir des systèmes souples, faciles à maintenir. Les composants logi-
ciels ont été conçus pour opérer dans ces environnements spéciques. L’existence de règles
prédénies qui régissent leur interaction avec les autres composants augmente d’autant leur
interchangeabilité.
Développement de composants
En général, une application basée sur des composants fait intervenir une combinaison de
composants génériques et de composants spéciques aux besoins de l’application. Les avan-
tages de la réutilisation des composants se font sentir, non seulement parce que différentes
applications peuvent partager des composants, mais également parce qu’ils peuvent être réuti-
lisés, par la même application ou par des applications différentes.
Considérons par exemple une application bancaire qui compte plusieurs interfaces client, un
module d’accès aux employés et une console d’administration. Chacun de ces modules peut
recourir à un même composant, commun, pour accéder à toutes les données nécessaires à
l’afchage d’un compte bancaire. Si ce composant est sufsamment bien conçu, avec toute
l’anticipation nécessaire, il peut être développé de façon à servir dans toute application de
gestion nancière.
Une fois que le composant est conçu, son concepteur peut dans une certaine mesure en modi-
er le fonctionnement interne sans qu’il doive en prévenir tous ses utilisateurs. Pour parvenir
à un tel niveau d’abstraction, il faut dénir une interface qui protège l’application des détails
d’implémentation du composant.
1.3. Conception de composants pour les projets web
L’approche par composants est tout indiquée pour la conception d’applications web. Les JSP
offrent désormais aux concepteurs web les principes de conception orientée composant que
les développeurs de logiciels traditionnels avaient toujours utilisés. Il n’est désormais plus
nécessaire d’intégrer directement une logique complexe dans les pages au moyen de scripts ni
de développer le contenu de la page dans une logique de programmation; les concepteurs
peuvent plus simplement utiliser un format de page HTML autour des composants. En outre,
la propriété de réutilisation des composants minimise le temps consacré au développement et
fait que les projets sont moins complexes.
La séparation de la logique applicative du format de présentation est devenue indispensable
pour les sociétés de développements web, dans lesquelles les équipes sont organisées autour
de membres qui ont des compétences complémentaires, à savoir en général des développeurs
d’application et des développeurs web. Les premiers possèdent un savoir-faire dans des tâches
telles que les échanges d’informations avec une base de données et l’optimisation du code du
serveur en vue d’améliorer les performances, tandis que les seconds sont plus à même de
résoudre les problèmes de présentation (conception d’interface, format du contenu des pages,
etc.). Dans un projet de développement web par composants, les développeurs d’applications
peuvent se concentrer sur la conception des composants qui renferment la logique applicative
et les développeurs web peuvent quant à eux construire l’application autour de ces compo-
sants, en mettant l’accent sur la présentation. Comme l’illustre la gure 5-2, il est clair que le
JSP – Java Server Pages
4
fait de dénir des limites entre la fonctionnalité du noyau de l’application et sa présentation
permet une séparation claire des responsabilités entre les équipes de développement.
1.4. Conception des applications à partir de composants
Pour illustrer les principes de conception orientée composant, on va examiner une application
web d’achat en ligne. Comme dans une application typique d’entreprise, l’utilisateur demande
des données qui sont extraites d’une base de données. Les articles extraits sont ensuite traités,
puis le résultat est afché à l’utilisateur. Dans cet exemple, on afche un catalogue de
produits. L’utilisateur y sélectionne les articles à acheter, et le montant total, incluant taxes et
frais de livraison, est calculé, puis présenté à l’utilisateur.
La transaction se termine par l’afchage d’un formulaire en ligne où l’utilisateur saisit sa
commande. Une fois celle-ci traitée, une nouvelle page est renvoyée, qui contient une facture
incluant le montant des taxes et de la livraison. Nos concepteurs de page ne devraient avoir
aucun problème pour créer un formulaire de saisie et une page de facture attractifs, et nos
développeurs peuvent facilement calculer les coûts correspondant aux achats effectués. Seule
l’interaction entre les deux mondes est un peu délicate. Avec quelles technologies peut-on
espérer être bien concevoir une telle application?
Le catalogue de produits étant mémorisé dans la base de données, cette partie de l’application
doit être rattachée au serveur. En revanche, où seront donc effectués les calculs du montant des
taxes et de la livraison? Il serait possible d’utiliser une approche de script côté serveur en utili-
sant un langage comme JavaScript. Cependant, JavaScript n’est pas pris en charge par tous les
navigateurs et ferait apparaître nos calculs dans le source de la page. Des calculs critiques
comme ceux que nécessite une facture devraient être connés au niveau du serveur pour des
raisons de sécurité. On ne souhaite pas que le navigateur du client effectue lui-même cette tâche.
Une approche côté serveur utilisant les scripts JSP pourrait solutionner notre problème. On
peut de cette façon avoir accès aux ressources gérées par le serveur avec une sûreté plus
grande dans l’exécution du code. Cette approche fonctionne bien dans de petits projets mais
Figure 5-2
Partage des efforts
dans le développement
d’applications web
Logique
applicative
Accès aux
données Base de
données
Présentation
des données
Domaine des développeurs Java
Domaine des
concepteurs web
1 / 31 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !