Title: Cours 1 : Architecture Web Introduction
1Cours 1 Architecture Web Introduction
TuanLoc Nguyen
2Objectif du cours
- Objectif
- Architecture, évolution du Web
- Tendances du Web
- Pre-requis
- HTML /HTTP
- MySQL/Php/Apache
- SQL Server/ASP/IIS
3Contenu
- Architecture Web
- Web et BD
- Architectures intelligentes Script
- Web dans lentreprise
41. Le World Wide Web
- Système hypermédia distribué fonctionne sur
TCP/IP - Simple à utiliser I.E, Netscape, Mozilla
- Portable
- Faible coût
- Mobilité
- Sans frontière
- Standard
- HTTP, URL, HTML, XML
- Distribué ActiveX,COM,CORBA,EJB,WebServices
5Modèle du Web
(Cours 2)
6Impact du Web
- Client/serveur universel
- Un seul outil pour la communication intra- et
interentreprise - Intranet, extranet (les partenaires), internet
(tous) - Accès aux bases de données
- Adopté par toute lindustrie du logiciel
- Nombreux produits, nombreux fournisseurs
- De nombreux serveurs Web
- Information et services
- Le fondement de la société de linformation
7Applications e-business
- E-business utilisation professionnelle du Web
- Au sein de lentreprise B2E
- Avec les clients B2C
- Avec les partenaires B2B
- Applications majeures
- Intranets
- Portails dinformation dentreprise
- Commerce électronique
- Publication en ligne
8Intranet
- Serveur Web pour les besoins internes de
lentreprise - Réseau privé avec accès sécurisé à Internet
- firewalls
- Utilisateurs connus
- Services avancés visio-conférence
- Services internes
- Publication dinformation et workflow
- Forum de discussion, email et groupware
- Réduit les coûts de communication et améliore
lefficacité - Problème
- Intégration avec les sources de données de
lentreprise
9Portail dinformation dentreprise
- Porte daccès à linformation de lentreprise
- Vue uniforme dinformation agrégée à partir de
sources de données hétérogènes - Applications existantes
- Bases de données
- Systèmes documentaires
- Pour des utilisateurs spécifiques
- Décideurs, employés, clients, fournisseurs
- Problème
- Difficile daccéder à toute linformation de
lentreprise - Confiance
10E-commerce
- Elimination des procédures manuelles (papier)
entre les partenaires dun commerce - Au minimum B2C
- Sites très connus, (Amazon.com, Dell
Computers, etc.) - Gestion de la relation client
- Intégration avec les bases de données
- Transactions électroniques sécurisées pour
commander - Cartes de crédit, monnaie électronique, E-check
- Pas dautomatisation du côté client
- Pleine puissance B2B
- Intégration de la chaîne de distribution avec
dautres fournisseurs
11Gestion dinformation
- Gestion de linformation indépendamment de tout
programme, y compris celui qui la créé. - Principe indépendance des données
- du stockage
- de la présentation
Présentation
Présentation
Vue logique
stockage
stockage
12Fonctionnement du Web
- Pour consulter un document (ex
http//serveur/page.html) - 1. Le navigateur demande à son DNS (Domain Name
Server) de lui - renvoyer ladresse IP du serveur demandé dans
lURL (Uniform - Ressource Locator)
- 2. Le navigateur envoie une requête à ladresse
IP pour demander - la page.html précisée dans lURL.
- 3. le serveur envoie la page au client.
- 4. le navigateur interprète la page et laffiche.
-
- HTTP protocole de transfert permettant de
demander un fichier au serveur ainsi quune
description de types des données associées. - IP Internet Protocol
132. Couplage BD et Web
- Pourquoi coupler ?
- Deux domaines qui se sont développés
indépendamment mais qui ont de nombreux points
communs - - Ensemble important de données (modélisation,
stockage, indexation) - - Interrogation (langage déclaratif)
- - Multi-utilisateurs
- - Performances
- - Fiabilité
14Données du Web
- Données hétérogènes, fortement corrélées,
évoluant souvent - La gestion de ces données avec un SGF et un
système dexploitation pose des problèmes - gestion des liens difficile
- gestion de lévolution (pas dindépendance
logique-physique) - performances moyennes (pas ou peu dindex)
15Apports des SGBD
- Gestion de gros volumes dinformation
- Bonnes performances daccès (index, stockage,
gestion du disque) - Fiabilité des données (cohérence, sûreté de
fonctionnement, sûreté daccès) - Partage et accès concurrents (transactions)
- Productivité (indépendance physique-logique,
réutilisation, outils) - Evolutivité (évolution du schéma)
- Langage de requêtes et optimisation
16Accès base de données
- 1. Le client http lance une demande de page Web
(URL statique ou dynamique) - vers le serveur. URL dynamique contient un
appel au programme applicatif - paramètres. La connexion est fermée dès que le
client obtient la réponse. - 2. Le serveur http est en attente permanente. En
cas de demande dynamique, il - lance le programme applicatif avec les
paramètres, en suivant un protocole - CGI Common Gateway Interface
- ASP, ASPx, PHP, JSP
- 3. Le programme applicatif
- a. extrait les données nécessaires du SGBD
- b. produit la page HTML incluant ces données
- 4. Le SGBD fait son travail de SGBD (reçoit des
requêtes et renvoie les - résultats)
- Solutions du marché
- solutions SGBD /- intégrées ( Oracle,
Informix, - Sybase, DB2) - solutions générales ASP (MS-Windows), JSP
(JAVA),
17Limitations du couplage HTML-BD
- Solutions propriétaires
- Pas de protocole pour publier les données
- SQL nest pas conçu pour le Web
- Pas de format déchange de données standard
- HTML est un format de présentation
- Mélange présentation et contenu
- Pas de structure, pas de sémantique, pas de
contrainte dintégrité - Perd la structure (schéma) provenant de la BD
18Amélioration
- La règle dor le contenu doit être abstrait et
indépendant du stockage et de la présentation - Permet lintégration uniforme de données
- hétérogènes
- Permet des applications dynamiques
- La présentation peut être différente selon le
médium, - le temps, la requête ou le profil de
lutilisateur
19Primary programming technology
Low-level programming ( machine code, Assembler )
High-level programming ( Fortran, Cobol, Basic, )
Structured programming ( Pascal, C, C, )
Object-Oriented Programming ( C, Java, Delphi
...)
Component Oriented Programming
( COM, JavaBeans, )
Component Oriented Web Programming
( C, Forte Java, )
Service-Assemblage/Creation Programming
( Web Services)
1950
1960
1970
1980
1990
2000
2010
2020
2030
2040
2050
2060
20Primary programming - OS models
Low-level programming ( IBM Mainframe OS )
High-level programming ( IBM Mainframe OS )
Structured programming ( Unix )
Object-Oriented Programming ( Unix, MS DOS, ... )
Component Oriented Programming
( Windows, Unix, Linux, )
Component Oriented Web Programming
( DotNET, JEEE, )
Service-Assemblage/Creation Programming
()
1950
1960
1970
1980
1990
2000
2010
2020
2030
2040
2050
2060
21Intelligence dans larchitecture x-tiers
PC
Data echange
PC
Person to person (C2C)
Architecture 1-tier
Evolution de larchitecture
22XML pour léchange de données universel
- Le langage XML (Extensible Markup Language)
- Standard du W3C
- Décrit le contenu, pas la présentation
- Structure, type, schéma, requêtes, etc.
- Une base forte XML est un sous-ensemble de
SGML - Fournit lindépendance des données au stockage
et à la présentation supporte la règle dor - Facilite léchange de données entre applications
23Web Services
Un Web Services est une unité logique
applicative accessible en utilisant les
protocoles standard dInternet, indépendamment de
plate-forme et peut être réutilisé.
Call semantic (message passing-RPC)
Web Services
Web Services
SOAP message (HTTP/XML)
UDDI (seek Web Services-Xlink/XPath)
WSDL (call syntactic semantic XML Schema)
SOAP (how to call via XML)
24Page serveur dynamique
25Couplage HTML-bases de données
- Serveur HTTP dynamique
- Basé sur CGI
- Serveur Web dédié aux BD
- Oracle WebDB, VersantWeb, etc.
- Pages serveurs dynamiques
- MS Active Server Page (ASP)
- Java Server Page (JSP)
- PHP, ASPx,
26Accès Base de donées
- Script
- Problème
- Passer à léchelle
- Solutions propriétaires
27ASP (Active Server Page)
Moteur de script (VB Script)
ASP
IIS
HTTP
COM
HTML
Composants ADO
HTTP
Serveur Web Windows (NT,Y2K)
Base de données
Access SQL Server
Browser HTML
Business logic
Data services
Presentation
28Active Server Pages Development flow
HTML author
Script writer
Systems developer
Content, layout, design
VB Script Expressions
Component invocation
Component anddatabase development
ltHTMLgt ltH1gtToday's trade summary for
lt/H1gt ltTABLEgt ltTRgtltTDgtOpenlt/TDgtltTDgtC
loselt/TDgtltTDgtVolumelt/TDgtlt/TRgt ltTRgtltTDgt
lt/TDgt ltTDgt
lt/TDgt ltTDgt
lt/TDgtlt/TRgt lt/TABLEgt ltH2gtTime of report
lt/H2gt lt/HTMLgt
lt TSymRequest.QueryString("TickerSymbol")
SetNObjServer.CreateObject("NASDAQ.TickerObj")
if NObj.GetCompany(TSym)False then
Server.Redirect("ticker/entryform.htm") gt
ltNObj.CompanyNamegt
ltNObj.Opengt ltNObj.Closegt
ltNObj.Volumegt
lttime()gt ltdate()gt lt/HTMLgt
NASDAQ
29PHP Hypertext Preprocessor
Moteur de script (PHP Script)
PHP
HTTP
Apache
HTML
Fonctions MySQL
(IIS)
HTTP
Serveur Web Windows (NT,Y2K,Linux)
Base de données
MySQL Access
Browser HTML
Data services
Presentation
Business logic
30ASP versus JSP
- ASP
- combinent HTML, VB Scripts et ActiveX
- efficace avec les ActiveX Data Objects (ADO)
- Interface DCOM pour laccès BD via ODBC ou
OLE-DB - Outils de développement intégrés JSP
- JSP
- Combinent HTML, Java et Java Beans
- Accès aux composants EJB (serveurs)
- Interface JDBC
- Standard, proposé par tous les serveurs
dapplications J2EE
31Servlet - JSP Java Server Page
Now almost everyone using servlets has heard
about Java Server Pages (JSP), a Sun-invented
technology built on top of servlets. (Sun)
-The programer write an out.println() call per
HTML line, became a serious problem for real
servlet use -Content creators had to ask
developers to make all content changes
32ASPx une approche composant
- ASP.NET
- est basé sur un modèle composant coté serveur
- repose sur le Framework .NET (coté serveur)
- prend en compte les différentes capacités des
navigateurs (support JavaScript, DHTML, ) - Ne nécessite rien de particulier sur le client
Serveur
Client
Html IE
Composants ASPX
.NET
Html Opéra
33ASPx vs ASP/PHP classique
- Les pages ASP.NET sont compilées
- Le contenu et le traitement sont séparés
- Les développeurs et les graphistes peuvent, en
standard, travailler indépendamment
ASP / PHP
ASP.NET
Un seul fichier
Fichiers distincts / séparation logique
code
code
ltbalisesgt
code
ltbalisesgt
code
ltbalisesgt
ltbalisesgt
Form1.asp
Form1.aspx
Form1.aspx
Form1.aspx.vb
344. Web dans lentreprise
Serveur applicatif dans lentreprise
- Simple serveur Web
- Petites applications, pas de transactions
- Serveur dentreprise serveur Web
- Support des grandes applications, distribuées
- standard
- Support des transactions
- Support des composants
- Support de XML
- Outils de développement
- -gt Création de services à valeur ajoutée
35Exemple Web dans lentreprise
Call manager
SGBD
Environnement de Création de Services
Serveur applicatif
IP
IP
Réseau TCP/IP
ToIP
24/32
36Appel à partir du Web
2.
Call manager
SGBD
2.
Serveur applicatif
Serveu Web (HTTP)
2.
3. Dial 351-8567
1.
Make Call
Browser HTML
37Accès aux données à distance via Web
TPS
SGBD
PC
lire
SGBD
lire
données
données
Serveur applicatif
mettre à jour
mettre à jour
Réseau TCP/IP
Données
- Répertoire personnel lire et MAJ
- Profil de renvoi lire et MAJ
- Configuration de touches (une par une)
- lire et MAJ
38Appel Sortant / Appel Entrant
Réseau téléphonique
Call manager
Serveur applicatif
Réseau TCP/IP