CHAPITRE I. GENERALITES SUR
LES INTERGICIELS
I.1 INTRODUCTION
Ce chapitre définit, donne le rôle, et
l'historique résumant les grandes étapes de l'évolution et
présente toutes les fonctions de l'intergiciel, les besoins auxquels
elles répondent, ainsi que le système distribué.Et les
principales types et sortes, l'analyse simple d'intergiciel en
générale et celui de MOMs en particulier et les problèmes
que pose leur conception.
I.2 DEFINITIONS
D'INTERGICIEL
L'intergiciel (ou middleware en anglais) désigne les
logiciels servant d'intermédiaire entre d'autres logiciels. On utilise
généralement du middleware comme intermédiaire de
communication entre des applications complexes, distribuées sur un
réseau informatique.
On appelle middleware, l'ensemble des couches réseaux
et des services logiciels qui permettant le dialogue entre les
différents composants d'une application repartie. Ce dialogue se base
sur un protocole applicatif commun, définie par l'API de middleware.
I.3 ROLE D'UN
INTERGICIEL
Un intergiciel se situe au-dessus du système
d'exploitation (OS pour OperatingSystem) et en dessous des applications
(c'est-à-dire des clients et/ou des services) de son hôte.
L'utilisation d'un intergiciel permet de développer des
applications viala réutilisation/assemblage de services
déployés au travers de différents objetscommunicants
indépendamment de leur localisation, langage de programmation,
système d'exploitation et matériel.
Un intergiciel fournit différentes
fonctionnalités/facilités pour l'implémentation
d'applications distribuées. Dans la littérature, les
fonctionnalités offertes d'un intergiciel sont souvent
présentées comme étant les services de l'intergiciel
à ne pas confondre, dans notre contexte, avec les services de
l'architecture des services de messagerie.
I.4HISTORIQUE
Le terme middleware semble être apparu vers 1990, mais
des systèmes intergiciels existaient bien avant cette date. Des
logiciels commerciaux de communication par messages étaient disponibles
à la fin des années 1970.
La référence classique sur l'appel de
procédure à distance est (Birrell and Nelson 1984), mais des
constructions analogues, liées à des langages particuliers,
existaient déjà auparavant (la notion d'appel de procédure
à distance apparaît dans white 1976 et une première
réalisation est proposée dansBrinch Hansen 1978.
Vers le milieu des années 1980, plusieurs projets
développent des infrastructures intergicielles pour objets
répartis, et élaborent les principaux concepts qui vont
influencer les normes et les produits futurs. Les précurseurs sont
Cronus (Schantz et al. 1986) et Eden (Almes et al. 1985), suivis par Amoeba
(Mullender et al. 1990),ANSAware (ANSA),Arjuna (Parrington et al. 1995, Argus
(Liskov 1988), Chorus/COOL (Lea et al. 1993),Clouds (Dasgupta et al.
1989,Comandos (Cahill et al. 1994,Emerald (Jul et al. 1988),(GothicBanatre and
Banatre 1991), Guide (Balter et al. 1991), Network Objects (Birrell et al.
1995), SOS (Shapiro et al. 1989), et Spring (Mitchell et al. 1994).
L'Open Software Foundation (OSF), qui deviendra plus tard
l'Open Group, est créée en 1988 dans le but d'unifier les
diverses versions du système d'exploitation Unix. Cet objectif ne fut
jamais atteint, mais l'OSF devait spécifier une plate-forme
intergicielle, le DistributedComputingEnvironment (DCE) [Lendenman 1996], qui comportait notamment un service
d'appel de procédure à distance, un système réparti
de gestion de fichiers, un serveur de temps, et un service de
sécurité.
L'Object Management Group (OMG) est créé en 1989
pour définir des normes pour l'intergiciel à objets
répartis. Sa première proposition (1991) fut la
spécification de CORBA 1.0 (la version courante, en 2005, est CORBA 3).
Ses propositions ultérieures sont des normes pour la modélisation
(UML, MOF) et les composants (CCM).
L'Object Database Management Group (ODMG) définit des
normes pour les bases de données à objets, qui visent à
unifier la programmation par objets et la gestion de données
persistantes.
Le modèle de référence de l'Open
DistributedProcessing (RM-ODP), a été conjointement défini
par deux organismes de normalisation, l'ISO et l'ITU-T. Il propose un ensemble
de concepts définissant un cadre générique pour le calcul
réparti ouvert, plutôt que des normes spécifiques.
La définition du langage Java par Sun Microsystems en
1995 ouvre la voie à plusieurs intergiciels, dont Java Remote Method
Invocation (RMI) [Wollrath et al. 1996] et les
Enterprise JavaBeans (EJB) [Monson-Haefel 2002].
Ces systèmes, et d'autres, sont intégrés dans une
plate-forme commune, J2EE.
Microsoft développe à la même
époque le Distributed Component Object Model (DCOM) [Grimes 1997], un intergiciel définissant
des objets répartis composables, dont une version
améliorée est COM+ [Platt 1999]. Son
offre courante est .NET, plate-forme intergicielle pour la construction
d'applications réparties et de services pour le Web.
La première conférence scientifique
entièrement consacrée à l'intergiciel a lieu en 1998.
Parmi les thèmes actuels de la recherche sur l'intergiciel, on peut
noter les techniques d'adaptation (réflexivité, aspects),
l'administration et notamment les travaux sur les systèmes autonomes
(pouvant réagir à des surcharges ou à des
défaillances), et l'intergiciel pour appareils mobiles et environnements
ubiquitaires.
|