Programmation d`application

publicité
Programmation
d’application
INT
174
Plan du document





Contexte
slide 176
Programmer avec une BD
slide 177
Client-Serveur SQL et architecture 3 rangs
slide 181
JDBC
slide 182
Serveurs d’applications et « portails »
slide 187
175
Contexte

Limites du SQL interactif :
 absence
de structure de contrôle
 absence de variable
 Pas de « calcul » sur les données
  Adopter un langage de type procédural

SQL doit rester le seul langage d'accès aux
données
176
Programmer avec une BD
Programmer avec une BD

Générateurs d’application sur BD :
 Interface
au dessus LDD LMD
 But :  productivité 
Programmation visuelle (QBE, QBF, LV)
 L4G :

Maquettage d’écrans
 Enchaînement des actions  triggers
 Scripts associés aux objets graphiques  SQL + LPG
(PL/SQL)


AGL
177
Interfaces SQL LPG

Embedded SQL :



Précompilé, compilé
Dépendant du SGBD cible
Problèmes



2 systèmes de types, 2 styles de programmation
 « Impedance mismatch » == « dysfonctionnement »
SQL/CLI :





Programmer avec une BD
Bas niveau  compilé uniquement
Interface universelle SGBD SQL
Indépendance / SGBD
Imbrication « sans couture » du SQL dans langage hôte
PSM (Persistent Stored Modules) :




PL/SQL
« Routines » SQL
Triggers
C/S 2ème génération
178
Programmer avec une BD
Embedded SQL
Programme source (C+SQL)
DD
Précompilation
Programme source
Requêtes BD
sans cde SQL
compilation
code objet
Traitement
Librairies
Plan d'exécution
Linkage
Stockage
programme exécutable
BD
179
Programmer avec une BD
Interfaces SQL LPG
Approche
Java
Autres langages
Embedded SQL
SQLJ
Pro*C
SQL/CLI
JDBC
ODBC
PSM
PL/SQL
180
Client-Serveur SQL et architecture
3 rangs
Site 1


Terminal : navigateur
Client léger : navigateur http
Middleware http
C/S HTTP
Site 2


Frontal : Serveur +
passerelle
Serveur http
Passerelle CGI  SQL
Middleware SQL
C/S SQL
Site 3

Dorsal : SGBD
Serveur SQL
181
JDBC
Reprise des idées de ODBC dans le monde
Java
 Indépendance / SGBD cible
 Recours à des pilotes
 Code portable de bout en bout
 Pas forcément construit au dessus de ODBC
 Autres API peuvent être définies à partir de
JDBC

182
Pilotes JDBC



JDBC non supporté en natif par les SGBD du
commerce
Transformations des appels JDBC en appels natifs
4 catégories de pilotes en fonctions de :
 La
présence ou non de pilote SGBD (non java) sur le client
 Protocole de communication entre le client Java et le
serveur
183
Principes JDBC
Connexion (se lie à un SGBD particulier avec
un nom d’utilisateur)
 Création de requête (statements)
 Exécution de requête (execute)
 Récupération des résultats (resultset et next())
 Opérations transactionnelles (commit, abort)

184
2-tiers JDBC
Machine client
IHM
JDBC
Applet Java
Navigateur HTML
JDBC
Protocole propriétaire SGBD
Machine serveur BD
Oracle
SGBD
185
3-tiers JDBC
Machine client
IHM
Applet Java
Navigateur HTML
HTTP, RMI, appels IIOP - CORBA
Machine serveur
Business Logic
Serveur d’application
JDBC
Protocole propriétaire SGBD
Machine serveur BD
Oracle
SGBD
186
Serveurs d’applications et
« portails »

Reconnaissant les utilisateurs :
 Multiplier
les « cookies »
 Vues adaptatives construites au fur et à mesure des
requêtes et parcours
Intégrant de multiples applications « servlets »
 Intégrant de multiples sources de données
« wrappers »

187
Téléchargement