Séance /01/2006 Les technologies des sites dynamiques
Les limites du HTML (RAPPELS) Contenu et contenant sont mêlés –fond et forme sur le m ême document Peu d’interactivité native –besoin de javascript, CSS, DHTML, … Pages HTML statiques –mises à jour fastidieuses qui nécessitent de réécrire l e code –client FTP Nécessite un navigateur Internet sur un ordinateur –quid de la mobilité : PDA, GSM, palm...
1ère solution : JAVASCRIPT et DHTML A ne pas confondre avec JAVA Netscape et SUN (1995) Intégration du code Javascript dans le code HTML Le Javascript est exécuté par le navigateur : –langage interprété (<> compilé) Plusieurs versions (1.0 à 1.3) Dynamique HTML (DHTML) = CSS + Javascript
2ème solution : les sites dynamiques ou interactifs Utilisateur BD INTERNET Architecture 3 Tiers : Client - Serveur WEB & Serveur d’Application - SGBD CLIENT Serveur WEB SGBD Serveur / service d’application Strate clientStrate application Strate données
Principes des sites dynamiques Le serveur WEB (http) envoie les pages générées au format HTML et réceptionne les requêtes du client Le serveur d’application est un logiciel qui traite les pages qui contiennent des scripts ou des balises coté serveur et assure la relation avec la SGBD. Les données sont stockées dans une BD gérée par un SGBD
Avantages des sites dynamiques Interactivité accrue avec l’internaute Partage de l’information et traitement de l’information Personnalisation de l’interface selon le profil de l’internaute Fond et forme séparés Mises à jour plus aisées
Architectures des sites dynamiques 3-tiers Trois principales solutions : Open Source / LAMP Le « marketing » Microsoft Sun et le « monde java » Les autres, histoire de ne pas les oublier
S1 : LAMP, puissance & simplicité adaptées pour le web LAMP : Open Source leader sur le WEB –Linux –APACHE (Serveur HTTP) => près de 70 % des serveurs WEB (2004) –MySQL (SGBD) –PHP PHP (01 Informatique Novembre 2003) : –près de 40 % des sites web dynamique en France –55 % des grandes entreprises françaises –78 % des entreprises FR du CAC 40 utilisent cette technologie
Les technologies « serveur » : PHP Pesonnal Home Page - Hypertexte Preprocessor 1994 par Rasmus Lerdorf Issu du monde Libre et Open Source Moteur ZEND Engine 2.0 (applicatif) PHP 5 depuis août 2004 Une véritable alternative professionnelle
Solution 2 : le « marketing » Microsoft Serveur HTTP : IIS (Internet Information Server) –Une version basique fournie avec Windows 2000 ou XP Un langage de script spécifique : ASP –Active Server Page Un SGBD fiable : –SQL Server 2005 (Précédente version 2000) –une version express gratuite (Cf. site de MS ) –Une version standard à 3500 / 4000 € ht environ
Solution 3 : le monde JAVA Serveurs HTTP : TOMCAT (projet de la fondation Apache) et de nombreux Open Source et des propriétaires –BEA Weblogic –SUN –IBM websphere Un langage de script : JSP Un SGBD au choix : –Open Source (Mysql, Postgresql,…) –MS SQL Server, Oracle 10i,…
Les autres histoires de ne pas les oublier Server Coldfusion (.CFM) –Éditeur Allaire racheté par Macromedia Scripts CGI (Common Gateway Interface) –PERL –Langage C
Conclusion architecture 3 Tiers Séparation de la présentation, du traitement et des données Communication synchrone entre les éléments Adaptée pour des projets –« modestes » –autonomes –peu complexe Budget « modique » : de 0 à € (et plus) Sites WEB et Intranet ou portail d’entreprise « basique »
Architectures orientées services Architecture orienté services => SOA –Service Oriented Architecture –Orientations « infrastructures et métiers » –Conceptualisée par le Gartner Group, la notion de SOA (Service Oriented Architecture - ou architecture orientée services) renvoie à une nouvelle manière d'intégrer et de manipuler les différentes briques et composants applicatifs d'un système informatique (comptabilité, gestion de la relation client, production, etc.) et de gérer les liens qu'ils entretiennent. Source : Journaldunet Les WEB services : interrogation d’application via interface XML Une mode ? Les grands éditeurs se sont engouffrés dans ce monde : IBM, Microsoft, SAP, SUN,… L’architecture informatique déborde le simple domaine technique
Architectures orientées services Un environnement plus « complexe » : –Logique globale au niveau du système d’information dans son ensemble –Présence de FRAMEWORK : regroupement logique de composants sous forme de classe et de présentation homogène de leur interface de programmation (API) –Mode de communication asynchrone entre les serveurs et les applications –MVC : Modèle-vue-contrôleur / Structure de programmation permettant de séparer l’application, les traitements et la présentation –Dissociation des données et de leurs traitements –Le XML est roi
Utilisateurs SGBD Architecture SOA (vue simplifiée) CLIENTS Serveurs HTTP,… SGBD Serveurs / services d’application Strate clientStrate application Strate données Source : Stéphane BORDAGE, Conduite de projet Web, Paris, Eyrolles, 2003 ERP CRM BUS de communication Connecteurs Vue Modèle Contrôleur FRAMEWORK Composants
Architectures orientées services Des avantages : –Montée en charge –Meilleure évolutivité (au delà de 5-10 ans) –Réutilisabilité des composants –Spécialisations et indépendances des composants métier Des projets d’entreprises d’envergure (grands comptes) Nécessite des compétences et des expertises pointues Analyse très fine des processus métiers de l’organisation Remise en cause des pratiques quotidiennes
Comprendre et en savoir plus sur SOA Presse informatique spécialisée : – – – stockage/0, , ,00.htmhttp:// stockage/0, , ,00.htm Blog : – Editeurs –
Les technologies des architectures SOA Microsoft et.NET J2EE et le monde JAVA PHP ? Un mot peut-être…
Microsoft et.NET Microsoft.NET => DOT NET Janvier 2002 Développement Internet basé sur le XML Infrastructure et environnement de développement : –Framework.net –ASP.net –Windows Forms –Web services XML –Les composants : COM+ Les clients : navigateur, mobile, pocket et tablet PC, XBOX
J2EE et le monde JAVA Serveur d’application entreprise / Java 2 Entreprise Edition –Serveurs d’application : Sun, Tomcat, Jboss, IBM Websphere, BEA,... –JSP –Machine Virtuelle Java sur le poste client ou terminale –Applets Java (côté client) –Servlets (coté serveur) –Composants métier : EJB
PHP ? Souplesse et facilité d’utilisation Image du langage pour site Web « simple » Langage de programmation script > objet Peu de connectivité avec les logiciels et progiciels existants Pas de FRAMEWORK uniforme et standard ZEND proche du monde open source ?
Des technos à suivre Ajax (Asynchronous Javascript and XML) –Exemple : puis bibliothèquewww.progx.org – XHTML –(DHTML + Javascript + quelques principes du XML) –Cf. les sites sans tableau Les clients « riches » / « Rich media » : Flash,…