Komponenttiobjektimalli

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 6. toukokuuta 2022 tarkistetusta versiosta . tarkastukset vaativat 4 muokkausta .

COM ( eng.  Component Object Model  "komponenttiobjektimalli"; lausutaan nimellä [com]) on Microsoftin teknologiastandardi , joka on suunniteltu luomaan ohjelmistoja , jotka perustuvat vuorovaikutuksessa oleviin komponentteihin, joista kutakin voidaan käyttää useissa ohjelmissa samanaikaisesti [1] . Standardi ilmentää ajatuksia polymorfismista ja olio-ohjelmoinnin kapseloinnista . COM-standardi voisi olla universaali ja monialustainen , mutta se pysyi pääasiassa Microsoft Windows -perheen käyttöjärjestelmissä . Nykyaikaisissa Windowsin versioissa COM on käytössä erittäin laajalti. COM-pohjaisia ​​tekniikoita on otettu käyttöön: Microsoft OLE Automation , ActiveX , DCOM , COM+ , DirectX ja XPCOM .

COM:n historia

Microsoft kehitti COM-standardin vuonna 1993 OLE-teknologian kehittämisen perustaksi . OLE 1.0 -teknologia mahdollisti jo ns. " yhdistelmädokumentit " ( eng.  yhdistelmädokumentit ) : esimerkiksi Microsoft Office - paketissa tämä tekniikka mahdollisti Microsoft Excel - kaavioiden sisällyttämisen Microsoft Word - asiakirjoihin .

Nimien hämmennys

Vuonna 1996 Microsoft yritti nimetä OLE-teknologian uudelleen ActiveX:ksi, mutta tämä onnistui vain osittain. Esimerkiksi OLE-teknologia mahdollisti ns. OLE-ohjaimien ( englanniksi  OLE Controls tai OCX ) luomisen – uudelleenkäytettävien käyttöliittymäelementtien , jotka on rakennettu COM-standardin varaan. Nämä OLE-ohjaimet on nimetty uudelleen ActiveX - komponenteiksi , vaikka ne säilyttävät tiedostotunnisteen " " .  Microsoft alkoi sitten aktiivisesti mainostaa ActiveX:ää Internetissä sisällyttämällä ActiveX-komponenttien tuen Internet Explorer -selaimeensa . Tämän seurauksena OLE -nimi säilyi vain yhdistelmädokumenttien ja paikallisten sulautettujen objektien tekniikalla. Ja verkon OLE-objekteja alettiin kutsua uudella tavalla - ActiveX. .ocx

Jonkin verran sekaannusta OLE:n ja ActiveX:n käsitteiden välillä on vielä tänäkin päivänä, mutta puhumme samoista COM-tekniikoista. Ja joskus he jopa sekoittavat OLE:n ja COM:n käsitteet. Esimerkiksi upotettuja OLE-objekteja kutsutaan joskus COM-objekteiksi, ja OLE-säilöjä kutsutaan joskus COM-säilöiksi ja niin edelleen.

Windows-tuki

Miten COM toimii

Pääkonsepti, jolla COM-standardi toimii, on COM-komponentti . COM-standardin varaan rakennetut ohjelmat eivät itse asiassa ole itsenäisiä ohjelmia, vaan pikemminkin joukko vuorovaikutuksessa olevia COM-komponentteja. Jokaisella komponentilla on yksilöllinen tunniste ( GUID ), ja useat ohjelmat voivat käyttää sitä samanaikaisesti. Komponentti on vuorovaikutuksessa muiden ohjelmien kanssa COM-liitäntöjen  - abstraktien funktioiden ja ominaisuuksien joukkojen kautta. Jokaisen COM-komponentin tulee toteuttaa vähintään standardi " IUnknown" -liitäntä, joka tarjoaa peruskeinot komponentin kanssa työskentelyyn. Käyttöliittymä IUnknownsisältää kolme menetelmää: QueryInterface, AddRef, Release.

Windows API tarjoaa perustoiminnot, joiden avulla voit käyttää COM-komponentteja. MFC - kirjastot ja erityisesti ATL / WTL tarjoavat joustavampia ja kätevämpiä tapoja työskennellä COM:n kanssa. Microsoftin ATL on edelleen suosituin työkalu COM-komponenttien luomiseen. Mutta usein COM-kehitys on silti melko monimutkaista, ohjelmoijien on suoritettava manuaalisesti monia rutiinitehtäviä, jotka liittyvät COM:iin (tämä on erityisen havaittavissa C++- kehityksen tapauksessa ). Myöhemmin (COM+- ja erityisesti .NET -tekniikoissa ) Microsoft yritti yksinkertaistaa COM-komponenttien kehittämistä.

COM-standardiin perustuvat tekniikat

DCOM

Vuonna 1996 julkaistu DCOM ( Distributed COM )  -tekniikka  perustuu DCE/RPC -tekniikkaan ( RPC :n muunnelma ). DCOM mahdollistaa COM-komponenttien kommunikoinnin toistensa kanssa verkon kautta . DCOM:n pääkilpailija on toinen tunnettu hajautettu teknologia - CORBA .

Sekä DCOM että CORBA ratkaisevat menetelmän kutsumisen toisessa koneessa sijaitsevassa objektissa sekä viittauksen välittämiseen objektiin koneelta toiselle.

DCOM-verkkokerrosta kutsutaan ORPC:ksi (Object RPC) ja se on DCE RPC:n oliopohjainen laajennus.

DCOM-tekniikka tarjoaa perussuojausasetukset, joiden avulla voit määrittää, kuka ja mistä koneista voi luoda objektin esiintymiä ja kutsua sen menetelmiä.

COM+

Microsoft Transaction Server sisällytettiin Windows NT4:n Option Pack -pakettiin vuonna 1997.

Windows 2000 julkaisi COM+ -tekniikan, joka oli uusi versio Microsoft Transaction Serveristä.

Tekniikka antoi COM-komponenttien kehittäjille mahdollisuuden tarjota heille valmiita palveluita, kuten:

MTS/COM+:aa käytettiin useissa MS IIS -verkkopalvelimen versioissa verkkosovellusten lataamiseen ja suorittamiseen, sekä binaarisina ISAPI -teknologiaa käyttävinä että komentosarjoina ASP-tekniikalla (asp.dll itsessään on ISAPI-sovellus).

COM+ yhdistää komponentit niin sanotuiksi COM+-sovelluksiksi , mikä helpottaa komponenttien hallintaa ja ylläpitoa. Tietoturva ja suorituskyky ovat COM+:n tärkeimmät parannuskohteet. Jotkut COM+:n takana olevista ideoista on toteutettu myös Microsoft .NET :ssä .

.NET ja COM:n tulevaisuus

Vuonna 2002 Microsoft julkaistiin virallisesti .NET -alusta , jonka Microsoft on tänään julistanut suositelluksi kehykseksi sovellusten ja komponenttien luomiseen Windowsille. Tästä syystä .NET sisältää myös työkaluja, joiden avulla voit käyttää COM-komponentteja .NET -sovelluksista ja päinvastoin. Microsoftin mukaan COM (tarkemmin sanottuna COM+) ja .NET ovat erinomaisia ​​toisiaan täydentäviä teknologioita.

DCOM Internetin kautta ja ratkaisu XP SP2 -ongelmaan

Vuonna 2009 DComLab julkaisi kaupallisen tuotteen ComBridge. Kun käytät ComBridgea työskentelemään DCOM:n kautta Internetin kautta, CIS:ää ei tarvita, porttia 135 ei käytetä eikä dcomcnfg-asetuksia vaadita paikallisessa verkossa. ComBridge on sisäänrakennettu DCOM-siirtokerrokseen, ja se erottaa kokonaan luodun objektin liikenteen ja kaikki siitä vastaanotetut objektit erilliseksi virraksi.

OPC

OPC (OLE for Process Control) on ohjelmistoteknologioiden perhe, joka tarjoaa yhden rajapinnan automaatioobjektien ja teknisten prosessien hallintaan. Monet OPC-protokollat ​​perustuvat Windows-teknologioihin: OLE, ActiveX, COM/DCOM. OPC-protokollat, kuten OPC XML DA ja OPC UA, ovat alustariippumattomia.

OLE

OLE ( Object Linking and Embedding "  objektien linkitys ja upottaminen"; lausutaan [oh-lay], [oley]) on tekniikka, jolla linkitetään ja upotetaan esineitä muihin asiakirjoihin ja Microsoftin kehittämiin objekteihin.

OLE:n avulla voit siirtää osan työstä editointiohjelmasta toiseen ja palauttaa tulokset takaisin. Esimerkiksi henkilökohtaiseen tietokoneeseen asennettu julkaisujärjestelmä voi lähettää tekstiä käsiteltäväksi tekstieditoriin tai kuvan kuvankäsittelyohjelmaan OLE-tekniikalla.

Muistiinpanot

  1. COM-tekniikka . Haettu 26. tammikuuta 2022. Arkistoitu alkuperäisestä 26. tammikuuta 2022.
  2. Hallitse COM+ -sovelluksia . Microsoft TechNet . Microsoft Corp. (22. helmikuuta 2013). Haettu 31. elokuuta 2018. Arkistoitu alkuperäisestä 23. tammikuuta 2012.
  3. Windows Server 2012 R2:ssa poistettuja tai käytöstä poistettuja ominaisuuksia . Microsoft TechNet . Microsoft Corp. (31. elokuuta 2016). Haettu 31. elokuuta 2018. Arkistoitu alkuperäisestä 8. helmikuuta 2015.

Linkit

Kirjallisuus