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. Plan général Présentation Quelques standards Quelques moyens d'accès aux données La technologie Microsoft Lalternative.

Présentations similaires


Présentation au sujet: "Les Bases de données et le Web. Plan général Présentation Quelques standards Quelques moyens d'accès aux données La technologie Microsoft Lalternative."— 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 Lalternative 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 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 Serveur Web (2) Clients (Navigateurs) Réseau local Serveur WEB [ Port 80 ] HTTP

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 Notion de Formulaire Contient des contrôles Internet Balise : … 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 : 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) Script CGI Passage des valeurs de contrôles sur l entrée standard Ecriture dynamique de la page HTML sur la sortie standard Soumission du formulaire

20 Quelques moyens d'accès aux données

21 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 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 4 champs Field 1 Field 2 Field 3 Field 4 FieldsRecordSet

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 quil 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 lutilisation 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 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 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. Plan général Présentation Quelques standards Quelques moyens d'accès aux données La technologie Microsoft Lalternative."

Présentations similaires


Annonces Google