Delen via


COM-clients en -servers

Een essentieel aspect van COM is de interactie tussen clients en servers. Een COM-client is elke code of het object krijgt een aanwijzer naar een COM-server en gebruikt de bijbehorende services door de methoden van de interfaces aan te roepen. Een COM-server is een object dat services aan clients levert; deze services hebben de vorm van COM-interface-implementaties die kunnen worden aangeroepen door elke client die een aanwijzer naar een van de interfaces op het serverobject kan krijgen.

Er zijn twee hoofdtypen servers, in-process en out-of-process. In-process servers worden geïmplementeerd in een dynamische gekoppelde bibliotheek (DLL) en out-of-process servers worden geïmplementeerd in een uitvoerbaar bestand (EXE). Niet-verwerkte servers kunnen zich op de lokale computer of op een externe computer bevinden. Daarnaast biedt COM een mechanisme waarmee een in-process server (een DLL) kan worden uitgevoerd in een surrogaat EXE-proces om het voordeel te krijgen dat het proces op een externe computer kan worden uitgevoerd. Zie DLL-surrogatenvoor meer informatie.

Het COM-programmeermodel en de constructies zijn nu uitgebreid, zodat COM-clients en -servers kunnen samenwerken via het netwerk, niet alleen binnen een bepaalde computer. Hierdoor kunnen bestaande toepassingen communiceren met nieuwe toepassingen en met elkaar in netwerken met het juiste beheer en kunnen nieuwe toepassingen worden geschreven om te profiteren van netwerkfuncties.

COM-clienttoepassingen hoeven niet te weten hoe serverobjecten worden verpakt, ongeacht of ze zijn verpakt als in-process objecten (in DLL's) of als lokale of externe objecten (in EXE's). Met gedistribueerde COM kunnen objecten verder worden verpakt als servicetoepassingen, waarbij COM wordt gesynchroniseerd met de uitgebreide beheer- en systeemintegratiemogelijkheden van Windows.

Notitie

In deze documentatie wordt de acroniem COM gebruikt in voorkeur voor DCOM. Dit komt doordat DCOM niet gescheiden is; het is gewoon COM met een langere draad. In gevallen waarin wat wordt beschreven specifiek een externe bewerking is, wordt de term gedistribueerde COM- gebruikt.

 

COM is ontworpen om de ondersteuning toe te voegen voor locatietransparantie die zich over een netwerk uitbreidt. Hiermee kunnen toepassingen die zijn geschreven voor één computer, worden uitgevoerd in een netwerk en functies bieden die deze mogelijkheden uitbreiden en toevoegen aan de beveiliging die nodig is in een netwerk. (Zie Beveiliging in COMvoor meer informatie.)

COM geeft een mechanisme aan waarmee de klassecode door veel verschillende toepassingen kan worden gebruikt.

Zie de volgende onderwerpen voor meer informatie:

gesprekssynchronisatie

Beveiliging in COM-