Vous êtes ici

Architectures réparties

Architectures réparties

Corba/Tango

TANGO est un système de contrôle-commande distribué, orienté objets. C'est un bus logiciel permettant de connecter les objets matériels et logiciels grâce à la technologie CORBA. Les éléments, devices, peuvent être situés sur le même ordinateur ou bien répartis sur des ordinateurs connectés par un réseau. La programmation peut se faire en C++, Java et Python.
TANGO fournissant les librairies permettant de masquer les détails d'accès au réseau et permettant d'utiliser les objets.

TANGO fonctionne sur le principe d'un bus logiciel. On appelle bus, en informatique, un ensemble de liaisons (câbles, pistes de circuits imprimés, etc...) pouvant être exploitées en commun par plusieurs éléments afin de communiquer.
Tous les éléments connectés au bus vont pouvoir dialoguer ensemble. Ainsi, les applications de configuration, supervision (surveillance de l'état de certains appareils), interfaces d'expérience,... vont communiquer entre-elles, mais également avec l'ensemble des éléments matériels. Les éléments matériels sont connectés à ce bus grâce à une application serveur appelée "device server" qui possède les interfaces TANGO. Pour chaque device server, le programmeur dispose de méthodes et d'attributs génériques et peut écrire des méthodes et attributs spécifiques. Une partie du code peut être générée automatiquement à l'aide des outils fournis. Il suffit d'ajouter le code permettant le contrôle du matériel. Ce code peut accéder au système de contrôle (dll, librairies, commandes RS232, GPIB, ...) fournis par le constructeur.
Ainsi des matériels hétérogènes peuvent être connectés au bus TANGO et dialoguer ensemble, sans que cette diversité soit visible par l'utilisateur final, qui dispose de méthodes et attributs bien référencés et accessibles.

COM/DCOM

La technologie COM (Component Object Model) permet à des composants logiciels de communiquer. COM est utilisé, par les développeurs, pour créer des composants logiciels ré-utilisables, pour créer des applications réparties à partir de composants liés entre eux, et de tirer profit des services Windows. La famille des technologies COM comprend COM, COM+, Distributed COM (DCOM) et des contrôles ActiveX Microsoft fournit un standard de communication entre les différentes applications qui voulaient être OLE. Ce standard de communication, définit la méthode à employer pour accéder aux fonctionnalités des objets OLE, ainsi que les principaux services qui peuvent être nécessaires lors de l'intégration d'objets. Les programmeurs désirant réaliser une application OLE devaient se conformer au protocole d'appel du standard et fournir un certain nombre des services définis dans OLE. Ce standard a été conçu de manière ouverte, c'est à dire qu'il n'est pas nécessaire de fournir tous les services définis dans OLE pour être fonctionnel. Cependant, plus un objet OLE offre de services, meilleure son intégration est. De même, plus une application est capable d'utiliser des services, plus elle est fonctionnelle avec les objets qui fournissent ces services. Par ailleurs, il est possible de définir des services différents de ceux définis dans OLE, le système est donc également extensible. Le standard de communication qui a été défini se nomme COM, ce qui signifie Component Object Model, ou Modèle Objet de Composants. La plupart des services sont définis dans OLE, cependant, COM lui-même utilise un certain nombre de services. La limite entre ce qui est défini par COM et ce qui est défini par OLE est donc floue, mais en principe, les services COM sont tous des services systèmes.

Avec DCOM Microsoft a ensuite complété la technologie COM afin de permettre la répartition des composants sur un réseau. L'aspect distribué des composants COM ainsi répartis a donné le nom à cette extension de COM, que l'on appelle simplement DCOM (pour Distributed COM). Dans la suite du document, on considérera que COM est distribué, on utilisera donc systématiquement le terme DCOM.