Intergiciel
Intergiciel ou logique d'échange d'informations entre applications ( interlogique ), ou agent intermédiaire , fait référence à un système logiciel qui offre des services et des fonctions communs aux applications. En général, le middleware gère les tâches de gestion des données, des services applicatifs, de la messagerie, de l'authentification et de la gestion des API. C'est un logiciel qui aide une application à interagir ou à communiquer avec d'autres applications, ou progiciels, réseaux, matériels ou systèmes d'exploitation. Cela simplifie le travail des programmeurs dans la tâche complexe de générer les connexions et les synchronisations nécessaires dans les systèmes distribués. De cette façon, une solution est fournie qui améliore la qualité de service, ainsi que la sécurité, l'envoi de messages, la mise à jour de l'annuaire de services, etc. [ 1 ]
Il fonctionne comme une couche d'abstraction logicielle distribuée, située entre les couches applicatives et les couches inférieures ( système d'exploitation et réseau ). Le middleware fait abstraction de la complexité et de l'hétérogénéité des réseaux de communication sous-jacents, des systèmes d'exploitation et des langages de programmation, fournissant une API pour une programmation et une gestion faciles des applications distribuées. Selon le problème à résoudre et les fonctions requises, différents types de services middleware seront utiles. En général, le middleware côté client est implémenté par le système d'exploitation, qui possède les bibliothèques qui exécutent toutes les fonctionnalités de communication via le réseau.
Il est en charge des tâches de gestion des données, des services applicatifs, de la messagerie d'auto-indication et de la gestion des applications. Il facilite également l'accès à un réseau et augmente la vitesse d'exécution du système.
Il est défini en deux catégories appelées intégration et application. Chaque middleware a certains protocoles et paradigmes.
Il est basé et orienté vers des procédures d'interaction de données afin que la synchronisation d'un processus spécifique soit exécutée.
Le middleware va des serveurs Web aux systèmes d'authentification et aux outils de messagerie :
- Automatisation commerciale intelligente - Streaming de données - Intégration complète - Automatisation commerciale intelligente - Streaming de données - Intégration complète
Définition
Les intergiciels sont tous les logiciels qui se situent entre le système d'exploitation et les applications qui y sont exécutées . Il fonctionne comme une couche de traduction qui permet la communication et la gestion des données dans les applications distribuées. L'intergiciel cherche à doter les systèmes distribués de la propriété de transparence, c'est-à-dire de masquer la nature hétérogène du système. Ceci est réalisé en fournissant les fonctionnalités suivantes :
- Offrez la possibilité de demander et de recevoir des données de manière transparente.
- Libérer les concepteurs et les administrateurs système des problèmes d'implémentation liés à la complexité du système d'exploitation.
En pratique, le middleware est représenté par des processus ou des objets au sein d'un ensemble d'ordinateurs qui interagissent les uns avec les autres pour mettre en œuvre la communication et le partage des ressources pour les applications distribuées.
Historique
L'origine du mot middleware remonte à l'année 1960, où le mot a été utilisé lors de la 'Conférence de génie logiciel de l'OTAN de 1960', [ 2 ] étant une idée de la façon de connecter de nouveaux logiciels à des systèmes plus anciens. Au cours des décennies précédant les années 1990, il n'était décrit que comme un logiciel de gestion des connexions réseau, mais au moment où les technologies réseau ont atteint une pénétration et une visibilité suffisantes, les logiciels middleware avaient évolué vers un ensemble de paradigmes et de services. . De cette manière, un moyen plus simple, plus robuste et plus contrôlable était proposé pour créer des applications distribuées. [ 3 ]
Taxonomie des programmes middleware
La taxonomie ou classification des logiciels middleware peut être décrite en deux grandes catégories : l'une pour l'intégration et l'autre pour l'application. Ceux-ci ont à leur tour des classes différentes.
Catégorie d'intégration
C'est le type d'intégration qui a la capacité de s'unir à des systèmes hétérogènes. Chaque middleware a des protocoles de communication ou des modes de fonctionnement différents dans des logiciels différents . Les types d'intégration peuvent être considérés comme :
Orienté procédure ou processus
Le middleware orienté processus utilise une communication synchronisée ( telle que le téléphone). L'une des caractéristiques de ceux-ci est qu'ils utilisent le stub client et le squelette du serveur . Le stub client convertit la demande en un message qui est envoyé au serveur ; puis le squelette du serveur reçoit le message, le convertit en requête et appelle l'application serveur où il est traité. Après le traitement, le processus inverse se produit. Le stub client vérifie les erreurs, envoie les résultats au logiciel qui a lancé la demande, puis suspend le traitement. Les avantages de ces intergiciels sont qu'ils utilisent un type standard dans les noms de services et de processus distants, qu'ils peuvent renvoyer des réponses même en cas de problèmes de réseau et qu'ils peuvent gérer plusieurs types de formats de données et des niveaux hétérogènes de systèmes de service. Les inconvénients sont qu'ils n'ont pas d'évolutivité, ils ne peuvent pas renvoyer les informations à un programme différent de celui qui a fait la demande (réflexion) et ils ont des processus très rigides.
Orienté objet
Ils prennent en charge la commande d'objets distribués. La communication entre les objets peut être synchronisée, synchronisée différée ou non synchronisée. Ils prennent en charge plusieurs commandes similaires passées par plusieurs clients en une seule transaction. Le mode de fonctionnement est le suivant :
- L'objet client appelle une méthode logique pour obtenir un objet distant.
- Un ORB proxy (également connu sous le nom de stub ) rassemble les informations ( marshalling ou sérialisation) et les transmet via l'agent ( broker ).
- L'agent agit comme point intermédiaire et contacte diverses sources d'informations, obtient leurs identifiants de référence, collecte des informations et parfois les réorganise.
- Le proxy distant (également connu sous le nom de squelette ) rassemble ( démarshalle ou désérialise) les informations provenant de l'agent et les transmet à l'objet serveur.
- L'objet serveur traite les informations et génère un résultat qui est renvoyé au client en suivant les étapes inverses.
Les avantages sont qu'ils permettent la réflexion et l'évolutivité, qu'ils fonctionnent avec plusieurs types d'informations et d'états et qu'ils prennent en charge plusieurs processus. Les inconvénients sont que les liens existent avant l'exécution et le code wrapper pour certains systèmes hérités.
Intergiciel orienté message (MOM )
Ils peuvent être divisés en deux types, attendre et publier/s'abonner. L'étape d'attente peut être divisée en message et attente. L'étape de message commence par l'envoi par l'application d'un message à un ou plusieurs clients, avec le MOM du client. Le serveur MOM collecte les demandes de la file d'attente ( Message Broker ) dans un ordre prédéterminé ou un système d'attente. Le serveur MOM agit comme un routeur et n'interagit généralement pas avec eux. Le MOM de publication et d'abonnement agit légèrement différemment, il est davantage piloté par les événements. Si un client veut participer pour la première fois, il rejoint le bus d'information. Selon son rôle, que ce soit en tant qu'éditeur, abonné ou les deux, il enregistre un événement. L'éditeur envoie une notification d'événement au bus mémoire. Le serveur MOM envoie une annonce à l'abonné enregistré lorsque les informations sont disponibles.
Orienté composants
Un composant est un "programme qui exécute une fonction spécifique, conçu pour fonctionner et interagir facilement avec d'autres composants et applications". Le middleware dans ce cas dans une configuration de composant. Les points forts de ce middleware est qu'il est paramétrable et reconfigurable. La reconfiguration peut être effectuée au moment de l'exécution, offrant une grande flexibilité pour répondre aux besoins d'un grand nombre d'applications.
Agents
Les agents sont un type de middleware qui comporte plusieurs composants :
- Entités. Il peut s'agir d'objets ou de processus.
- Moyens de communication. Il peut s'agir de canaux, de tuyaux, etc.
- Lois. Ils identifient la nature interactive des agents. Ils peuvent être de type temporisation ou schéma.
Les avantages des agents intergiciels sont leur capacité à effectuer un grand nombre de tâches pour le compte de l'utilisateur et à couvrir un large éventail de stratégies en fonction de l'environnement qui l'entoure. Cependant, sa mise en œuvre est compliquée en raison de la complexité et des difficultés données par les opérations qu'ils traitent.
Catégorie d'application
La classification par application comprend des intergiciels adaptés à des applications spécifiques.
Intergiciel d'accès aux données ( DAM )
L' intergiciel d'accès à l'information a la particularité de pouvoir interagir avec diverses sources de données. Ce type de middleware comprend ceux qui traitent les transactions, les passerelles de base de données et les systèmes de transaction/procédure distribués.
Leurs avantages résident dans la communication qu'ils ont entre plusieurs sources de données, la conversion du langage de programmation de l'application dans un langage accepté par la source de données de destination et la capacité de répondre dans un format et un langage acceptables pour le demandeur.
Intergiciel de bureau
Les intergiciels de bureau peuvent apporter des variations dans la présentation des informations demandées par l'utilisateur par des applications de suivi et d'assistance, contrôler tous les services de transport et fournir des opérations de sauvegarde et d'arrière-plan. D'autres peuvent être la maintenance et les graphiques, les commandes, les répertoires de services, la gestion des informations de base de données, la gestion des processus, la planification des tâches, la notification des événements de service, la gestion de l'installation des logiciels, les services de cryptage et le contrôle d'accès.
Intergiciel basé sur le Web
Ce type de middleware aide l'utilisateur à naviguer sur le Web, à utiliser des interfaces qui lui permettent de trouver des pages d'intérêt et à détecter les changements d'intérêt de l'utilisateur en fonction de son historique de recherche. Il fournit un service d'identification pour un grand nombre d'applications et de communication entre processus indépendants du système d'exploitation, du protocole réseau et de la plate-forme matérielle . Les intergiciels étroitement liés au réseau sont appelés serveurs d'applications, car ils améliorent les performances, la disponibilité, l'évolutivité, la sécurité, la récupération d'informations et prennent en charge la gestion et l'utilisation collaboratives. Le middleware peut contacter directement l'application pour une meilleure communication entre le serveur et le client. D'autres services importants fournis par ce type de middleware sont les services d'annuaire, les e- mails , les grandes chaînes d'approvisionnement, l'accès à distance aux informations, les téléchargements de fichiers, l'accès aux programmes et l'accès aux applications distantes.
Intergiciel temps réel
L'information en temps réel se caractérise par le fait que l'information correcte à un moment peut ne pas l'être à un autre. Le middleware en temps réel prend en charge les demandes urgentes et les politiques de planification. Cela se fait avec des services qui améliorent l'efficacité des applications utilisateur. Le middleware temps réel peut être divisé en différentes applications :
- Application de base de données en temps réel.
- capteur de traitement.
- Transmission d'informations.
Les informations transitant par le middleware en temps réel ont considérablement augmenté avec l'introduction d'Internet, des réseaux sans fil et des nouvelles applications basées sur la diffusion.
Les avantages de ce type de middleware sont qu'ils offrent un processus de décision qui détermine les meilleurs critères pour résoudre les processus sensibles au temps, et la possibilité d'aider les systèmes d'exploitation à localiser les ressources lorsqu'ils ont des limites de temps de fonctionnement.
L' intergiciel multimédia est une branche majeure de l'intergiciel temps réel. Ceux-ci peuvent traiter une grande variété d'informations. Ces types peuvent être du texte, des images de toutes sortes (GPS, images, etc.), des processeurs de langage naturel, de la musique et de la vidéo. Les informations doivent être collectées, intégrées puis envoyées à l'utilisateur sensible au facteur temps. Les périphériques multimédias peuvent inclure un mélange de périphériques physiques (haut-parleurs, caméras, microphone) et logiques.
Spécialistes du middleware
Dans de nombreux cas, les intergiciels fournissent une tâche très spécifique qui ne rentre pas dans les catégories ci-dessus. Un exemple serait les intergiciels médicaux .
Catégorie de niveau
La hiérarchisation est différenciée en deux types : middleware de bas niveau et middleware de haut niveau.
Intergiciel de bas niveau
Middleware qui offre des fonctionnalités essentielles, généralement liées aux modifications du support TCP/UDP + IP de base.
Ses principales caractéristiques sont :
- Sérialisation (en anglais, Marshalling ) : La sérialisation est le processus de transformation d'un objet, situé sur un support de stockage, en un format de données adapté au stockage ou à la transmission.
- Multidiffusion sur IP : la multidiffusion IP est une méthode de transmission de datagrammes IP à un groupe de récepteurs intéressés.
- Réseau de superposition : un réseau de superposition est un réseau virtuel de nœuds logiquement liés qui est construit au-dessus d'un ou de plusieurs réseaux sous-jacents.
Intergiciel de haut niveau
Ce niveau est dédié à la communication et à l'invocation à distance. Il s'agit d'un intergiciel axé sur l'envoi et la réception de données, c'est-à-dire sur la façon dont les processus communiquent dans un système distribué.
Trois types sont distingués :
- Appel de procédure distante ( RPC) : l' appel de procédure distante est un programme qui utilise un ordinateur pour exécuter du code sur une autre machine distante sans avoir à se soucier de la communication entre les deux machines.
- Remote Method Invocation (RMI) : Java Remote Method Invocation est un mécanisme proposé par Java pour invoquer une méthode à distance. C'est une extension de RPC pour le transfert direct d'objets distribués.
- Protocoles de requête-réponse : Le protocole de requête-réponse comprend un certain nombre de protocoles qui fournissent un support de niveau relativement bas pour demander l'exécution d'une opération à distance. Ils jettent les bases de l'appel de procédure distante (RPC) et de l'invocation de méthode distante (RMI).
Candidatures
Les services middleware fournissent un ensemble d' API plus fonctionnel pour permettre à une application de :
- Localisez clairement sur le réseau, offrant ainsi une interaction avec un autre service ou application
- Données filtrées pour être utilisables dans un environnement public via un processus d'anonymisation pour la protection de la vie privée (par exemple)
- Être indépendant du service réseau
- Soyez fiable et toujours disponible
- Ajoutez des attributs complémentaires tels que la sémantique par rapport au système d'exploitation et aux services réseau.
L'intergiciel offre des avantages technologiques uniques pour les entreprises et l'industrie. Par exemple, les systèmes de base de données traditionnels sont souvent déployés dans des environnements fermés, où les utilisateurs accèdent au système uniquement via un réseau restreint ou un intranet (par exemple, le réseau interne d'une entreprise). Avec la croissance du World Wide Web , les utilisateurs peuvent accéder à pratiquement n'importe quelle base de données pour laquelle ils disposent de droits d'accès appropriés depuis n'importe où dans le monde. L' intergiciel résout le problème des différents niveaux d'interopérabilité entre les différentes structures de base de données. Le middleware facilite l'accès au système de gestion de base de données (SGBD) ou aux applications hérités via un serveur Web, sans tenir compte des fonctionnalités spécifiques à la base de données. [ 4 ]
Les entreprises utilisent fréquemment des applications middleware pour relier les informations des bases de données départementales, telles que la paie, les ventes et la comptabilité, ou des bases de données hébergées dans plusieurs emplacements géographiques. [ 5 ] Sur le marché hautement concurrentiel de la santé, les laboratoires utilisent largement des applications middleware pour l'exploration de données et le système d'information de laboratoire (LIS), et pour combiner les systèmes d'information lors des fusions d'hôpitaux. L' intergiciel aide à combler le fossé entre les LIS distincts dans un réseau de soins de santé nouvellement formé à la suite d'un achat à l'hôpital. [ 6 ]
Les développeurs de réseaux sans fil peuvent utiliser le middleware pour relever les défis associés au réseau de capteurs sans fil (WSN) ou aux technologies WSN. Le déploiement d'une application middleware permet aux développeurs WSN . Pour intégrer les systèmes d'exploitation et le matériel avec la grande variété d'applications différentes qui sont disponibles aujourd'hui. [ 7 ]
Le middleware peut aider les développeurs de logiciels à ne pas avoir à écrire des API pour tous les programmes de contrôle, qui agissent comme une interface de programmation distincte pour leurs applications. Pour l' Internet du futur , l'exploitation du réseau via la surveillance du trafic dans des scénarios multi-domaines , à l'aide d'outils de médiation ( middleware ) est une aide puissante, puisqu'ils permettent aux opérateurs , chercheurs et fournisseurs de services de surveiller la qualité de service et d'analyser les éventuels défaillances des services de télécommunications. [ 8 ]
Enfin, le commerce électronique utilise des intergiciels pour gérer des transactions rapides et sécurisées dans de nombreux types d'environnements informatiques. [ 9 ] En bref, le middleware est devenu un élément essentiel dans un large éventail d'industries, grâce à sa capacité à rassembler des ressources sur différents réseaux ou plates-formes informatiques.
En 2004, les membres de l' Union Européenne de Radio-Télévision (UER) ont mené une étude sur l' intergiciel en ce qui concerne l'intégration des systèmes dans les environnements de diffusion. Il a impliqué des experts en ingénierie de conception de systèmes de 10 grands réseaux européens, travaillant sur une période de 12 mois pour comprendre l'effet des produits, principalement des logiciels, basés sur les techniques de production de médias et la diffusion de la conception de systèmes de médias. Les rapports 3300S Technology et 3300 Tech qui en résultent ont été publiés et sont disponibles gratuitement sur le site Web de l'UER. [ 10 ] [ 11 ]
Voir aussi
- Intergiciel RFID
- DU SAVON
- CORBE
- Intergiciel orienté message
Il existe de nombreuses spécifications et implémentations de middleware commerciaux :
- JBOSS
- Intergiciel RFID Data Suite
- smoking
- Tibco
- WebMethods
- IBM WebSphere MQ (anciennement MQSeries )
- JMS
- SCIC
- Courtier Borland Visi
- Intégration de processus SAP PI SAP
Références
- ↑ Karne, évêque. « Une enquête sur les intergiciels » .
- ↑ Gall, Nick (29 juillet 2005). « Origine du terme middleware » .
- ^ D., Bakken (29 juillet 2005). Middleware .
- ^ Peng, C, Chen, S, Chung, J, Roy-Chowdhury, A et Srinivasan, V. (1998). Accéder aux données commerciales existantes à partir du World Wide Web. IBM Systems Journal, 37(1), 115-132. Extrait le 7 mars 2009 de la base de données mondiale ABI/INFORM. (ID de document : 26217517)
- ^ Bougettaya, A, Malik, Z, Rezgui, A et Korff, L. (2006). Un middleware évolutif pour les bases de données Web. Journal of Database Management, 17(4), 20-39, 41-46. Extrait le 7 mars 2009 de la base de données mondiale ABI/INFORM. (ID de document : 1155773301)
- ^ Bagwell, H. (2008). Intergiciel : apporter de la valeur au-delà de l'autovérification Archivé le 12 octobre 2009 sur la Wayback Machine .. IVDT. Consulté le 3 mars 2009.
- ↑ Hadim, S. et Mohamed, N. (2006). Défis et approches middleware pour les réseaux de capteurs sans fil. IEEE Distributed Systems Online vol 7. Numéro 3. Récupéré le 4 mars 2009 sur iEEE Distributed Systems Online Archivé le 2011-09-28 sur Wayback Machine .
- ↑ Kai Oswald Seidler. « INSTANT » . Fp7-moment.eu. Archivé de l'original le 28 février 2009 . Consulté le 19 août 2010 .
- ^ Charles, J. (1999). Le middleware passe au premier plan (abonnement requis) . Actualités technologiques. Consulté le 2 mars 2009.
- ^ "Rapport sur le middleware EBU Tech 3300" (PDF) . Consulté le 19 août 2010 .
- ^ "L'intergiciel EBU rapporte les Tech 3300" (PDF) . Consulté le 19 août 2010 .
Liens externes
- middleware.objectweb.org .
- Intergiciel de gestion des droits numériques .
- mig-idl.sourceforge.net Générateur d'interfaces middleware pour C++ avec XML-RPC .
- middleware.internet2.edu Internet2 Middleware Initiative .
- www.opensubsystems.org/core Archivé le 3 février 2011 sur la Wayback Machine . Couche d'abstraction du middleware .