Pilotes JDBC et SQLJ

Pilotes JDBC et SQLJ

Principe des pilotes JDBC Il existe deux types de pilotes JDBC Oracle : • les pilotes JDBC utilisés par les machines virtuelles Java standard ; • un pilote JDBC spécifique pour les méthodes Java exécutées par la machine virtuelle Java d’Oracle. La figure 19-1 montre une architecture dans laquelle JDBC est une interface incontournable. Le modèle présente un déploiement de type client lourd et un déploiement de type client léger. Dans le premier cas, l’application Java accède à la base de données via JDBC, qui repose lui-même sur le protocole Oracle Net. Cette application nécessite un poste de travail dit client lourd car elle réalise des opérations à la fois sur les données et sur l’affichage de ces données. Dans le second cas, le client est, par exemple, un navigateur Web qui communique avec un serveur d’applications selon le protocole HTTP. Le client léger doit uniquement afficher les informations qu’il échange avec le serveur d’applications ; il ne réalise aucun traitement sur ces données. Le serveur d’applications les recueille depuis la base par l’intermédiaire d’une connexion JDBC et exécute les opérations nécessaires sur ces données. Ensuite, il les transmet au client léger qui les présente à son tour à l’utilisateur final. Ces deux catégories de clients, lourd et léger, ont accès à tous les objets stockés dans la base Oracle 10g, via les protocoles HTTP et JDBC : tables, procédures stockées PL/SQL et Java, etc

JDBC

les pilotes et leur utilisation JDBC est principalement une bibliothèque de classes Java destinée à faciliter l’accès à des données contenues dans des bases relationnelles. Ce n’est pas une invention d’Oracle, mais une interface standardisée utilisée par de multiples acteurs de l’informatique. Toute la difficulté de cette interface consiste à en saisir le « lego logiciel», les différents composants mis en œuvre par telle ou telle implémentation. Les pilotes JDBC sont en effet multiples et utilisent des « chemins d’accès » très variés. JDBC a été conçu après ODBC et en reprend bon nombre de caractéristiques : connexion simultanée à plusieurs bases de données, gestion des transactions, interrogations, appel à des procédures stockées, etc. JDBC ne se contente pas d’imiter ODBC : il innove sur des points importants, tels le téléchargement du pilote par le réseau avant son exécution. Le premier pilote JDBC opérationnel, proposé par JavaSoft (la filiale de Sun dédiée aux produits Java), nécessitait l’installation de pilotes ODBC pour fonctionner. Cette situation a heureusement évolué. On peut considérer qu’il existe trois types de pilotes JDBC : • ceux qui réutilisent ODBC ; • ceux qui se réfèrent à Oracle Net ; • ceux qui n’ont besoin ni d’ODBC, ni d’Oracle Net. Ces différents accès sont résumés dans le schéma suivant : Figure 19-2 Les différents types de pilotes JDBC -OCI Réseau vers le Interface de programmation JDBC Programmes écrits en Java accédant à Oracle10g Pilote Javasoft utilisant ODBC Pilote ODBC pour Oracle Pilote JDBC Oracle Net Pilote JDBC téléchargeable (thin JDBC) Sockets de communication Java Réseau TCP/IP serveur Oracle10g =Briard.Livre Page 443 Mardi, 21. février 2006 1:46 13 Outils et langages de programmation PARTIE IV 444 La façon dont vous programmez vos applications Java est unique : elle est définie par les spécifications de l’interface de programmation JDBC. À l’inverse, lors de l’écriture de vos programmes, vous pouvez préciser le type de pilote, donc le chemin que vous souhaitez emprunter pour accéder à Oracle 10g. Comment choisir entre les différents JDBC existants L’intérêt principal de Java est sa portabilité et les possibilités de téléchargement d’applications qu’il offre. L’avantage majeur que les entreprises recherchent dans ces solutions techniques est avant tout l’absence de déploiement d’applications. Actuellement, il existe des outils de développement très productifs, mais dont l’utilisation est limitée par la difficulté de leur installation sur les postes des utilisateurs. Même si les applications peuvent être téléchargées après modification, les couches techniques de bas niveau comme Oracle Net doivent être installées sur chaque poste utilisateur.

Pilote JavaSoft (ou autre) utilisant ODBC

C’est le moins intéressant des trois. Il a comme seul avantage de valider une solution technique novatrice. Pour fonctionner, il faut installer à la fois l’interface JDBC (ajout au langage Java qui interprète les appels JDBC dans vos programmes), un pilote ODBC pour Oracle 10g (plus sa configuration) et enfin le « client » Oracle Net et sa configuration. Cela fait beaucoup ! Ce type de pilote alourdit énormément le poste client. Il convient de le réserver à une validation technique ou à des programmes fonctionnant sur des serveurs d’applications.  Pilote OCI s’appuyant sur Oracle Net Pour cette architecture, l’installation et la configuration locale de Oracle Net et du pilote JDBC sont nécessaires. Ce pilote se caractérise par une bonne capacité à gérer une charge importante. Figure 19-4 Pilote JDBC utilisant ODBC Oracle Net Interface de programmation JDBC Pilote Javasoft utilisant ODBC Pilote ODBC pour Oracle Oracle Net Réseau TCP/IP Réseau TCP/IP Postes clients : navigateur Internet Serveur d’applications Serveur hébergeant la base Oracle Figure 19-5 Pilote JDBC s’appuyant sur Oracle Net Oracle Net Interface de programmation JDBC Oracle Net Réseau TCP/IP Réseau TCP/IP Serveur d’applications Serveur hébergeant la base Oracle Postes clients: navigateur Internet =Briard.Livre Page 445 Mardi, 21. février 2006 1:46 13 Outils et langages de programmation PARTIE IV 446 La solution technique proposée dans ce cas est fort semblable à celle du client-serveur traditionnel. Deux sortes d’applications peuvent être visées par ce type de pilote. Tout d’abord celles fonctionnant sur un serveur d’applications : le code applicatif mis en œuvre sur le poste client ne gère que l’affichage des données et le code autorisant l’accès aux données fonctionne sur le serveur d’applications. Une seule installation est alors nécessaire, et ce quel que soit le nombre de clients connectés. L’autre type d’applications concernées sont les applications client ayant un fort besoin d’échanges avec la base Oracle 10g, à l’instar des applications client-serveur actuelles. La lourdeur d’installation d’un parc important de machines client se justifie par les performances.

Formation et coursTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *