15 Développement d’application de base de données en Java
Ce chapitre introduit quelques concepts de base du développement d’applications de base de données en
Java/JDBC. L’objectif n’est pas de traiter de manière exhaustive de la conception des applications mais
plutôt de mettre l’accent sur la gestion de la persistence dans une application Java qui utilise les services
d'une base de données relationnelle SQL en passant par JDBC.
A l'étape de conception, il faut concevoir les programmes d’application qui vont réaliser les traitements
prévus dans les cas d’utilisation du système. L’architecture du système doit être précisée. Une organisation
logique typique décompose le logiciel en couches (patron d'architecture en couche) :
Couche présentation. Ceci regroupe les classes dédiées à la présentation des données.
Couche contrôle (coordonnateur d'application). Cette couche gère le séquencement des opérations prévues dans le
cas d'utilisation.
Couche domaine d’application (métier). Cette couche réalise les traitements particuliers au domaine d’application.
Couche de services. Persistence, répertoires de services, communication, etc.
Ces couches logiques peuvent être réparties physiquement selon diverses architectures physiques. Plusieurs
alternatives sont à considérer : client-serveur, trois couches (three-tier), multi-couches (multitier). Dans la
section suivante, nous considérons le cas le plus simple : le client-serveur.
15.1 Application Java client-serveur
Dans un contexte d’utilisation d’un SGBD, l’architecture physique la plus simple est le client-serveur. Le
SGBD joue le rôle de serveur et le programme d’application, désigné par le terme client, est souvent déployé
sur une machine différente du serveur de base de données et communique avec le SGBD en passant par
un logiciel intermédiaire (middleware).
Réseau
Logiciel
intermédiaire
Pilote de
télécommunication
Programme
d'application Logiciel
intermédiaire
Pilote de
télécommunication
SGBD
Client Serveur
BD
Figure 1. Architecture client-serveur