Infrastructures d’intégration ST221II

#TODO#
Credits ECTS 8
Langues -Français
Responsable Hervé Grall
Temps a l'emploi du temps 90
Temps travail personnel 30

Contexte

Initialement, les applications informatiques étaient intégrées à un ordinateur central, lourd et coûteux, le mainframe, partagé entre de nombreux utilisateurs via des terminaux passifs. Avec le développement des micro-ordinateurs et des réseaux (Internet) dans les années 80 et 90, les applications se décentralisent : dans la nouvelle architecture, appelée client-serveur, le serveur répond à des requêtes effectuées par des applications clientes distantes en allant puiser les informations dans des bases de données. Rapidement, sous l'évolution permanente des systèmes d'information, les applications, maintenant réparties, doivent pouvoir s'intégrer les unes aux autres, pour communiquer et agir de concert. A la fin des années 90, grâce au succès du Web, Internet devient l'environnement d'exécution privilégié de ces \emph{applications réparties et intégrées}.

Les problématiques d'intégration et d'inter-opérabilité sont désormais au coeur de la structuration technique des systèmes d'information. Pour masquer la répartition des différentes parties inter-connectées des applications logicielles, pour cacher l'hétérogénéité des composants matériels, des systèmes d'exploitation et des protocoles de communication, pour fournir des interfaces uniformes, normalisées et de haut niveau, pour fournir un ensemble de services communs, il est nécessaire de passer par une plate-forme d'intégration désignée par le terme générique d'intergiciel (middleware en anglais).

Objectifs

Objectifs généraux

L'unité de valeurs "Infrastructures d'intégration" permet d'abord d'approfondir ses connaissances en informatique répartie (dite aussi distribuée), ensuite de se familiariser avec les solutions apportées au problème de l'intégration pour élaborer des architectures réparties et intégrées de qualité. Bien que l'unité de valeurs soit avant tout adaptée aux métiers d'intégrateurs d'applications et d'architecte technique des systèmes d'information, elle est utile à la formation de tout ingénieur GSI par la généralité des points de vue adoptés.

Objectifs operationnels

L'unité de valeurs "Infrastructures d'intégration" vise principalement l'acquisition des compétences suivantes :

- concevoir l'architecture technique d'une application complexe dans un contexte réparti,
- assembler des composants hétérogènes sur une plate-forme d'intégration.

Il s'agit surtout de familiariser l'élève-ingénieur à cette problématique, aux principes, aux techniques et aux méthodes utiles et souvent nécessaires à la réalisation de ces objectifs. Ainsi, cette unité de valeurs doit faciliter la maîtrise de ces compétences, qui ne s'acquiert que lentement.

Competences requises

Compétences requises

Compétences requises

* Programmer dans le langage Java

Niveau : UVs d'informatique, CB1 et CB2

* Maîtriser les fondements des systèmes répartis et concurrents

Niveau : UV "Langages et traducteurs", module "Systèmes répartis et concurrents", GS1

Compétences souhaitables

Si les compétences suivantes ne sont pas maîtrisées, une mise à niveau pourra
être dispensée.

* Connaître XML

Niveau : UV "Langages et traducteurs", module XML, GS1

* Comprendre les architectures réseaux, connaître la programmation Web

Niveau : UV "Systèmes et réseaux", GS1

Unites de valeurs cibles

Codes UVs cibles

UVs d'informatique, cycle de base
UV S7 Systèmes et réseaux (ST107SR)
UV S8 Langages et traducteurs (ST208LT)

UVs cibles

UV S9 Projet (ST409GI)

Contenu et organisation pedagogique

Contenu de l'UV

* Systèmes répartis

L'objectif de ce module est d'apporter aux élèves un ensemble de connaissances pour comprendre la spécificité du développement des applications réparties.

- Introduction aux concepts des systèmes répartis
- Introduction à la sûreté de fonctionnement

Mots-clés : algorithmes répartis, modèles de communication (synchrone ou asynchrone), tolérance aux fautes, sécurité


* Middleware

L'objectif de ce module est de former les élèves au développement des applications réparties basées sur des architectures multi-niveaux, un raffinement des architectures client-serveur. Ils deviendront experts des infrastructures logicielles majeures. Pour la partie cliente, les élèves seront sensibilisés aux derniers outils de programmation d'applications pour le Web.

- Introduction au middleware
- Les plates-formes middleware
- Introduction à l'orchestration de services
- Développement d'applications Java EE avec le framework Spring
- Les évolutions récentes de la partie cliente (JSF, GWT, RCP)

Mots-clés : Java EE, Microsoft .NET, SOA (Service oriented architecture), Web services, JSF (Java server faces), GWT (Google web toolkit), RCP (Rich client platform)

* Persistance

L'objectif de ce module est de renforcer la connaissance des élèves-ingénieurs en base de données par l'étude des aspects importants de la persistance des données, comme (i) les transactions distribuées, (ii) la correspondance (mapping) entre les objets (d'un programme) et les relations (d'une base de données), (iii) la correspondance entre les objets (d'un programme) et des document XML.

- Architectures et techniques des bases de données
- Spécifications et implémentations dédiées à la persistance

Mots-clés : JTA (Java transaction API), JDO (Java Data Objects), ORM (Object-relational mapping), XML data binding

* Conférences

Ce module vise à donner un éclairage sur des technologies, des outils, des domaines d'application, des éléments clefs du paysage des infrastructures d'intégration qui n'ont pu être vus en cours. Le programme des conférences varie d'une année sur l'autre.

- Le métier d'architecte
- Le serveur d'applications JBoss
- Connexion aux mainframes

Activités pédagogiques

* Systèmes répartis : 15h

Cours magistraux et travaux dirigés - Pas d'évaluation

* Middleware : 45h

2/5 cours magistraux et travaux dirigés, 3/5 travaux pratiques - Evaluation

* Persistance : 15h

4/5 cours magistraux et travaux dirigés, 1/5 travaux pratiques - Evaluation

* Conférences : 15h

Conférences - Evaluation


Le travail personnel doit permettre d'assimiler les cours, de préparer
les travaux pratiques et les évaluations et enfin de développer un
mini-projet.

Supports pédagogiques

Tous les supports sont disponibles sur campus2.

Critere et mode d'evaluation

Critères d"évaluation

Les évaluations prévues ont les formes suivantes~:

- "Systèmes répartis" : néant
- "Middleware" : un mini-projet collectif (rapport écrit et soutenance orale)
- "Persistance" : un TP noté individuel
- "Conférences" : compte rendu d'une conférence par binôme

Chaque intervenant précisera au début de son cours les modalités exactes
de l'évaluation.

Les travaux pratiques (TP) notés se réalisent en
temps limité pendant les heures réservées à l'emploi du temps.
Ils évaluent la maîtrise théorique et pratique des
compétences techniques en jeu.
Les comptes rendus des conférences sont réalisés pendant le temps de
travail personnel dans un délai d'une
semaine après chaque conférence. Ils évaluent la capacité à comprendre,
à rédiger, à résumer, bref à rendre compte de manière synthétique.
Le mini-projet se réalise pendant le temps de travail personnel.
Le rapport écrit et la soutenance orale permettent d'évaluer la capacité à
communiquer, rédiger, expliquer et convaincre.

Nombre d'évaluations

4
Haut de page