Client e server COM

Un aspetto critico di COM è il modo in cui i client e i server interagiscono. Un client COM è qualsiasi codice o oggetto ottiene un puntatore a un server COM e usa i servizi chiamando i metodi delle relative interfacce. Un server COM è qualsiasi oggetto che fornisce servizi ai client. Questi servizi sono sotto forma di implementazioni dell'interfaccia COM che possono essere chiamate da qualsiasi client in grado di ottenere un puntatore a una delle interfacce nell'oggetto server.

Esistono due tipi principali di server, in-process e out-of-process. I server in-process vengono implementati in una libreria collegata dinamica (DLL) e i server out-of-process vengono implementati in un file eseguibile (EXE). I server out-of-process possono risiedere nel computer locale o in un computer remoto. COM fornisce inoltre un meccanismo che consente l'esecuzione di un server in-process (una DLL) in un processo EXE surrogato per sfruttare il vantaggio di poter eseguire il processo in un computer remoto. Per altre informazioni, vedere Surrogati DLL.

Il modello di programmazione COM e i costrutti sono stati estesi in modo che i client e i server COM possano lavorare insieme in rete, non solo all'interno di un determinato computer. Ciò consente alle applicazioni esistenti di interagire con nuove applicazioni e tra loro tra reti con l'amministrazione appropriata e le nuove applicazioni possono essere scritte per sfruttare i vantaggi delle funzionalità di rete.

Le applicazioni client COM non devono essere consapevoli del modo in cui gli oggetti server vengono inseriti nel pacchetto, indipendentemente dal fatto che vengano inseriti come oggetti in-process (nelle DLL) o come oggetti locali o remoti (in EXEs). COM distribuito consente inoltre di creare pacchetti di oggetti come applicazioni di servizio, sincronizzando COM con le avanzate funzionalità amministrative e di integrazione del sistema di Windows.

Nota

In questa documentazione l'acronimo COM viene usato in preferenza per DCOM. Ciò è dovuto al fatto che DCOM non è separato; è solo COM con un filo più lungo. Nei casi in cui ciò che viene descritto è in particolare un'operazione remota, viene usato il termine COM distribuito.

 

COM è progettato per consentire l'aggiunta del supporto per la trasparenza della posizione che si estende attraverso una rete. Consente alle applicazioni scritte per i singoli computer di essere eseguite in una rete e fornisce funzionalità che estendono queste funzionalità e aggiungono alla sicurezza necessaria in una rete. Per altre informazioni, vedere Sicurezza in COM.

COM specifica un meccanismo in base al quale il codice di classe può essere usato da molte applicazioni diverse.

Per ulteriori informazioni, vedi gli argomenti seguenti:

Sincronizzazione delle chiamate

Sicurezza in COM