Hoppa till innehållet

Component Object Model

Från Wikipedia
Version från den 5 december 2005 kl. 00.11 av E70 (Diskussion | Bidrag)

Component Object Model eller COM är en plattformsoberoende och språkoberoende teknik för att kommunicera mellan objekt inom eller mellan program. För att ett klientprogram ska veta vilka funktioner som finns, definierar serverprogrammet ett gränssnitt som klientprogrammet måste känna till. Programmen kommunicerar sedan via detta gränssnitt.

COM-gränsnittet är en binär standard, vilket innebär att klienten får minnesadresserna till serverns funktioner, samt hur åtkomsten till dessa ska gå till. Det innebär att COM blir 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åkoberoendet ska tas med en nypa salt då det bäst 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 kommunicera mellan datorer med hjälp av DCOM (Distributed COM).

Historia

COM är en utvidgning av OLE, Object Linking and Embeddning, tekniken vilken introducerades i Windows 3.x. Tekniken introducerades 1995 som ett tillägg till Windows 95. Under åren som följde användes ibland namnet ActiveX för det som senare kom att kallas COM.

Versioner av COM

COM och .NET?

Kommer COM att dö ut i samband med .NET? Förmodligen inte under överskådlig tid då mycket av den funktionalitet som finns i COM/COM+ idag, såsom transaktionshantering, objekt pooling etc, kan användas i .NET komponenter. .NET komponenter kan "registreras" som COM+ komponenter och vice versa vilket innebär att dessa två olika tekniker kan samexistera och dra nytta av varandra.

Produktstöd för COM

Idag finns det stöd för COM i Microsoft Windows 95/98/Me, 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.

Tillämpningar av COM