Partie III
Langages et outils
290
© Éditions Eyrolles
Classification des pilotes (drivers)
Un pilote ( driver ) JDBC est une couche logicielle chargée d’assurer la liaison entre l’application
Java (cliente) et le SGBD (serveur). La classification des pilotes JDBC distingue quatre types :
q
Les pilotes de type 1 ( JDBC-ODBC Bridge ) utilisent la couche logicielle de Microsoft
appelée ODBC. Le client est dit « épais », puisque le pilote JDBC convertit les appels Java
en appels ODBC avant de les exécuter. Cette approche convient bien pour des sources de
données Windows ou si l’interface cliente est écrite dans un langage natif de Microsoft.
q
Les pilotes de type 2 ( Native-API Partly-Java Driver ) utilisent un pilote fourni par le constructeur de la base de données (natif). Le pilote n’étant pas développé en Java, le client est
aussi dit « épais » pour cette approche. En effet, les commandes JDBC sont toutes converties en appels natifs du SGBD considéré. Cette approche convient pour les applications qui
manipulent des sources de données uniques (tout Oracle ou IBM, etc.).
q
Les pilotes de type 3 ( Net Protocol All-Java Driver ) utilisent un pilote générique natif écrit
en Java. Le client est plus « léger » car les appels JDBC sont transformés par un protocole
indépendant du SGBD. Cette approche convient pour des sources de données hétérogènes.
q
Les pilotes de type 4 ( Native Protocol All-Java Driver ) sont écrits en Java. Le client est
léger car il ne nécessite aucune couche logicielle supplémentaire. Les appels JDBC sont
traduits en sockets exploités par le SGBD. Cette approche est la plus simple, mais pas
forcément la plus puissante ; elle convient pour tous les types d’architectures.
La figure suivante schématise le principe mis en œuvre au travers des quatre types de pilotes JDBC :
Le choix du pilote n’a pas d’influence majeure sur la programmation. Seules les phases de
chargement du pilote et de connexion aux bases sont spécifiques, les autres instructions sont
indépendantes du pilote. En d’autres termes, si vous avez une application déjà écrite et que
Figure 8-1 Types de pilotes JDBC
BD
Java
JDB C
ODBC
ODBC
BD
Java
JDB C
Driver BD
Driver BD
Java
Driver
Java
100%
Driver Générique
Driver
IBM
BD
Driver
IBM
Driver
Or acle
Java
Driver
100% Java
BD
type 1
type 2
type 3
type 4
TCP /IP
...
Précédent

- 312/418

Suivant