1 / 44

Cours 1 : Architecture Web Introduction

Cours 1 : Architecture Web Introduction. TuanLoc Nguyen. Contact. Nguyen TuanLoc Laboratoire LIP6 - CNRS Université Pierre et Marie Curie bureau c569 8, rue du capitaine Scott 75015 Paris - France Tél: 01 44 27 87 85 Web: http://nguyentuanloc.online.fr Email: Tuan-Loc.Nguyen@lip6.fr.

lyneth
Download Presentation

Cours 1 : Architecture Web Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cours 1 :Architecture Web Introduction TuanLoc Nguyen

  2. Contact • Nguyen TuanLoc Laboratoire LIP6-CNRS Université Pierre et Marie Curie bureau c5698, rue du capitaine Scott75015 Paris - France • Tél: 01 44 27 87 85 • Web: http://nguyentuanloc.online.fr • Email:Tuan-Loc.Nguyen@lip6.fr

  3. Références • Web: • Cours en ligne : http://ocw.mit.edu/OcwWeb/Civil-and-Environmental-Engineering/1-264JDatabase--Internet--and-Systems-Integration-TechnologiesFall2002/LectureNotes/index.htm • Web Services working group : http://www.w3.org/2002/ws • Microsoft Lab : http://www.microsoft.com/france/msdn/lab/default.asp • Livres : • .NET Framework Wrox • Php/MySQL Dreamweaver Enrolles

  4. Objectif du cours • Objectif : • Architecture, évolution du Web • Tendances du Web • Pre-requis • HTML /HTTP • MySQL/Php/Apache • SQL Server/ASP/IIS

  5. Contenu • Cours 1 : Introduction Architecture Web 3h • Cours 2 : Portail Web Architectures intelligentes .NET, C# 3h démo • Cours 3 : Aspx/MSDE/IIS/Web Matrix Php/MySQL/Apache 3h démo • Cours 4 : Web Services& UDDI& WSDL 2h Contrôle continu 1h • Cours 5 : Sécurité 3h démo • Examens 2h

  6. Cours 1 : Introduction • Architecture Web • Web et BD • Architectures intelligentes & Script • Web dans l’entreprise

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

  8. Modèle du Web (Cours 2)

  9. Impact 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 l’industrie du logiciel Nombreux produits, nombreux fournisseurs • De nombreux serveurs Web Information et services • Le fondement de la société de l’information

  10. Applications e-business • E-business = utilisation professionnelle du Web – Au sein de l’entreprise : B2E – Avec les clients : B2C – Avec les partenaires : B2B • Applications majeures – Intranets – Portails d’information d’entreprise – Commerce électronique – Publication en ligne

  11. Intranet • Serveur Web pour les besoins internes de l’entreprise – Réseau privé avec accès sécurisé à Internet • firewalls – Utilisateurs connus • Services avancés : visio-conférence – Services internes • Publication d’information et workflow • Forum de discussion, email et groupware • Réduit les coûts de communication et améliore l’efficacité • Problème : – Intégration avec les sources de données de l’entreprise

  12. Portail d’information d’entreprise • Porte d’accès à l’information de l’entreprise – Vue uniforme d’information 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 d’accéder à toute l’information de l’entreprise – Confiance

  13. E-commerce • Elimination des procédures manuelles (papier) entre les partenaires d’un 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 d’automatisation du côté client • Pleine puissance : B2B – Intégration de la chaîne de distribution avec d’autres fournisseurs

  14. Gestion d’information • Gestion de l’information indépendamment de tout programme, y compris celui qui l’a créé. • Principe = indépendance des données – du stockage – de la présentation Présentation Présentation Vue logique stockage stockage

  15. Fonctionnement du Web Pour consulter un document (ex: http://serveur/page.html) 1. Le navigateur demande à son DNS (Domain Name Server) de lui renvoyer l’adresse IP du serveur demandé dans l’URL (Uniform Ressource Locator) 2. Le navigateur envoie une requête à l’adresse IP pour demander la page.html précisée dans l’URL. 3. le serveur envoie la page au client. 4. le navigateur interprète la page et l’affiche. HTTP : protocole de transfert permettant de demander un fichier au serveur ainsi qu’une description de types des données associées. IP : Internet Protocol

  16. 2. 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é

  17. Donné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 d’exploitation pose des problèmes : • gestion des liens difficile • gestion de l’évolution (pas d’indépendance logique-physique) • performances moyennes (pas ou peu d’index)

  18. Apports des SGBD • Gestion de gros volumes d’information • Bonnes performances d’accès (index, stockage, gestion du disque) • Fiabilité des données (cohérence, sûreté de fonctionnement, sûreté d’accè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

  19. Accè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), …

  20. Limitations du couplage HTML-BD • Solutions propriétaires • Pas de protocole pour publier les données – SQL n’est 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 d’intégrité – Perd la structure (schéma) provenant de la BD

  21. Amélioration • La règle d’or : le contenu doit être abstrait et indépendant du stockage et de la présentation – Permet l’inté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 l’utilisateur

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

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

  24. Intelligence dans l’architecture x-tiers Web services Web browser Web browser HTTP/HTML HTTP/HTML XML/SOAP Web server Web server Databases Web services Application to application (B2B/ B2C) Application to person+ (B2C) Application to person (B2C) Architecture 3-tiers Architecture 2-tiers Architecture “n-tiers” PC Data echange PC Person to person (C2C) Architecture 1-tier Evolution de l’architecture

  25. XML 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 l’indépendance des données au stockage et à la présentation : supporte la règle d’or • Facilite l’échange de données entre applications

  26. Web Services Un Web Services est une ‘’unité logique applicative’’ accessible en utilisant les protocoles standard d’Internet, 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)

  27. souris .vb chien.pl chat .cs Exemple : souris MSIL chat MSIL chienMSIL CLR deployment Windows Linux (?) JIT JIT Architectures intelligentes Microsoft Framework.NET • Intelligence : • -Intégration, • -Réutilisation, • -Interopérabilité. 7/32 MSIL : Langage Intermédiaire de Microsoft CLR : Common Runtime Language JIT : Machine virtuelle de Microsoft

  28. Sun J2EE Web Browser Mobile Front-end (Tiers client) Web Services Applets, Applications SOAP,UDDI,WSDL IIOP HTTP HTTP Firewall Servlets JSPs Web Service Container EJBs (J2EE) Connecteurs SQL Protocole propriétaire Protocole propriétaire SOAP,UDDI,WSDL Systèmes Back-end Autres systèmes Web Services Contexte, Profil Base de données

  29. Page serveur dynamique • Script • ASP • PHP • JSP • Aspx

  30. Couplage 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,

  31. Accès Base de donées • Script • Problème : • Passer à l’échelle • Solutions propriétaires

  32. <% %> ASP (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

  33. Active Server Pages Development flow HTML author Script writer Systems developer Content, layout, design VB Script Expressions Component invocation Component anddatabase development <HTML> <H1>Today's trade summary for: </H1> <TABLE> <TR><TD>Open</TD><TD>Close</TD><TD>Volume</TD></TR> <TR><TD> </TD> <TD> </TD> <TD> </TD></TR> </TABLE> <H2>Time of report: </H2> </HTML> <% TSym=Request.QueryString("TickerSymbol") SetNObj=Server.CreateObject("NASDAQ.TickerObj") if NObj.GetCompany(TSym)=False then Server.Redirect("ticker/entryform.htm") %> <%=NObj.CompanyName%> <%=NObj.Open%> <%=NObj.Close%> <%=NObj.Volume%> <%=time()%> <%=date()%> </HTML> NASDAQ

  34. <?php ?> PHP Hypertext Preprocessor Moteur de script (PHP Script) PHP HTTP Apache HTML Fonctions MySQL (IIS) HTTP Serveur Web Windows (NT,Y2K,Linux) MySQL Access … Base de données Browser HTML Data services Presentation Business logic

  35. ASP versus JSP • ASP – combinent HTML, VB Scripts et ActiveX – efficace avec les ActiveX Data Objects (ADO) • Interface DCOM pour l’accè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 d’applications J2EE

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

  37. ASPx : 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

  38. ASPx 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 <balises> code <balises> code <balises> <balises> Form1.asp Form1.aspx Form1.aspx Form1.aspx.vb

  39. 4. Web dans l’entreprise Serveur applicatif dans l’entreprise • Simple = serveur Web – Petites applications, pas de transactions • Serveur d’entreprise = serveur Web + – Support des grandes applications, distribuées standard – Support des transactions – Support des composants – Support de XML – Outils de développement -> Création de services à valeur ajoutée

  40. Exemple : Web dans l’entreprise Call manager SGBD Environnement de Création de Services Serveur applicatif IP IP Réseau TCP/IP ToIP 24/32

  41. Appel à partir du Web 2. Call manager SGBD 2’. Serveu Web (HTTP) Serveur applicatif 2’. 3. Dial “351-8567” 1. Make Call Browser HTML

  42. Accès aux données à distance via Web PC TPS SGBD 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 • Journal : lire

  43. Appel Sortant / Appel Entrant Réseau téléphonique Call manager Serveur applicatif Réseau TCP/IP

  44. Merci et à la semaine prochaine.

More Related