-
intérêt de corba
Bonjour
je débute en corba et je veux savoir quels étaient les buts qui ont poussé a créer cette norme (et les normes qu'ils l'ont précédé comme RPC et RMI...).Est ce que c'est de faire la séparation complète entre la parie client et la partie serveur et ainsi concevoir une application parfaitement maintenable et évolutive ou pour d'autres raisons?
je vous remercie.
-
Bonjour,
Oui, essentiellement pour pouvoir séparer le client et le serveur sur différentes machines, et normaliser le protocole de communication entre eux (IIOP...), garantissant ainsi l'interopérabilité entre client et serveur, même s'ils utilisent des implémentations différentes du middleware.
Ces normes définissent aussi une API (principalement générée depuis l'IDL) qui masque la majorité des détails de communication à l'application. Ainsi, le client n'a même pas besoin de savoir si le serveur est local ou distant; son code reste le même.
Par rapport aux autres technologies, CORBA est multi-langage (Java, C, C++, Ada...) et multi-OS (Windows, Linux, VX-works...). Et il offre aussi des spécifications de services annexes utiles aux applications distribuées (service de nomage, d'événements, de tolérance au fautes, modèle de composants...)
-
merci
mais je me demande si l'utilisation de corba comme pivot entre le client et le serveur va diminuer le performance de l'application (la rapidité d'exécution en particulier).
-
En terme de temps d'exécution, le surcoût de CORBA ne sera que à l'initialisation (création de l'ORB, mise en place du serveur, connection du client...) et pour les appels du client vers le serveur (i.e. tout traitement en interne côté client ou côté serveur ne sera pas impacté).
Mais ce surcoût est souvent négligeable face au délai de transmission du réseau (même sur un LAN). Et de toutes façon, pour une application distribuée, on peut difficilement raccourcir ce délai...
Après, il y a forcément un surcoût en terme d'empreinte mémoire et de place disque (taille des librairies). Ce surcoût dépend essentiellement de l'implémentation CORBA utilisée.