Architectures et technologies pour l'intégration des systèmes
NSY205


Objectifs pédagogiques :

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.

Public et conditions d'accès :

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).

Compétences :

A l'issue 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.

Méthodes de validation :

Examen écrit

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.

Bibliographie :
  • Yann Pollet: Architectures, systèmes, intégration (Ellipses, reférences sciences)
  • Yves Caseau: Urbanisation et BPM (Dunod)
  • F. Chuong, O. Corgeron, C. Joui, J.B. Renaux, M. VIalette: EJB3)
  • J.P Meinadier: Le métier d'intégration des systèmes (Hermès)
  • R. Stevens, P. Brook, K. Jackson, S. Arnold: Engineering. Coping with complexity (Prentice Hall)
  • X. Fournier-Morel, P. Grojean, G. Plouin, C. Rognon: SOA. Le guide de l’architecte (Dunod)
  • Yann Pollet: Architectures logicielles réparties. Du client-seveur au cloud (Ellipses, reférences sciences)

Cette UE apparaît dans les diplômes et certificats suivants :

  • DIE0700A : Diplôme d'établissement Responsable en organisation
  • CYC9101A : Diplôme d'ingénieur Spécialité informatique parcours Architecture et ingénierie des systèmes et des logiciels (AISL)
  • CYC9106A : Diplôme d'ingénieur Spécialité informatique parcours Cybersécurité

Prochaines sessions de formation

Recherche en cours