Tout savoir CORBA
Créée dans les années 1990, la norme CORBA est la solution qu’ont trouvée les développeurs de l’époque pour permettre aux systèmes déployés sur des plateformes différentes de communiquer entre eux. En effet, en utilisant des langages de programmation et des ordinateurs différents, les développeurs créaient des programmes qui ne fonctionnaient pas dans tous les environnements. La norme CORBA a donc été conçue pour régler ce problème et permettre à tous de profiter des avantages de la programmation orientée objet.
Dans cet article, nous vous expliquerons tout ce qu’il y a à savoir à propos de cette norme. Nous vous donnerons des détails sur ses principes de fonctionnement, les avantages qu’elle offre ainsi que les technologies qu’elle utilise. Nous vous donnerons également des astuces pour apprendre à utiliser cette norme.
Si vous comptez développer des applications dans différents langages de programmation, ce guide devrait vous être très utile. Il vous aidera à comprendre l’essentiel sur la norme CORBA qui régit la communication entre les technologies différentes.
Qu’est-ce que CORBA ?
CORBA est en réalité un acronyme tiré de la langue anglaise. Il se définit comme le « Common Object Request Broker Architecture » et représente une spécification indépendante. En effet, entre 1991 et 1992, des centaines d’entreprises se sont réunies pour décider d’un standard. Cet ensemble d’entreprises prend le nom d’Object Management Group (OMG).
L’OMG est constitué d’entreprises spécialisées dans la construction de matériels informatiques et de logiciels. Le consortium veut créer alors une architecture qui permettrait de concevoir des programmes fonctionnels sur tous les appareils, quelles que soient leurs différences.
Même avec des langages de programmation et des systèmes d’exploitation différents, les fonctionnalités des applications seront conservées. Pour permettre cette communication entre les objets, CORBA utilise plusieurs technologies. La norme repose sur un modèle de programmation distribuée. Elle fonctionne grâce à un langage d’interfaces : IDL.
Il faut souligner qu’IDL est indépendant des langages de programmation et des matériels. Par ailleurs, CORBA utilise l’ORB (Object Request Broker) pour faciliter la communication entre les objets du modèle client-serveur.
Quels sont les principes de fonctionnement de CORBA ?
Le fonctionnement de CORBA repose sur quelques principes de base. C’est d’ailleurs grâce à ceux que la communication transparente entre les technologies différentes est possible.
L’utilisation du langage d’interfaces
Le langage d’interfaces IDL est l’un des fondements principaux de l’architecture CORBA. C’est le langage à travers lequel les interfaces où sont décrits les composants sont définies. En effet, lorsqu’un nouvel objet est créé avec le principe de la Programmation Orientée Objet (POO), il possède des propriétés, des attributs.
Ces derniers sont décrits dans l’IDL et convertis en implémentation grâce au compilateur du langage d’interfaces. IDL possède des compilateurs différents pour la plupart des langages de programmation. Ceci permet d’obtenir un code source dans le langage de programmation utilisé avec une implémentation encapsulée.
Object Request Broker (ORB)
L’ORB est l’un des éléments les plus importants de l’architecture CORBA. C’est lui qui met en œuvre la structure d’objets entre le client et le serveur. Concrètement, c’est grâce à l’ORB qu’un client peut envoyer des requêtes vers le côté serveur. En effet, c’est le broker ORB qui s’occupe du routage des demandes du client vers le serveur et de l’envoi des réponses du serveur vers le client.
Le modèle de composants CORBA
Le CORBA Component Model (CCM) est un nouveau modèle donnant droit à quatre types de composants. Il a été lancé avec CORBA 3 pour permettre de combler les limites des EJB et de leurs deux composants. C’est ce modèle qui permet le déploiement des composants logiciels et donc l’accès à des services. Il s’agit entre autres de :
- La notification des transactions ;
- L’authentification des transactions ;
- La persistance des transactions ;
- du traitement des transactions.
Les intercepteurs portables
Les fonctions de la norme CORBA sont conciliées par des intercepteurs portables. Encore appelés crochets, ce sont les :
- intercepteurs IOR ;
- intercepteurs clients ;
- intercepteurs de serveurs.
Les intercepteurs jouent un rôle non négligeable dans l’architecture CORBA. Ils assurent la médiation entre les objets distants aussi bien du côté client, que du côté serveur. Ils servent aussi à joindre des informations aux messages envoyés vers le côté client ou serveur.
Les protocoles de l’architecture GIOP
Pour assurer leur fonction, les brokers ORB communiquent grâce à un protocole. C’est le protocole GIOP. Il est composé de quelques sous-protocoles jouant chacun un rôle bien précis. Le Protocole Internet InterORB par exemple permet d’obtenir un mappage entre le GIOP et la couche TCP/IP.
De la même manière, les protocoles SSLIOP et HTIOP servent respectivement à la fonction de cryptage et d’authentification ainsi qu’au contournement du proxy. Il existe également un protocole compressé de GIOP (IOP) qui permet donc de réduire l’utilisation de la bande passante en raison de son caractère compressé.
Comment apprendre à utiliser CORBA ?
Dans le domaine du développement web, CORBA fait partie des concepts quasi incontournables. C’est une norme basée sur le principe de l’architecture client-serveur utilisée dans la programmation web. Pour apprendre à l’utiliser, vous avez le choix entre plusieurs solutions. La plus simple serait de s’inscrire dans une école spécialisée et de suivre des cours avec des professionnels du domaine.
Ces experts vous apprendront alors tout ce qu’il faut savoir sur la norme et comment l’utiliser. Si vous le souhaitez, vous pouvez aussi vous former par vos propres moyens. Pour cela, vous pouvez vous référer à la documentation disponible sur le site officiel de CORBA. Vous pouvez aussi trouver des informations auprès des développeurs séniors sur les forums.
Si vous comptez faire de l’autoformation, vous devez d’abord définir un plan à suivre. Commencez par les bases CORBA puis choisissez un langage de programmation moderne compatible. Essayez de vous exercer à utiliser les principes de fonctionnement de CORBA. N’hésitez pas à voir des tutoriels sur YouTube pour mieux apprendre à utiliser CORBA.
Qui utilise la norme CORBA ?
La norme CORBA est utilisée par une multitude de profils de personnes malgré son âge avancé. En effet, elle sert énormément aux :
- ingénieurs logiciels pour la conception des logiciels fonctionnels sur tout type de système d’exploitation ;
- développeurs web pour l’architecture client-serveur et les protocoles ;
- développeurs Java pour l’implémentation de code source Java ;
- développeurs C++ pour l’implémentation de programmes simples avec l’architecture standard ;
- développeurs Python pour l’implémentation de programmes d’intelligence artificielle ;
- administrateurs de base de données ;
- Data Analysts.
Quels sont les avantages de CORBA ?
L’utilisation de la norme CORBA présente de nombreux avantages. Ils se font ressentir aussi bien chez les développeurs que chez les utilisateurs des logiciels conçus.
La création d’un environnement hétérogène
CORBA permet avant tout de créer un environnement hétérogène. C’est-à-dire un espace où des technologies différentes sont regroupées et fonctionnent parfaitement. Les objets peuvent communiquer entre eux pour augmenter les fonctionnalités. Il faut souligner que grâce à la norme CORBA, les programmes fonctionnent désormais sur tous les systèmes d’exploitation.
L’indépendance à un langage
La norme CORBA permet aux développeurs et à leurs programmes de se libérer des limites d’un langage de programmation particulier. En effet, grâce à ce standard, les spécifications d’un objet défini dans un langage sont décrites et converties automatiquement pour implémentation. Il existe des compilateurs de la norme CORBA pour l’implémentation des programmes codés en Java, en c++, en Python ou encore en Ruby.
La liberté dans la gestion des services
La norme CORBA offre une grande liberté dans la gestion des services. Elle dispose d’un typage de données flexibles qui permet de réduire les erreurs humaines. De plus, grâce aux implémentations adaptées aux langages de programmation, la gestion des threads et des connexions est simplifiée. Les clients peuvent aussi invoquer des objets en local ou à distance, quel que soit leur emplacement.
Qu’est-ce que OMG et IDL ?
L’OMG ou Object Management Group est un consortium composé d’une multitude d’entreprises du domaine de l’informatique et de la technologie. C’est une association à but non lucratif qui se charge de définir des standards dans la conception des logiciels et des matériels informatiques. Créé en 1989, c’est l’OMG qui est à l’origine de la norme CORBA, d’UML et de l’IDL.
IDL est l’acronyme d’Interface Definition Language. C’est un langage qui permet de définir l’interface des composants des logiciels. Il est indépendant des langages de programmation et permet de faire communiquer les objets créés en utilisant ces langages malgré leurs différences. Ce langage a été défini par l’OMG avec la norme CORBA pour faciliter la communication entre les objets avec l’ORB.
Conclusion
En somme, il faut retenir que la norme CORBA est un standard utilisé pour faciliter la communication entre les objets de natures différentes. Créée par l’OMG, cette architecture spécifique fonctionne en suivant quelques principes, dont l’utilisation du langage IDL et des ORB.
Malgré les avancées en programmation au cours de ces dernières années, cette norme continue d’être utilisée dans de nombreux domaines (développement web, programmation en Java, Big data, intelligence artificielle) en raison des avantages qu’elle présente. La norme CORBA fait donc partie des indispensables à maîtriser pour réussir dans ces domaines.