Clients et serveurs COM
Un aspect critique de COM est la façon dont les clients et les serveurs interagissent. Un client COM est un code ou un objet qui obtient un pointeur vers un serveur COM et utilise ses services en appelant les méthodes de ses interfaces. Un serveur COM est un objet qui fournit des services aux clients ; ces services se présentent sous la forme d’implémentations d’interface COM qui peuvent être appelées par n’importe quel client capable d’obtenir un pointeur vers l’une des interfaces sur l’objet serveur.
Il existe deux types main de serveurs, in-process et out-of-process. Les serveurs in-process sont implémentés dans une bibliothèque liée dynamique (DLL), et les serveurs hors processus sont implémentés dans un fichier exécutable (EXE). Les serveurs hors processus peuvent résider sur l’ordinateur local ou sur un ordinateur distant. En outre, COM fournit un mécanisme qui permet à un serveur in-process (dll) de s’exécuter dans un processus EXE de substitution pour tirer l’avantage de pouvoir exécuter le processus sur un ordinateur distant. Pour plus d’informations, consultez Surrogates DLL.
Le modèle et les constructions de programmation COM ont maintenant été étendus afin que les clients et les serveurs COM puissent fonctionner ensemble sur le réseau, et pas seulement au sein d’un ordinateur donné. Cela permet aux applications existantes d’interagir avec de nouvelles applications et entre elles sur des réseaux avec une administration appropriée, et de nouvelles applications peuvent être écrites pour tirer parti des fonctionnalités réseau.
Les applications clientes COM n’ont pas besoin de savoir comment les objets serveur sont empaquetés, qu’ils soient empaquetés en tant qu’objets in-process (dans des DLL) ou en tant qu’objets locaux ou distants (dans exes). Le COM distribué permet en outre de empaqueté des objets en tant qu’applications de service, en synchronisant COM avec les fonctionnalités d’administration et d’intégration système de Windows.
Notes
Dans cette documentation, l’acronyme COM est utilisé de préférence pour DCOM. Cela est dû au fait que DCOM n’est pas séparé; il s’agit simplement de COM avec un câble plus long. Dans les cas où ce qui est décrit est spécifiquement une opération distante, le terme COM distribué est utilisé.
COM est conçu pour permettre d’ajouter la prise en charge de la transparence de l’emplacement qui s’étend sur un réseau. Il permet aux applications écrites pour des ordinateurs uniques de s’exécuter sur un réseau et fournit des fonctionnalités qui étendent ces fonctionnalités et ajoutent à la sécurité nécessaire dans un réseau. (Pour plus d’informations, consultez Sécurité dans COM.)
COM spécifie un mécanisme par lequel le code de classe peut être utilisé par de nombreuses applications différentes.
Pour plus d'informations, voir les rubriques suivantes :
- Obtention d’un pointeur vers un objet
- Création d’un objet via un objet de classe
- Responsabilités du serveur COM
- État de l’objet persistant
- Fourniture d’informations sur la classe
- Communication inter-objet
Rubriques connexes