Middleware


Middleware

En architecture informatique, un middleware (anglicisme) est un logiciel tiers qui crée un réseau d'échange d'informations entre différentes applications informatiques. Le réseau est mis en œuvre par l'utilisation d'une même technique d'échange d'informations dans toutes les applications impliquées[1] à l'aide de composants logiciels.

Les composants logiciels du middleware assurent la communication entre les applications quels que soient les ordinateurs impliqués et quelles que soient les caractéristiques matérielles et logicielles des réseaux informatiques, des protocoles réseau, des systèmes d'exploitation impliqués.

Les techniques les plus courantes d'échange d'informations sont l'échange de messages, l'appel de procédures à distance et la manipulation d'objets à distance.

Les middleware sont typiquement utilisés comme ciment pour relier des applications informatiques disparates des systèmes d'information des entreprises et des institutions.

Sommaire

Traduction

Le terme middleware vient de l'anglais middle (du milieu) et software (logiciel). Diverses francisations ont été proposées :

Techniques

L'échange de messages, l'appel de procédures et la manipulation d'objets tiers sont trois techniques prises en charge par le middleware, qui permettent à des applications informatiques d'interagir, de coopérer et de se transmettre des informations.

Échange de messages

Article détaillé : Message-Oriented Middleware.

Dans un middleware orienté message (message-oriented middleware), les applications informatiques communiquent par échange de messages d'une manière similaire au courrier électronique : une application informatique émet un message qui est alors transmis à l'application destinataire par les composants logiciels du middleware pendant que l'application émettrice effectue d'autres traitements (asynchronisme).

Le contenu du message est formaté par l'émetteur selon une convention pré-établie puis analysé automatiquement par l'application destinataire conformément à cette convention. Le format de données XML est souvent utilisé pour les messages[2].

Le message peut être transmis à une application choisie par l'expéditeur, une liste d'applications abonnées ou toutes les applications qui exploitent le middleware. Les messages sont triés par priorité et placés dans des files d'attente (queue) par les composants logiciels du middleware[3].

WebSphere MQ, de IBM, est un composant logiciel pour middleware orienté message.

JMS est une interface de programmation pour middleware orienté message. OW2 JORAM est un des logiciels qui mettent en œuvre cette interface.

Appel de procédure à distance

Avec un middleware basé sur les appels de procédure à distance (remote procedure call), des fonctions (procédures) existantes dans une application informatique donnée peuvent être exécutées sur demande par d'autres applications.

L'appel de procédure à l'intérieur d'une application est un mécanisme logiciel ordinaire qui peut être réalisé avec n'importe quel langage de programmation procédural. Il en va autrement quand cet appel est réalisé entre deux applications.

Dans le mécanisme d'appel de procédure à distance, les composants logiciels du middleware créent dans l'application appelante un composant logiciel souche (stub) dont les fonctions sont identiques à celles de l'application informatique appelée. Puis les appels de procédure effectués par l'application appelante sur la souche sont déviés par les composants logiciel du middleware vers l'application appelée dans laquelle les composants du middleware ont créé une autre souche semblable à l'appelant.

Le résultat de l'exécution de la fonction est ensuite transmis de l'appelé vers l'appelant par les mêmes mécanismes. Les composants du middleware utilisent le procédé de sérialisation (marshalling)[4].

Le protocole réseau RPC de Sun Microsystems sert à effectuer des appels à distance.

SOAP est une technique d'appels à distance sur des serveurs web basée sur XML et le protocole HTTP - protocole des serveurs web.

Technique intermédiaire entre les appels de procédure à distance et la manipulation d'objets, RMI est un composant logiciel pour effectuer des appels de procédure à distance sur des objets en langage de programmation Java.

Manipulation d'objets

Avec un middleware à objets, une application informatique donnée peut manipuler les objets — de programmation orientée objet — d'une autre application. Ces manipulations induisent des traitements et des modifications d'informations dans l'application qui est propriétaire de l'objet en question.

La manipulation d'objets par l'application à laquelle ils appartiennent est une opération ordinaire de programmation orientée objet. Les mécanismes nécessaires existent dans la totalité des langages de programmation orientés objet. Il en va autrement de la manipulation d'un objet appartenant à une autre application.

Le mécanisme de manipulation d'objet tiers est similaire au mécanisme d'appel de procédure à distance : les composants du middleware créent dans l'application informatique qui exploite l'objet (client) une souche (stub) de celui-ci. Puis les manipulations effectuées sur la souche sont déviées par les composants du middleware vers l'application à laquelle appartient l'objet (fournisseur). Les composants du middleware créent dans l'application fournisseur un objet qui contient l'objet manipulé ainsi que les instructions nécessaires pour recevoir les manipulations - le squelette (skeleton). Le squelette est réalisé en utilisant les mécanismes d'héritage de la programmation orientée objet[5].

DCOM de Microsoft est une technique de manipulation d'objets distants basée sur le protocole réseau RPC.

DCE est un middleware à manipulation d'objet du Object Management Group basé sur CORBA, une technique standardisée du même auteur.

Transactions

En informatique, une transaction est une suite d'opérations indissociables - qui doivent être réalisées entièrement ou pas du tout. Divers composants de middleware permettent la réalisation de transactions. Ils permettent en particulier l'annulation totale de la transaction en cas d'échec[6].

CICS de IBM et DTC de Microsoft sont des middleware qui permettent la réalisation de transactions.

Voir aussi

Notes et références

  1. (en)John Footen et Joey Faust, The Service-Oriented Media Enterprise: SOA, BPM, and Web Services in Professional Media Systems, Focal Press, 2008, (ISBN 9780240809779), chapitre 4 definition of a middleware
  2. (en) Daniel Serain et Iain Craig, Middleware and enterprise application integration: the architecture of e-business solutions, Springer - 2002, (ISBN 9781852335700), page 154
  3. (en)Gunjan Samtani et Marcus Healey,B2B integration: a practical guide to collaborative e-commerce, Imperial College Press - 2002, (ISBN 9781860943263)
  4. (en) Bill Blunden, Message passing server internals, McGraw-Hill Professional - 2003, (ISBN 9780071416382)
  5. (en) Gustavo Alonso, Web services: concepts, architectures and applications, Springer - 2004, (ISBN 9783540440086), page 55
  6. (en) Qusay H. Mahmoud, Middleware for communications, John Wiley and Sons - 2004, (ISBN 9780470862063), page 54

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Middleware de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • Middleware — es un software que asiste a una aplicación para interactuar o comunicarse con otras aplicaciones, software, redes, hardware y/o sistemas operativos. Éste simplifica el trabajo de los programadores en la compleja tarea de generar las conexiones… …   Wikipedia Español

  • Middleware — (deutsch „Diensteschicht“ oder „Zwischenanwendung“) bezeichnet in der Informatik anwendungsneutrale Programme, die so zwischen Anwendungen vermitteln, dass die Komplexität dieser Applikationen und ihre Infrastruktur verborgen wird.[1] Man kann… …   Deutsch Wikipedia

  • Middleware — Middleware,   Software für den objektorientierten, direkten Datenaustausch zwischen Anwendungsprogrammen, die unter verschiedenen Betriebssystemen oder in heterogenen Netzen arbeiten. Beispiele für Middleware Standards sind Corba, Java RMI oder… …   Universal-Lexikon

  • middleware — The generic term for those software technologies that sit somewhere between operating systems (like Windows) and applications programs (like word processors or web browsers), and that allow the seamless sharing of data, applications and other… …   Law dictionary

  • Middleware — This article is about integration software. For video game engine software, see Game engine#Game middleware. Middleware is computer software that connects software components or people and their applications. The software consists of a set of… …   Wikipedia

  • middleware —    A category of software that shields an application from the underlying mechanics of a network so that the developers of an application do not have to know in advance which network and communications protocols will be used. Middleware is often… …   Dictionary of networking

  • middleware — tarpinė programinė įranga statusas T sritis informatika apibrėžtis Programinė įranga, atliekanti tarpininko vaidmenį keičiantis duomenimis tarp skirtingų programų, sistemų, platformų, kai tiesioginis keitimasis tarp jų neįmanomas arba nėra… …   Enciklopedinis kompiuterijos žodynas

  • Middleware — …   Википедия

  • middleware — noun a) software that functions at an intermediate layer between applications and operating system or database management system, or between client and server b) Networking software/hardware that is deployed in the middle of, as opposed to… …   Wiktionary

  • Middleware —    Software that links big databases to consumer products. For example, a website …   Financial and business terms


Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.