Passer au contenu

Corba définit les architectures distribuées

Spécification émanant de l’OMG, Corba est une architecture logicielle définissant l’interopérabilité entre des applications orientées objet.

Corba (Common Object Request Broker Architecture) est une norme définie dès le début des années quatre-vingt-dix par l’OMG (Object Management Group), un consortium regroupant 500 éditeurs et constructeurs. Plus précisément, les spécifications Corba décrivent comment créer une infrastructure logicielle réutilisable, avec des applications indépendantes des matériels, interopérables, et facilement évolutives afin d’éviter des temps de développement longs et trop coûteux.Ces normes représentaient une véritable révolution culturelle à l’époque : elles mettaient en avant les programmes orientés objet et jetaient les bases d’une architecture à plusieurs niveaux. Avec Corba, il n’y a plus une seule application monolithique, mais des appels de fonctions entre des composants placés sur un ou plusieurs serveurs d’applications. Ces objets communiquent les uns avec les autres sans se soucier de leurs plates-formes matérielles respectives et de leur localisation géographique.

Une infrastructure commune

Corba fait communiquer les composants grâce à deux éléments fondamentaux qui constituent la plomberie sous-jacente utilisée, par la suite, par les applications.Le premier, qui a donné son nom à l’architecture, est l’ORB (Object Request Broker), un logiciel chargé de faire circuler des messages entre les postes clients et les serveurs. Ses tâches sont précises : il reçoit les demandes émises entre les objets, localise le ou les serveurs à qui elles sont destinées, active les composants correspondants, récupère la réponse et la transmet au demandeur.Pour compléter ces fonctions de communication, l’ORB s’appuie sur trois niveaux de services applicatifs de natures différentes. Les premiers, les Corba Services proprement dits, sont communs à tous les objets. Ils définissent des actions de nommage (à l’aide d’annuaires), de persistance et de cycle de vie des composants, ainsi qu’un gestionnaire d’événements. Celui-ci, asynchrone, gère la diffusion de messages : “Je viens de réaliser telle ou telle action. Intéresse-t-elle quelqu’un ?”.

Des services entreprise et métiers

Les Corba Facilites et les Domain Services sont d’un niveau supérieur et concernent les applications. Le premier spécifie comment concevoir des composants préfabriqués, adaptés à un usage récurrent au sein des entreprises : interfaces utilisateurs, outils d’administration, outils transactionnels.Le second, dernier élément de l’ensemble, décrit des services communs à un domaine industriel (automobile, chimie, etc. ). Si les services, prévus par l’OMG, environ une quinzaine, ne sont pas tous mis en ?”uvre par les éditeurs d’ORB, ceux-ci fournissent souvent, en standard, la gestion des noms et d’événements et proposent des options supplémentaires comme le cryptage SSL, l’équilibrage de charge ou la tolérance de panne.

Un langage de description standardisé

Avec cette infrastructure, le développeur peut se concentrer sur la création et les différentes fonctions de ses composants sans se soucier de détails fastidieux. Il peut utiliser le langage de programmation de son choix (généralement orienté objet comme C++, Ada, Java, etc. ), sans se préoccuper du matériel à employer et même du degré de distribution de son application. Il n’a pas en effet à déterminer l’ORB qu’il va utiliser puisque cela se fait automatiquement lors du déploiement de l’application, à partir du serveur de test, vers le serveur de déploiement. Une seule contrainte subsiste, l’utilisation d’un langage de programmation normalisé, défini à l’aide de spécifications de l’OMG.Pour utiliser les composants, les applications doivent connaître les opérations qu’ils sont capables de réaliser, c’est-à-dire leurs méthodes et les données (attributs) associées. Ces informations sont disponibles à travers des interfaces standardisées, indépendantes des langages de programmation. Corba spécifie donc un langage nommé IDL (Interface Definition Language), qui décrit ces interfaces de manière standardisée. Chaque objet Corba est encapsulé dans cette enveloppe, cachant les mécanismes internes des composants aux développeurs chargés de faire interagir les objets dans le cadre d’une application. Cette enveloppe IDL permet, en outre, de réutiliser, sous forme d’objet, de la logique applicative existante comme des procédures Cobol ou des transactions CICS.

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


OLIVIER BIBARD