Entre la multiplicité des plateformes et des langages de programmation, la conception d’applications devient toujours plus complexe. Alors pour simplifier le développement de logiciels, de nouveaux concepts émergent. C’est notamment le cas de CORBA (ou common object request broker Architecture). De quoi s’agit-il ? Quels sont les avantages ? Découvrez les réponses dans cet article.
Qu'est ce que le cadre CORBA ?
CORBA est l’acronyme de Common Object Request Broker Architecture. Il s’agit d’un standard développé en 1992 par Object Management Group (ou OMG) ; un consortium de plusieurs centaines d’entreprises dédiées à la construction de matériel informatique et l’édition de logiciels.
L’objectif est de développer des applications distribuées indépendantes de la plate-forme et du langage à travers des principes de conception orientés objet.
Pour rappel, un objet dans le développement informatique est une brique logicielle possédant une structure interne et un comportement qui lui sont propres. Or, c’est l’interaction des différents objets composant l’application qui permet de créer de nouvelles fonctionnalités ou de regrouper des données.
Cependant, la plupart des applications reposent sur l’assemblage d’objets développés à partir de technologies différentes, que ce soit au niveau du langage de programmation pour l’écriture, du processus pour l’exécution ou encore des machines utilisées pour le déploiement.
Corba permet alors de définir un cadre permettant à tous ces objets de communiquer entre eux malgré ces différences. Et donc de créer les fonctionnalités requises pour l’application. Autrement dit, CORBA développe une architecture unifiée pour des applications utilisant des technologies distinctes.
Pour bien comprendre le cadre CORBA, il faut connaître son composant clé (ORB) et le langage de définition des interfaces (IDL).
Object Request Broker (ORB)
Avant de tenter d’expliquer l’ORB, il convient de revenir sur un point. En effet, CORBA inclut deux types d’objets :
- Le serveur (ou fournisseur) : c’est celui qui propose des fonctionnalités, utilisables par d’autres objets.
- Le client : c’est l’objet qui nécessite les services du serveur.
Pour que l’application fonctionne, ces deux objets doivent communiquer. C’est à cet instant qu’intervient l’ORB.
L’Object Request Broker est le composant clé de l’architecture CORBA.
Concrètement, l’ORB met en œuvre la structure d’objets (également appelé bus d’objets) qui facilite la communication entre les objets client et l’objet serveur. Cela permet au client d’invoquer un objet (local ou distant) sans tenir compte de son emplacement. Pour cela, le courtier ORB envoie une requête aux objets invoqués et retourne la réponse au client. C’est ainsi que de nouvelles fonctionnalités ou services sont créés.
Bon à savoir : chaque objet propose plusieurs services (comme Time service, property service, security service, collection service, trader object service…) avec des fonctionnalités bien distinctes. Ces différents services sont définis par l’Object Management Group (ou OMG).
L’ORB doit les communiquer sous la forme d’un langage de définition d’interface (IDL).
Interface Definition Language (IDL)
Chaque composant est décrit à travers une interface. L’IDL (ou langage de définition des interfaces) définit alors ces interfaces dans un langage donné (indépendant des langages de programmation utilisés).
L’idée est d’aider les ORB à comprendre les opérations disponibles et identifier la syntaxe pour les appeler. À cette fin, un compilateur crée un code spécifique facilitant l’utilisation de l’interface par le client et le serveur. Pour le client, ce code est le stub, et pour le serveur, il s’agit du skeleton.
C’est cette définition d’un langage qui permet d’assurer l’indépendance et l’interopérabilité des différentes technologies utilisées pour l’application. Par exemple, des modules programmés en C++ pourront communiquer avec d’autres modules programmés en Java.
Bon à savoir : Ces IDL sont disponibles pour plusieurs langages de programmation, tels que C++, Java, Ada, Cobol…
Quels sont les avantages de CORBA ?
En définissant une architecture unifiée pour les applications distribuées complexes, Corba offre de multiples avantages aux développeurs :
- La réutilisabilité des composants logiciels : les applications ne sont pas cantonnées à un type de technologie pour fonctionner.
- L’interopérabilité entre les différents langages et les environnements informatiques : grâce à l’IDL, les objets peuvent facilement communiquer entre eux, et ainsi créer de nouvelles fonctionnalités et de nouveaux services.
- La transparence à la localisation : Corba permet aux clients d’invoquer des objets en local ou à distance, peu importe leur emplacement.
- L’environnement hétérogène (langage, OS, machine) : quelles que soient les technologies utilisées par l’application, CORBA crée un cadre unifié qui permet d’en garantir le bon fonctionnement.
Comment apprendre les concepts CORBA ?
L’architecture CORBA figure parmi les concepts incontournables pour un développeur web. Pour en savoir plus sur ce modèle, il convient donc de se former auprès de professionnels qualifiés et compétents.
C’est justement le cas de notre institut de formation Datascientest. Vous pourrez suivre notre formation Ingénieur DevOps et décrocher un diplôme reconnu par l’État. Ici, vous apprendrez les bases du développement et de l’administration de logiciels.