La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Les Bases de données et le Web

Présentations similaires


Présentation au sujet: "Les Bases de données et le Web"— Transcription de la présentation:

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


Télécharger ppt "Les Bases de données et le Web"

Présentations similaires


Annonces Google