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
L’évolution du Web
Le Web : du monde à l’entreprise
Le SI : du mainframe au Web, via le client / serveur
Les composants du Web : protocoles, serveur, navigateur
Web, intranet, extranet et internet
Les technologies côté client
Langages HTML, XHTML et CSS
Navigateurs, + d’hétérogénéité
Web de bureau et Web mobile
Interfaces riches
Première génération : ActiveX, applets Java, Flash, XUL,...
Javascript et librairies graphiques associées (jQuery, script.aculo.us, ExtJS,...)
Techniques du Web 2.0 : AJAX et RIA
Flex, Silverlight, JavaFX
AJAX
Single page pattern
HTML5
Historique et avancement du standard
Mise en forme avec CSS3
Animations dans le Canvas
Communication par WebSocket
Stockage local
Fusion AJAX / RIA
Les architectures serveur
Technologies serveur
Serveur d’applications
Langages leaders : Java, .NET, PHP
Langages outsiders : Python, Ruby,...
Langages émergents : F#, Scala, JS
Java
Java SE, JRE et JDK
Librairies standards et open source
Outils de développement : Netbeans, IntelliJ IDEA, Eclipse et dérivés
Frameworks Java : standards contre innovation
JavaEE : JSF / EJB, CDI / JPA
Frameworks Open Source : GWT, Wicket, Struts /Spring / Hibernate
Serveurs d’applications JavaEE : IBM Websphere, Oracle Weblogic, RedHat JBoss, Oracle Glassfish, Apache Tomcat,...
Microsoft .Net
Mode de fonctionnement et implémentation
Framework .NET, Common Language Runtime
ASP.Net
Microsoft AJAX
PHP
Évolution du langage de PHP 3 jusqu’à PHP 5
Architecture WAMP
Frameworks Symphony, CakePHP, Zend Framework
L’intégration d’applications
Portail
Intégration
Personnalisation des services
Recherche
Mashup
Rôle d’XML dans l’architecture applicative
Présentation XML
Moteurs de transformation XSLT,
Parseurs XML
Services Web
Connexion avec les applications existantes
Protocoles des services Web (SOAP, WSDL, UDDI)
Pile des services WS-*
Architectures RESTful
Architecture SOA
Urbanisation du système d’informations
Bus applicatif : ESB
Business Process : BPM et BPEL
Gestion des données : MDM
Modélisation UML et BPMN
L’hébergement d’applications Web
Mutualisé et dédié
Applications hébergées : solutions ASP et SaaS
Évolution vers le Cloud : IaaS, PaaS, SaaS
Hébergement interne : systèmes d’exploitation, virtualisation
Cloud privé
Impact sur l’organisation du SI
Gestion des données
Master Data Management (MDM)
Stockage NoSQL (BigTables, Hbase), IMDG
Sécurité
Nouveaux risques et moyens disponibles
Techniques de chiffrement
Mise en place d’une PKI et de certificats
Protocoles SSL, HTTPS
Démarche de mise en œuvre
Méthodologie d’un projet Web
Démarches itératives et incrémentales : UP, RUP
Démarches agiles ou déterministes : XP, Scrum, Kanban,...
Environnement de développement
Intégration continue
Tests unitaires, d’intégration et fonctionnels
Selenium
Synthèse
Cette formation peut être réalisée dans vos locaux en France et Suisse Romande.
Cette formation a été élaborée par Alexis Hassler.
