Component Object Model
Component Object Model, afgekort met COM, is door Microsoft ontwikkeld en in 1993 voor het eerst uitgebracht. COM is een software-architectuur om de ontwikkeling van component-gebaseerde toepassingen te ondersteunen. Het doel van de COM-architectuur is om ontwikkelaars te stimuleren om herbruikbare softwarecomponenten te laten maken. Tegenhangers van COM zijn de JavaBeans en CORBA.

Concept
De werking van COM-objecten is vergelijkbaar met die van objecten in een object-georiënteerde programmeertaal. Een COM-object bevat een interface, waarin gedefinieerd is welke hoofdfunctionaliteiten het COM-object heeft. Het gebruiken van het COM-object door andere objecten verloopt dan ook via de functies in de COM-interface. De interne werking van het COM-object blijft verborgen voor gebruikers.  Omdat de werking en het gebruik van COM-objecten zoveel lijkt op de manier van programmeren in een OO-taal, zijn COM-objecten ook goed te gebruiken in een dergelijke omgeving.

Geschiedenis
1991 - De eerste implementatie voor een object-georiënteerd raamwerk van Microsoft was Object Linking and Embedding (OLE). OLE is ontwikkeld boven op DDE, dynamic data exchange en werd voornamelijk gebruikt in samengestelde documenten. In eerste instantie werd OLE alleen in de eerste versies van Word en Excel gebruikt. OLE maakte het bijvoorbeeld mogelijk dat een Excel-sheet geïmporteerd kon worden in Word-document. Later is het OLE-systeem ook in Windows zelf geïmplementeerd (1992), namelijk Windows 3.1.

1993 - Eerste uitgave van COM, als onderliggende structuur voor OLE2. Waar OLE1 nog alleen met documenten om kon gaan, moest de opvolger OLE2 in combinatie met COM, met software componenten in het algemeen werken.

1995/ 1996 - Uitbreiding van COM naar DCOM, als antwoord op CORBA. In dezelfde lijn van ontwikkeling werd eerder al OLE2, inmiddels simpelweg OLE genoemd, vervangen door ActiveX. In eerste instantie werden alleen internetcomponenten door ActiveX vervangen. Later de overige OLE-componenten, met uitzondering van de componenten die communicatie tussen Office documenttypen behandelden. 

Toekomst - Microsoft zal minder aandacht gaan hebben voor de verdere ontwikkeling van COM, maar zal zich meer richten op de ontwikkeling van .NET, als vervanger van COM.

Varianten
COM+ - uitbreiding op originele COM, uitgegeven met Windows 2000.
Distributed component object model (DCOM) - als uitbreiding op COM uitgegeven in 1995. Deze variant is ontwikkeld om ook functionaliteit te bieden over netwerken.

Technische informatica