Titre : "Middleware" adaptable
Responsable : Sacha Krakowiak <Sacha.Krakowiak at inrialpes.fr>, projet Sardes, IMAG-LSR et INRIA
Membres de l'équipe pédagogique :
2 équipes du Laboratoire IMAG-LSR sont concernées :
Le middleware (intergiciel) est la couche logicielle
située entre les couches basses (systèmes d'exploitation,
protocoles de communication) et les applications dans un système
informatique réparti. Son but est de faciliter le
développement de ces 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 : Corba, EJB, 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 et 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 middlewarepour répondre notamment aux défis de l'adaptabilité et du passage à l'échelle. 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'appuye 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.
N.B. Le thème de cet enseignement est prolongé en
Master M2 tant dans l'orientation "Professionnelle" que dans
l'orientation "Recherche". Cet enseignement d'option n'est pas un
prérequis pour suivre ces enseignements de M2, mais les
unités correspondantes pourront être proposées, si
besoin, à des étudiants de M2.
Unité d'enseignement 1 : Infrastructure du middleware et outils pour l'adaptation
Cours : 9H, TD-TP : 21 h.Unité d'enseignement 2 : Composants logiciels
Objectifs et contenu
Cette unité présente une étude approfondie des infrastructures de base du middleware et un certain nombre de techniques d'adaptation.Prérequis : Programmation par objets de M1
Co-requis : Module Réseaux et applications réparties
Cours : 9H, TD-TP : 21 h.Bibliographie (pour les 2 unités)
Objectifs et contenu
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.Prérequis : Programmation par objets de M1
Co-requis : Module Réseaux et applications réparties
Szyperski, C. (2002). Component Software - Beyond Object-Oriented
Programming. Addison-Wesley.
608 pp
AspectJ : http://aspectj.org
Bruneton, É., Coupaye, T., and Stefani, J.-B. (2002a). The
Fractal composition framework. ObjectWeb
Consortium. http://fractal.objectweb.org
Halloway, S. D. (2002). Component Development for the Java
Platform. Addison-Wesley.
334 pp
Laddad R. (2003). AspectJ in Action, Manning
Rapports du projet RNTL Arcad : http://arcad.essi.fr
Littérature scientifique courante (conférences
Middleware, etc.)
Pages web (indiquées selon besoins)