0% ont trouvé ce document utile (0 vote)
87 vues33 pages

Oracle & Java - Version Complet

Le document présente PL/SQL et Java, deux langages utilisés pour le développement d'applications avec Oracle. Il décrit les fonctionnalités et utilisations de chacun, ainsi que leur intégration avec Oracle.

Transféré par

abdellah boumaiza
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
87 vues33 pages

Oracle & Java - Version Complet

Le document présente PL/SQL et Java, deux langages utilisés pour le développement d'applications avec Oracle. Il décrit les fonctionnalités et utilisations de chacun, ainsi que leur intégration avec Oracle.

Transféré par

abdellah boumaiza
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 33

ORACLE & JAVA

Mohammed Moumni
Abdellah Boumaiza
Youssef Allam
Présentation de PL / SQL

◦ PL / SQL est l'extension du langage procédural d'Oracle à SQL. Il fournit un langage de


procédure stocké côté serveur qui est facile à utiliser, transparent avec SQL, robuste, portable
et sécurisé. Le compilateur et l'interpréteur PL / SQL sont intégrés dans Oracle Developer,
offrant aux développeurs un modèle de développement cohérent et exploité à la fois du côté
client et du côté serveur. En outre, les procédures stockées PL / SQL peuvent être appelées à
partir d'un certain nombre de clients Oracle, tels que Pro * C ou Oracle Call Interface, et à
partir d'Oracle Reports et Oracle Forms.

◦ PL / SQL vous permet de mélanger des instructions SQL avec des constructions
procédurales. Avec PL / SQL, vous pouvez définir et exécuter des unités de programme PL /
SQL telles que des procédures, des fonctions et des packages. Les unités de programme PL /
SQL sont généralement classées en blocs anonymes et procédures stockées.

02/03/2021
◦ Un bloc anonyme est un bloc PL / SQL qui apparaît dans votre application et qui n'est ni
nommé ni stocké dans la base de données. Dans de nombreuses applications, les blocs PL /
SQL peuvent apparaître partout où les instructions SQL peuvent apparaître.

◦ Une procédure stockée est un bloc PL / SQL qu'Oracle stocke dans la base de données et peut
être appelé par son nom depuis une application. Lorsque vous créez une procédure stockée,
Oracle analyse la procédure et stocke sa représentation analysée dans la base de
données. Oracle vous permet également de créer et de stocker des fonctions (qui sont
similaires aux procédures) et des packages (qui sont des groupes de procédures et de
fonctions).

02/03/2021
Le moteur PL / SQL et le serveur de base de données Oracle

02/03/2021
Présentation de Java

◦ Java est un langage de programmation orienté objet efficace pour les programmes de niveau
application. Il comprend les fonctionnalités suivantes:

• Une machine virtuelle Java (JVM), qui fournit la base fondamentale de l'indépendance de la
plate-forme

• Techniques de gestion automatique du stockage, telles que la collecte de mémoire dispersée


dans un espace mémoire contigu

• Syntaxe du langage qui emprunte au C et applique un typage fort

02/03/2021
Stratégie d'application Java d'Oracle

◦ L'un des attraits de Java est son omniprésence et le nombre croissant de programmeurs capables de
développer des applications qui l'utilisent. Oracle fournit aux développeurs d'applications
d'entreprise une solution Java de bout en bout pour créer, déployer et gérer des applications
Java. La solution complète se compose d'interfaces de programmation côté client et côté serveur,
d'outils de prise en charge du développement Java et d'une machine virtuelle Java intégrée au
serveur de base de données Oracle. Tous ces produits sont compatibles avec les standards Java.
◦ Outre Oracle JVM, l'environnement de programmation Java comprend les éléments suivants:

- Procédures stockées Java en tant qu'équivalent Java et compagnon pour PL / SQL. Les procédures
stockées Java sont étroitement intégrées à PL / SQL. Vous pouvez appeler une procédure stockée Java
à partir d'un package PL / SQL; vous pouvez appeler des procédures PL / SQL à partir d'une procédure
stockée Java.

- Les données SQL sont accessibles via l'interface de programmation JDBC.


- Outils et scripts utilisés pour aider au développement, au chargement de classe et à la gestion de
classe.

02/03/2021
Doit-on utiliser PL / SQL ou Java pour coder des
procédures et des déclencheurs ?
◦ PL / SQL et Java peuvent être utilisés pour créer des procédures stockées et des déclencheurs
Oracle. Cela conduit souvent à des questions comme "Lequel des deux est le meilleur?" et "Oracle
va-t-il jamais désactiver PL / SQL en faveur de Java?".De nombreuses applications Oracle sont
basées sur PL / SQL et il serait difficile pour Oracle de jamais désactiver PL / SQL. En fait, tout
indique que PL / SQL a encore de beaux jours devant lui. De nombreuses améliorations sont encore
apportées à PL / SQL. Par exemple, Oracle 9i prend en charge la compilation native du code PL /
SQL en binaires. Sans parler des nombreuses améliorations PL / SQL apportées à Oracle 10g et
11g.PL / SQL et Java plaisent à différentes personnes dans différents rôles.

02/03/2021
PL / SQL:

◦ Peut être utilisé pour créer des packages, des procédures et des déclencheurs Oracle
◦ Centré sur les données et étroitement intégré à la base de données
◦ Propriétaire d'Oracle et difficile à porter vers d'autres systèmes de base de données
◦ La manipulation des données est légèrement plus rapide en PL / SQL qu'en Java
◦ PL / SQL est un langage de programmation procédural traditionnel

02/03/2021
Java:

◦ Peut être utilisé pour créer des packages, des procédures et des déclencheurs Oracle
◦ Norme ouverte, non propriétaire d'Oracle
◦ Entraîne une surcharge de conversion de données entre le type de base de données et Java
◦ Java est un langage orienté objet et les modules sont structurés en classes
◦ Java peut être utilisé pour produire des applications complètes PS: à partir d'Oracle 10g, les
procédures .NET peuvent également être stockées dans la base de données (Windows uniquement).
Néanmoins, contrairement à PL / SQL et JAVA, le code .NET n'est pas utilisable sur les systèmes
non Windows.

02/03/2021
C’EST QUOI UN JDBC ?

◦ JDBC, Java Data Base Connectivity est un ensemble de classes (API – Application Programming
Interface --JAVA) permettant de se connecter à une base de données relationnelle en utilisant des
requêtes SQL ou des procédures stockées. L’API JDBC a été développée de manière à pouvoir se
connecter à n’importe quelle base de données avec la même syntaxe; cette API est dite
indépendante du SGBD utilisé. Les classes JDBC font partie du package

02/03/2021
Types de drivers JDBC
◦ Les drivers de Type 1 :
ODBC-JDBC bridges, ODBC (Open Data Base Connectivity) est une interface propre à Microsoft et
qui permet l’accès à n’importe quelle base de données (Panneau de configuration Outils
d’administration Sources de données ODBC .
Chaque requête JDBC est convertie par ce pilote en requête ODBC qui est par la suite
convertie une seconde fois dans le langage spécifique de la base de donnée. Cette technique est la
moins optimale puisque les bases de données sont disponibles uniquement que par technologie
ODBC. Le SDK de Java fournit un pilote JDBC-ODBC :« sun.jdbc.odbc.JdbcOdbcDriver ».

02/03/2021
Figure : jdbc drivers type 1

02/03/2021
◦ Les drivers de Type 2 :

Ce type de driver traduit les appels de JDBC à un SGBD particulier, grâce à un mélange d'API java
et d'API natives. (Propre au SGBD).
Ce Driver est fourni par l’éditeur de SGBD.
Il est de ce fait nécessaire de fournir au client l’API native de la base de données. Si on change le type
de la base de données, on doit changer le pilote

02/03/2021
Figure : jdbc drivers type 2

02/03/2021
◦ Les drivers de Type 3 :

Permet la connexion à une base de données via un serveur intermédiaire régissant l’accès aux
multiples bases de données Ce type de driver est portable car écrit entièrement en java. Il est
adapté pour le Web.
Cela exige une autre application serveur à installer et à entretenir. Ce type de driver peut être
facilement utilisé par une applet, mais dans ce cas le serveur intermédiaire doit obligatoirement
être installé sur la machine contenant le serveur Web.

02/03/2021
Figure : jdbc drivers type 3

02/03/2021
◦ Les drivers de Type 4 :
◦ Ce type de driver est connu sous le nom Direct Database Pure Java Driver), permet d’accéder
directement à la base de données (sans ODBC ni Middleware). C’est le type le plus optimal

Figure : jdbc drivers type 4


02/03/2021
Architecture des application jdbc
JDBC fonctionne selon les deux modèles suivants :
->Modèle à deux couches (two-tier)

Dans ce modèle , une application JAVA (ou une applet) dialogue avec le SGBD par l’intermédiaire du pilote
JDBC. L’application JAVA et le pilote JDBC s’exécutent sur l’ordinateur client tandis que le SGBD est placé sur
un serveur.

02/03/2021
->Modèles 3 couches (three-tier)

Dans le modèle three-tier, l’applet (ou l’application JAVA) ne dialogue plus directement avec un SGBD : un
middle-tier fait le lien entre ces deux composants Le SGBD exécute les requêtes SQL et envoie les résultats au
middle tier. Ces résultats sont ensuite communiqués à l’applet sous forme d’appels http.

02/03/2021
Fonctionnement
1.Importer les packages nécessaires

2. Connexion à la base de données

i. Chargement du pilote de la BDD

ii. Demande de connexion: s’identifiant auprès du SGBD et en précisant la base utilisée


3. Traitement des commandes SQL

4. Traitement des résultats (Objet ResultSet)

5. Fermeture du RsultSet et du Statement

6. Mettre à jour la base de de données


7. Valider les mises à jour (COMMIT)

8. Fermeture de la connexion.

02/03/2021
L'utilisation de PL /SQL plutôt que du code d'application stocké
localement sur les ordinateurs clients.
◦ Les avantages
◦ Ils permettent une programmation modulaire (réduire la complexité ou neveu de code métier)
◦ Ils permettent une exécution plus rapide. Ils peuvent réduire le trafic réseau(One-time, One-place Processing)
◦ Ils peuvent être utilisés comme mécanisme de sécurité.

◦ Les inconvénients
◦ Fonctionnalité de codage limitée
◦ Portabilité (migration de technologie)
◦ Coût (matériel , humane… )

02/03/2021
Démonstration
◦ Les interfaces graphiques :

02/03/2021
◦ La base de données:

La table registration La sequence et le trigger pour l’auto  Sequence


incrementation pour id
(parce que j'utilise oracle 11g): 

02/03/2021
02/03/2021
◦ La procedure stockée REGISTRATION_PROC pour insertion:

02/03/2021
◦ La fonction checkUsername pour éviter la duplication des noms d'utilisateurs:

02/03/2021
Lorsque nous cliquons sur le bouton d'enregistrement, la fonction insertIntodb sera appelée et
prend en paramètres le nom d'utilisateur et le mot de passe, et à l'intérieur de cette fonction, la
fonction checkUsername sera appelée en premier à partir de la base de données oracle en utilisant
JDBC pour éviter les noms d'utilisateurs en double

02/03/2021
◦ les étapes que nous avons suivies pour appeler la fonction checkUsername et la procédure stockée
REGISTRATION_PROC:

 -la connexion à la base de données.


 -la création d'un objet PreparedStatement et à son constructeur transmettre l'appel de fonction au format String.
-nous définissons les valeurs sur les espaces réservés.
-nous exécutons instruction Callable.

02/03/2021
02/03/2021
Dans l'interface LOGIN:

02/03/2021
◦ La fonction checkLogin dans la base de donnees :

02/03/2021
dans l'interface de connexion, lorsque l'utilisateur clique sur le bouton de connexion, la
fonction checkLogin sera appelée, elle retournera 1 si le nom d'utilisateur et le mot de passe
correspondant à un utilisateur existant dans la base de données sinon elle retournera 0.

02/03/2021
MERCI POUR VOTRE ATTENTION

02/03/2021

Vous aimerez peut-être aussi