Component Object Model
COM eller Component Object Model är en plattformsoberoende och språkoberoende teknik för att kommunisera mellan objekt innom eller mellan program. För att ett klientprogram ska veta vilka funktioner som finns definera serverprogrammet ett interfas som klientprogrammet måste känna till. Programmen kommunisera sedan via detta interfase.
COM är en binär standard vilket innebär att standarden är oberoende av språk och platform. Det används dock mestadels i Windows, men möjlighet att köra under Linux/Unix finns. Även språkoberoende ska tas med en nypa sallt då det bässt implementeras under C++. Det går dock (med vissa begränsningar) även använda under andra språk såsom Visual Basic, Small Talk, Java etc.
COM kan bara användas lokalt på en dator, men stöd finns för att kommunisera mellan datorer m.h.a. DCOM (Distributed COM)
Historia
COM är en utvidgning av OLE, Object Linking and Embeddning, tekniken vilken introducerades i Windows 3.x. Tekniken introduserades 1995 som ett tilläg till Windows 95.
Versioner av COM
- COM - utvidninging av OLE. Blev populär tillsammans med MTS i Windows NT
- COM+ 1.0 - introducerades med Windows 2000
- COM+ 1.5 - introducerades med Windows XP
COM och .NET?
Kommer COM att dö ut i samband med .NET? Förmodligen inte under överskådlig tid då mycket av den funktionlitet som finns i COM/COM+ idag såsom; transaktionshantering, objekt poolning etc kan användas i .NET komponenter. .NET komponenter kan "registreras" såsom COM+ komponenter och vise versa vilket innebär att dessa två olika tekniker enkelt kan samexistera och dra nytta av varandra.
Produktstöd för COM
Idag finns det stöd för COM i Microsoft Windows 9x, Windows NT/2000/2003, Apple Macintosh samt flera varianter av UNIX.
För att använda COM under Unix/Linux finns produkten [EntireX] som inehåller stora delar av WIN32API.