Contenu de la formation
Les notions d'architectures système et logicielle: composants, connecteurs, styles et patterns architecturaux. Modèles et cadres architecturaux. Qualités d'une architecture. Services de base (nommage, transactions, sécurité, ...).
Architectures orientées données, ORM (Object Relational Mapping): principes, difficultés. Programmation avec l'interface JPA (Java Persistence API). Les DAO (Data Access Object), principes et mise en oeuvre.
Architectures à base de composants métier: principes de l'approche. Etude de Java EE et des EJB3.
Intergiciels orientés message (MOM): structure interne d'un MOM. Programmation avec JMS (Java Message Service).
Les Services Web: standards SOAP, WSDL, et UDDI. Le modèle étendu des standards. L'orchestration de services. Les implémentations existantes.
Les services REST (Representational State Transfer)
Le langage BPMN 2.0 (Business Process Model and Notation). Notations graphiques, types de diagrammes, outils.
Les architectures Web: Javascript et AngularJS. L'approche AJAX.
L'architecture SOA (Service Oriented Architecture). Principes, organisation et types de services. Exemple de mise en oeuvre à travers un cas d'étude.
Les bases de Données NoSQL: objectifs. Approches ACID et BASE. Difficultés et mécanismes internes. Les bases de données clé-valeur, orientées document, orientées colonne, orientées graphe. Etude de quelques produits (MongoDB, CouchDB, Cassandra, ....)
Le cloud computing: approche, intérêt, modèles de déploiement. IaaS, PaaS et SaaS. Exemple d'Amazon Web Services (AWS), machines virtuelles, programmation avec EC2, S3, EBS, ..... Evaluation d'une offre. Transition vers le cloud.
La conteneurisation: principes et mise en oeuvre de conteneurs. Exemples de Docker et Kubernetes.
Les architectures à micro-services. Principes. Passerelles d'API. Protocole de communication. Gestion de la cohérence des données.
Description des modalités de validation
Examen écrit