Clientes e servidores COM

Um aspecto crítico do COM é como clientes e servidores interagem. Um cliente COM é qualquer código ou objeto que obtém um ponteiro para um servidor COM e usa seus serviços chamando os métodos de suas interfaces. Um servidor COM é qualquer objeto que fornece serviços a clientes, esses serviços estão na forma de implementações de interface COM que podem ser chamadas por qualquer cliente que seja capaz de obter um ponteiro para uma das interfaces no objeto de servidor .

Existem dois tipos principais de servidores, em processo e fora de processo. Os servidores em processo são implementados em uma biblioteca de vínculo dinâmico (DLL) e os servidores fora de processo são implementados em um arquivo executável (EXE). Os servidores fora do processo podem residir no computador local ou em um computador remoto. Além disso, o COM fornece um mecanismo que permite que um servidor em processo (uma DLL) seja executado em um processo EXE substituto para obter a vantagem de poder executar o processo em um computador remoto. Para obter mais informações, consulte Substitutos de DLL.

O modelo de programação COM e as construções agora foram estendidos para que os clientes e servidores COM possam trabalhar juntos em toda a rede, não apenas em um determinado computador. Isso permite que os aplicativos existentes interajam com novos aplicativos e entre si em redes com administração adequada, e novos aplicativos podem ser gravados para aproveitar os recursos de rede.

Os aplicativos cliente COM não precisam estar cientes de como os objetos de servidor são empacotados, sejam eles empacotados como objetos em processo (em DLLs) ou como objetos locais ou remotos (em EXEs). O COM distribuído permite ainda que os objetos sejam empacotados como aplicativos de serviço, sincronizando o COM com os recursos avançados administrativos e de integração de sistemas do Windows.

Observação

Ao longo desta documentação, a sigla COM é usada preferencialmente para DCOM. Isso ocorre porque o DCOM não é separado; é apenas COM com um fio mais longo. Nos casos em que o que está sendo descrito é especificamente uma operação remota, o termo COM distribuído é usado.

 

COM é projetado para tornar possível adicionar o suporte para transparência de localização que se estende por toda a rede. Ele permite que aplicativos escritos para computadores individuais sejam executados em uma rede e fornece recursos que estendem esses recursos e aumentam a segurança necessária em uma rede. (Para obter mais informações, consulte Segurança em COM.)

COM especifica um mecanismo pelo qual o código de classe pode ser usado por muitos aplicativos diferentes.

Para Mais informações, consulte os seguintes tópicos:

Sincronização de chamadas

Segurança em COM