Architectures des applications Web
La mise en place d’une architecture Web demande de prendre en compte tous les critères permettant de maîtriser les coûts de développement, de maintenance et d’exploitation. Pour y parvenir, des choix fondamentaux interviennent très tôt dans le projet, nécessitant d’avoir une vue globale sur les possibilités offertes par les technologies récentes.
Cette formation vous permettra de faire un tour d’horizon des principes essentiels à l’élaboration d’une architecture Web et de connaître les principales possibilités techniques à évaluer, en développement spécifique ou en intégration de solutions métier.
Programme du cours
Introduction
Architectures et systèmes d’informations
Les principes d’architecture
Les architectures intranet, extranet et internet
Un historique des architectures
L’organisation en couches et les architectures distribuées
La mobilité dans le système d’information
La conception d’applications Web
Applications et composants côté client
Les langages HTML, XHTML et CSS, leurs limites
Les navigateurs, les plug-ins
Le langage de Javascript, les librairies graphiques associées (script.aculo.us, jQuery, ExtJS,...)
La première génération d’interfaces riches : ActiveX, applets Java, Flash, XUL,...
Les techniques Web 2.0 - RIA : AJAX, Flex, Silverlight, JavaFX
L’évolution vers le RDA
Hébergement et développement des composants applicatifs
Les technologies leader (Java, .NET, PHP) et le alternatives (Python, Ruby,...)
Les architectures Java : Java SE et Java EE, JRE et JDK, librairies standards et open source
Les serveurs d’applications JavaEE : IBM Websphere, Oracle Weblogic, RedHat JBoss, Sun Glassfish, Apache Tomcat,...
Choisir ses outils et frameworks Java : priorité aux standards ou à l’innovation ?
L’architecture .Net de Microsoft : mode de fonctionnement et implémentation (framework .NET, ASP.Net, Common Language Runtime...)
L’architecture PHP : l’évolution du langage de PHP 3 jusqu’à PHP 5, les frameworks
L’hébergement de site Web : le mutualisé pour PHP, le dédié
L’offre d’applications hébergées : solutions ASP et SaaS
L’évolution vers le Cloud : IaaS (Amazon EC2), PaaS (Google App Engine), SaaS
L’impact du cloud sur les langages et architectures : langages fonctionnels (F#, scala), stockage NoSQL (BigTables, Hbase)
Rôle d’XML dans l’architecture applicative
Présentation XML, les moteurs de transformation XSLT, les parseurs XML
Les services Web, leur connexion avec les applications existantes
Les protocoles des services Web (SOAP, WSDL, UDDI)
Les architectures RESTful
Les services fonctionnels
Gestion de contenu pour le Web
Le Web, support de publication-diffusion : publication de documents et de données
Les outils de publication allégés : blog, wiki
La gestion de contenu (CMS). La prise en charge du cycle de vie et de validation du document. Gestion de métadonnées XML, des habilitations, des workflows de validation, de la présentation, du multiformat. Offres de CMS (SPIP, Alfresco, Joomla, Jahia, Jetspeed...).
Intégration des outils bureautiques avec le Web : MS Office avec Sharepoint, Alfresco ou Xwiki, Open Office avec MediaWiki ou Alfresco, outils bureautiques en ligne (Google Docs, Microsoft Office Web Apps)
La recherche de documents. Les technologies des moteurs : indexation "full-text", statistique, sémantique, linguistique. Panorama des offres : Lucene, Verity, Convera...
Le Web comme environnement collaboratif
Les outils de communication traditionnels : le mail, ses limites et ses mauvais usages
L’ouverture des messageries vers le Net ; solutions de WebMail, solutions full Web
Remplacer le mail par des outils plus adaptés : messagerie instantanée, forum, wiki, micro-blogging
Les environnements collaboratifs : partage de documents, d’agenda
L’avenir de la collaboration : le temps réel ? (Google Wave, XWiki Concerto)
Le workflow via le Net. Circulation de formulaires, suivi de processus et coordination de tâches.
Intégration des applications
L’intégration des applications Web : le portail, point d’accès unifié, la personnalisation des services.
L’intégration des services : l’architecture orientée services (SOA), les solutions d’EAI et d’ESB (Tibco, Microsoft, Oracle, IBM, Software AG, RedHat,...)
Synthèse
Les spécificités des architectures Web
L’impact sur l’ergonomie et sur la sécurité
La charte d’ergonomie : rôle, contenu technique ; les règles d’accessibilité, les obligations légales, le label Accessiweb.
L’approche globale de sécurité, les protocoles Web sécurisés (HTTPS, SSL), la mise en place d’un PKI
Démarche de mise en œuvre
La méthodologie d’un projet Web : les démarches itératives et incrémentales, les démarches agiles ou déterministes
Quel recours à l’externalisation, locale ou off-shore ? Quels apports et quels risques ?
Cette formation peut être réalisée dans vos locaux en France et Suisse Romande.
Cette formation a été élaborée par Alexis Hassler.
