Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Les Bases de données et le Web
2
Plan général Présentation Quelques standards
Quelques moyens d'accès aux données La technologie Microsoft L’alternative JAVA avec IBM WebSphere
3
Présentation
4
Présentation (1) Extension du Système d ’information.
Accessibilité de partout. Interface conviviale et simple. Problèmes de déploiement. Comment faire une application de gestion sur le Web ?
5
Présentation (2) Architecture 3 niveaux
Découpage modulaire Utilisateur / Métier / Données Architecture d ’objets distribués COM/DCOM Microsoft CORBA Unix JAVA BEAN java Approche Objet / Composant
6
Quelques standards
7
Quelques standards HTTP Les serveurs WEB HTML et Formulaires Web
JavaScript Les Scripts C.G.I. Limitations et Problèmes ...
8
HTTP (1) H.T.T.P. = HyperText Transfer Protocol. Protocole standard
Dialogue entre le client Web/Serveur Web. Sur un port spécifié (par défaut 80) Protocole de type déconnecté Le serveur ne garde par de contexte (pas de session utilisateur)
9
HTTP (2) Le client envoie au serveur (requête HTTP)
Une demande de document : GET /index.html HTTP/1.0 Des informations sur sa configuration (en-tête optionnel: Nom, numéro de version. type de documents supportés ... Données supplémentaires (facultatif)
10
HTTP (3) Le serveur répond alors au client par
L ’envoi d ’une ligne d’état contenant : la version HTTP, le code d ’état et sa description. HTTP/ OK L ’envoi d ’en-têtes Informations concernant le serveur et le document demandé Les données formant le document demandé Le serveur coupe la connexion
11
HTTP (4) Type de commandes HTTP supportées
GET : les données du client se trouvent dans l ’URL. POST : les données du client se trouvent dans le requête HTTP. HEAD : Idem GET sauf que le serveur n ’envoie aucune données (en-tête seulement) LINK, PUT, DELETE ...
12
Les serveurs WEB (1) C ’est un programme qui tourne sur le serveur
Démon (UNIX), Service (Windows NT) Son Rôle : Recevoir les requêtes des clients (navigateurs) Exécuter des scripts CGI Renvoyer le contenu des documents demandés Gérer les accès.
13
Clients (Navigateurs)
Serveur Web (2) Serveur WEB [ Port 80 ] HTTP Clients (Navigateurs) Réseau local
14
HTML et Formulaires Web (1)
HTML : HyperText Markup Language Langage de balises Description de pages Interprété par le navigateur (non compilé !) HTML 4 Dynamic HTML (Microsoft)
15
HTML et Formulaires Web (2)
Contrôles standard Internet : Submit, reset, button, text, checkbox, radio, hidden, image, password. Inclus dans une balise <INPUT type=‘ ? ’> Notion de Formulaire Contient des contrôles Internet Balise : <FORM method=GET action=‘’>…</FORM> Soumission du formulaire
16
HTML et Formulaires Web (3)
Les données des contrôles sont envoyés dans la requête HTTP. Format d ’envoi des données Couples Nom/Valeurs : nom=valeur Séparés par des & Sans Espaces, ou autres caractères spéciaux Solution : l ’Encodage hexadécimal Ex: le slash ‘ / ’ devient ‘ %2F ’
17
Les Scripts C.G.I. (1) C.G.I. = Common Gateway Interface
Langages : PERL, C, C++ ... Conditions d ’utilisations : paramètres (contrôles du formulaire) sur l ’entrée standard. Ecriture d ’une page HTML sur la sortie standard. Utilisation des variables d ’environnement
18
Les Scripts C.G.I. (2) Rôle du serveur WEB : Ex: Sur Unix
passage d ’argument renvoie de la page générée Ex: Sur Unix Utilisation du langage C Récupération des arguments grâce à argc et *argv[]. Création de la page résultante grâce à printf.
19
Les Scripts C.G.I. (3) Soumission du formulaire
<FORM name=form METHOD=POST action=‘ cgi.exe ’> <INPUT type=text name=ess1> <INPUT type=’SUBMIT ’ value=‘ Soumettre ’ name="Submit"> </FORM> Soumission du formulaire Passage des valeurs de contrôles sur l ’entrée standard Ecriture dynamique de la page HTML sur la sortie standard Script CGI
20
Quelques moyens d'accès aux données
21
Quelques moyens d'accès aux données
Accès à la base RDB : SQLMOD La solution Microsoft : ADO Accès à une base via JAVA : JDBC
22
Accès à la base RDB, Oracle
Utilisation de SQLMOD Instructions SQL encapsulé Extension du fichier *.sqlmod Compilé (compilateur SQLMOD) $ SQMOD exemple.sqlmod => exemple.obj Définition de procédure, Curseurs … 3 sections : En-tête : Module, langage d'accès, Etc. Déclarations : Base, Curseurs, Etc. Procédures : traitements
23
La solution Microsoft : ADO
24
A.D.O. Comment accéder aux données sur une plate-forme Microsoft ?
A.D.O. = ActiveX Data Object Composant COM : ADODB Repose sur l'architecture OLE DB Propose 7 objets COM pour l ’accès aux données.
25
L ’objet Connection Représente une connexion à une source de données
Soit un SGBD Soit une autre source (Mail, fichiers …) Permet la gestion de transactions.
26
L ’objet Recordset Représente un vue tabulaire des données
Un Recordset = une Ligne Offre des méthodes & propriétés de navigation (MoveFirst, MoveNext …) de manipulation (Delete, Update, AddNew) Autres informations (type, propriétés) Collection de champs Field
27
L ’objet Field Représente les colonnes de la vue tabulaire
4 champs Field 1 Field 2 Field 3 Field 4 Fields RecordSet Représente les colonnes de la vue tabulaire un Field = une colonne Accès via un recordset (recordset.fields) Offre des méthodes & propriétés Valeur, type et propriétés du champ
28
L ’objet Command Représente une commande qui peut être exécutée sur la source de données requête SQL (Select, Insert …). Exécution de procédure stockée. Etc. Peut retourner un RecordSet Peut prendre des paramètres en entrée Cf. Objet Parameter
29
L ’objet Parameter Représente un paramètre d ’un objet Command.
Accès via la collection Parameters (toutes les commandes) Peut être un paramètre D ’entrée [IN] De Sortie [OUT] Les deux [IN/OUT]
30
L ’objet Error Collecte les erreurs liés à
La connexion L ’exécution erronée de requêtes … Visible à travers la collection Errors Contient La description de l ’erreur Son type Etc.
31
Exemple d'accès en VBScript
Dim conn, rcs, i, str ' déclaration implicite en ASP Set conn = createObject("ADODB.Connection") Set rcs = createObject(" ADODB.Recordset") conn.Open "DSN=MaBase;", "user", "password" rcs.Open "Select Entier, Chaine From Table", conn, adOpenKeyset, adLockOptimistic while not rcs.EOF i = rcs.Fields("Entier").Value str = rcs.Fields(" Chaine").Value rcs.MoveNext wend rcs.Close conn.Close
32
Accès à une base via JAVA : JDBC
33
J.D.B.C. (1) J.D.B.C. = Java DataBase Connectivity
Inspiré d ’ODBC (Microsoft) Permet l ’accès à un SGBD via Java Grâce à un driver (JDBC-OBDC Bridge, …) Multi-Plateforme Package : (ensemble de classes Java) java.sql
34
J.D.B.C. (2) Accès à une base en trois étapes : Connexion avec le SGBD
Envoi de requête SQL Traitement du résultat Sous forme tabulaire (Select) Impact des modifications (Insert, Update …) Cas des procédures stockées
35
Connexion avec le SGBD Grâce à l ’objet Connection
Obtenu par la méthode getConnection() : Connection Conn = DriverManager.getConnection(url, user, pwd); url = 3 champs : Le protocole = jdbc Un sous-protocole. Ex: odbc L ’identifiant de la Base. Ex: maBase jdbc:odbc:maBase Fermeture de la connexion : Conn.close();
36
Envoi de requête SQL Grâce à l ’objet Statement
Créé via l ’objet Connection : Statement Stmt = Conn.createStatement(); Envoi de la requête SQL: Stmt = Conn.createStatement() 2 méthodes d ’envoi de requêtes : executeQuery(); // Select ... executeUpdate(); // Insert, Update, Create ...
37
Traitement du résultat (1)
Sous forme tabulaire : Un objet Resultset est retourné : Resultset rs = Stmt.executeQuery("SELECT * FROM TABLE" ); Navigation dans les lignes (enregistrements) Méthode: rs.Next(); // renvoie true tant qu’il y a encore des lignes Récupération des champs (colonnes) Méthodes getXXX(NomChamp); // XXX = type de données (Ex: getInt(), getString() )
38
Traitement du résultat (2)
Résultat de modifications Le nombre de lignes affectées est retourné : int rowCount = Stmt.executeUpdate("INSERT ..." ); Utile pour donner un feedback (rowCount = 0 Sans effet) Une erreur SQL lève une exception Java
39
Traitement du résultat (3)
Cas des procédures stockées Appelées par l ’Objet CallableSatement CallableStatement cs = Conn.prepareCall("{ call MaProc } "); Trois types d ’exécution cs.executeQuery(); // Si retour de resultset cs.exexuteUpdate(); // Si modifications cs.execute(); // Résultats multiples
40
JDBC / ADO DriverManager Fournisseur OLE DB Objet java.sql.Connection
Objet Connection Objet java.sql.Resultset Objet Recordset Objet java.sql.Statement Objet Command Fields
41
Exemple Connection Conn = DriverManager(" jdbc:odbc:maBase", "user", "motPasse"); Statement Stmt = Conn.createStatement(); Resultset rs = Stmt.executeQuery("Select Entier, Chaine From Table"); while (rs.Next()) { int iEntier = rs.getInt("Entier"); String strChaine = rs.getString("Chaine"); } rs.Close(); Stmt.Close(); Conn.Close();
42
L ’alternative JAVA avec IBM WebSphere
43
IBM WebSphere WebSphere Application Server Servlets et J.S.P
Utilisation de Servlets Bilan
44
WebSphere Application Server (1)
Concurrent direct de Microsoft Serveur d ’Application pour Java Permet l’utilisation de Servlets de pages Web dynamiques (JSP) « PlugIn » pour serveur Web Supporte : IBM HTTP Server, Apache, IIS …
45
WebSphere Application Server (2)
Toute l ’architecture WebSphere repose sur Java Les Servlets, le contenu des pages JSP, les composants Java Beans. Respecte le « standard » Java de SUN (JDK) On peut effectuer un parallèle avec la technologie Microsoft.
46
Microsoft / IBM Internet Information Server I.I.S. W.A.S ActiveX
JAVA BEANS Active Server Pages VBScript JScript ADO Java Server Pages Java JDBC Ext. de Serveur ISAPI SERVLETS
47
Les Servlets Comparable aux Ecrites en Java.
Extensions de serveur ISAPI (MS) ou aux CGI. Ecrites en Java. Dérivent de l ’API javax.servlet Récupèrent 2 arguments en entrée HttpServletRequest ~ Request (Microsoft) HttpServletResponse ~ Response (Microsoft)
48
J.S.P. J.S.P. = Java Server Pages Comparable aux pages ASP
Code Serveur entre <% … %> Finit le VBScript, JScript … on « code » en Java. ! Le Code JSP est compilé une seule fois Transformé en servlet. Plus rapide que l ’interprété
49
Architecture de WAS W.A.S IIS J.S.P. JAVA Apache Java Beans Autre JDBC
HTTP request HTTP response IIS J.S.P. JAVA BEAN Java Beans SGBD JDBC W.A.S Apache Autre
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.