les bases de données et le web. plan général présentation quelques standards quelques moyens...

49
Les Bases de données et le Web

Upload: roxane-huguet

Post on 03-Apr-2015

107 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 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

Les Bases de données et le Web

Page 2: 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

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

Page 3: 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ésentation

Page 4: 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é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 ?

Page 5: 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é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

Page 6: 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

Quelques standards

Page 7: 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

Quelques standards

HTTP

Les serveurs WEB

HTML et Formulaires Web

JavaScript

Les Scripts C.G.I.

Limitations et Problèmes ...

Page 8: 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

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)

Page 9: 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

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)

Page 10: 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

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/1.0 200 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

Page 11: 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

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 ...

Page 12: 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

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.

Page 13: 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

Serveur Web (2)

Clients (Navigateurs)

Réseau local

Serveur WEB

[ Port 80 ]

HTTP

Page 14: 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

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)

Page 15: 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

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

Page 16: 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

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 ’

Page 17: 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

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

Page 18: 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

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.

Page 19: 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

Les Scripts C.G.I. (3)

<FORM name=form METHOD=POST action=‘ cgi.exe ’><INPUT type=text name=ess1><INPUT type=’SUBMIT ’ value=‘ Soumettre ’ name="Submit"></FORM>

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

Page 20: 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

Quelques moyens d'accès aux données

Page 21: 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

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

Page 22: 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

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

Page 23: 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

La solution Microsoft : ADO

Page 24: 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

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.

Page 25: 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

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.

Page 26: 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

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

Page 27: 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

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 3Field 4

FieldsRecordSet

Page 28: 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

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

Page 29: 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

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]

Page 30: 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

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.

Page 31: 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

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, adLockOptimisticwhile not rcs.EOF

i = rcs.Fields("Entier").Valuestr = rcs.Fields(" Chaine").Value rcs.MoveNext

wendrcs.Closeconn.Close

Page 32: 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

Accès à une base via JAVA : JDBC

Page 33: 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

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

Page 34: 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

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

Page 35: 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

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();

Page 36: 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

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 ...

Page 37: 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

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() )

Page 38: 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

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

Page 39: 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

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écutioncs.executeQuery(); // Si retour de

resultsetcs.exexuteUpdate(); // Si modificationscs.execute(); // Résultats multiples

Page 40: 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

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

Page 41: 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

ExempleConnection 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();

Page 42: 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

L ’alternative JAVA avecIBM WebSphere

Page 43: 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

IBM WebSphere

WebSphere Application Server

Servlets et J.S.P

Utilisation de Servlets

Bilan

Page 44: 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

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 …

Page 45: 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

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.

Page 46: 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

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

Page 47: 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

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)

Page 48: 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

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é

Page 49: 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

Architecture de WAS

HTTP request

HTTP response

IIS

J.S.P. JAVA

BEAN

Java Beans

SGBD

JDBC

W.A.S

Apache

Autre