Nombre de crédits
6 ECTS
Durée de la formation
60 heures
Modalité
-
Ce cours forme des chefs de projet MOE et MOA, des architectes logiciel et système, ainsi que des ingénieurs en charge de la spécification, de la conception, de l'intégration, ou encore de l'exploitation ou la maintenance de systèmes informatisés à dominante logicielle.
Le cours porte sur la démarche permettant bien appréhender et maîtriser les différents aspects d'un projet d'intégration de système, depuis la rédaction du cahier des charges jusqu'à l'intégration des composants et la validation du système, en passant par l'analyse et la définition de son architecture.
Le cours est structuré en deux Unités d'Enseignement complémentaires positionnées sur deux semestres. La présente unité NSY205 aborde ici les aspects liés aux architectures logicielles et aux technologies de l'intégration, l''unité NSY206, qui en constitue la suite logique, abordant ensuite plus spécifiquement les aspects méthodologiques.
A l'issu de ce cours, l'auditeur doit être capable:
- de définir une architecture de système adaptée à des exigences données
- d'identifier les technologies logicielles à mettre en oeuvre
- de justifier les choix faits en relation avec les exigences des utilisateurs.
Auditeurs préparant le diplôme d'ingénieur informatique, option AISL (Architecture Intégration Systèmes et Logiciels), ingénieurs en activité désireux de se former à l'ingénierie et à l'intégration des Systèmes complexes à dominante logicielle. Ce cours avancé suppose acquises les connaissances de base relatives aux technologies de base client-serveur (cours NSY107 ou équivalent).
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'appoche 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 à microservices. Principes. Passerelles d'API. Protocole de communication. Gestion de la cohérence des données.
Information non disponible, pour plus d'information veuillez contacter le cnam
Les cours en présentiel : ils ont lieu en présence des élèves et de l’enseignant dans un centre Cnam :
Aucun cours n’est enregistré ni diffusé via Internet. La présence physique des élèves est nécessaire.
Les examens se déroulent exclusivement dans le centre Cnam où se déroulent les cours.
La modalité hybride est une combinaison entre :
La modalité Foad est parfaitement adaptée à votre disponibilité :
Examen écrit