Responsable :
Sara Bouchenak (Sara.Bouchenak@imag.fr)
Membres de l'équipe pédagogique :
Vania Marangozova (Vania.Marangozova@imag.fr)
Lionel Touseau (Lionel.Touseau@imag.fr)
Le middleware (intergiciel) est la couche logicielle située entre les couches basses (systèmes d'exploitation, protocoles de communication) et les couches hautes (applications) dans un système informatique. Son but est de faciliter le développement des applications, en masquant l'hétérogénéité des systèmes sous-jacents et les détails de leurs mécanismes, et en fournissant des interfaces normalisées de haut niveau.
Le middleware est un domaine en plein développement et plusieurs systèmes industriels sont disponibles ou en cours d'élaboration : EJB, Corba/CCM, .Net. Parallèlement, la recherche vise à dégager les concepts de base et à améliorer les performances et l'utilisabilité des logiciels.Parmi les défis les plus importants figure l'adaptation des applications et du middleware lui-même. En effet, de nombreuses applications fonctionnent dans des environnements qui évoluent dynamiquement (par exemple, des serveurs Web avec des charges variables d'utilisation, ou des applications s'exécutant sur des dispositifs mobiles tels que les PDA ou téléphones portables). Ces applications doivent donc pouvoir répondre à cette évolution. Par ailleurs, des impératifs de réutilisation et de modularité amènent à réaliser les applications par assemblage de composants pouvant être remplacés et reconfigurés.
L'objectif de ce cours est de présenter les concepts de base et les techniques applicables aux aspects avancés du middleware pour répondre aux défis de l'adaptabilité. Cet enseignement prépare à la fois à mener des recherches dans ce domaine et à maîtriser les aspects techniques pour une mise en oeuvre efficace dans un cadre professionnel. L'enseignement s'appuie largement sur des systèmes avancés issus de la recherche et de l'industrie et disponibles en logiciel libre, et notamment sur ceux distribués par le consortium ObjectWeb.
Cet enseignement est constitué de deux unités :
Unité d'enseignement 1 : Outils pour l'adaptation du middleware et des applications
Organisation : Cours (9H), TD-TP (21H)
Objectifs : Cette unité introduit au middleware et présente de techniques d'adaptation du middleware et des applications. Elle permet en particulier d'étudier des techniques d'adaptation au niveau langage, telle que la programmation par aspect, et et des techniques d'instrumentation de code, telle que les outils Javassist ou BCEL.
Unité d'enseignement 2 : Middleware à composants logiciels
Organisation : Cours (9H), TD-TP (21H)
Objectifs : Cette unité introduit les concepts et techniques de base des systèmes répartis à base de composants. Elle présente les modèles fondamentaux et leurs bases, les principaux patrons (patterns) et canevas (frameworks) pertinents, et enfin quelques techniques de réalisation des infrastructures à composants. Elle s'appuie largement sur des études de cas de systèmes industriels et de prototypes de recherche, tels que Fractal et OSGi.
Pré-requis : Programmation orientée-objet Java (vue en Master 1)
Date | Horaire | Enseignant | Séance | Intitulé |
mar 27/02 | 9h45-13h | Sara Bouchenak | CM | Introduction |
ven 02/03 | 9h45 -13h | Sara Bouchenak | CM |
Adaptation langage - AOP |
mar 06/03 | 9h45 -13h | Sara Bouchenak | TP 1 | Adaptation langage |
ven 09/03 | 9h45 -13h | Sara Bouchenak | TP 1 (suite) | Adaptation langage |
mar 13/03 | 9h45 -13h | Sara Bouchenak | TP 2 | Adaptation langage |
ven 16/03 | 9h45 -13h | Sara Bouchenak | TP 3 | Adaptation langage |
mar 20/03 | 9h45 -13h | Sara Bouchenak | TP 4 | Adaptation langage |
ven 23/03 (annulé) |
9h45 -13h | Sara Bouchenak | TP (suite) | Adaptation langage |
mar
27/03 |
9h45 -13h | Sara Bouchenak | CM | Adaptation par instrumentation |
ven 30/03 | 9h45 -13h | Sara Bouchenak | TP (suite) | Adaptation langage |
mar 03/04 |
9h45 -13h | Sara Bouchenak | CM | Adaptation par instrumentation |
ven 06/04 | 9h45 -13h | Sara Bouchenak | TP | Démonstrations |
Interruption vacances (du 09/04 au 13/04) | ||||
mar 17/04 | 9h45 -13h | Sara Bouchenak | CM | Composants |
ven 20/04 | 9h45 -13h | Vania Marangozova | CM | Fractal |
mar 24/04 | 9h45 -13h | Vania Marangozova | TP | Fractal |
mar 27/04 | 9h45 -13h | Vania Marangozova | TP | Fractal |
lun 30/04 | 13h30 -16h45 | Vania Marangozova | TP | Fractal |
Semaine réservée aux devoirs/rattrapages (du 30/04 au 04/05) | ||||
jeu 03/05 | 9h45 -13h | Vania Marangozova | TP | Fractal |
mar 08/05 (jour férié) : cours initialement prévu à cette date annulé | ||||
ven 11/05 | 9h45 -13h | Lionel Touseau | CM | OSGi |
mar 15/05 | 9h45 -13h | Lionel Touseau | TP | OSGi |
ven 18/05 | 9h45 -13h | Lionel Touseau | TP (annulé pour cause de pont) | OSGi |
Semaine réservée aux devoirs/rattrapages (du 21/05 au 25/05) | ||||
lun 21/05 | 13h30 -16h45 | Lionel Touseau | TP | OSGi |
mer 23/05 | 14h - 17h | Lionel Touseau | Démonstrations OSGi | OSGi |
Les cours magistraux (CM) auront lieu : en salle F316 le mardi, en salle F116 le vendredi
Les TP auront lieu : en salle F208 le lundi, en salle F213 le mardi, en salle F208 le vendredi.