Component Object Model
COM (Component Object Model) -- platforma komponentno-oriientovanogo programuvannia rozroblena v 1993 rotsi kompaniieiu Microsoft; dozvoliaie vikoristannia mizhprotsesnoyi vzaiemodiyi (inter-process communication) ta dinamichnogo stvorennia ob'iektiv u bud'-iakii movi programuvannia, shcho pidtrimuie tekhnologiiu. Vikoristovuiet'sia perevazhno u OS Windows, khocha bula realizovana na dekil'kokh platformakh.
Standart COM buv rozroblenii v 1993 rotsi korporatsiieiu Maikrosoft iak osnova dlia rozvitku tekhnologiyi OLE. Tekhnologiia OLE 1.0 vzhe dozvoliala stvoriuvati tak zvani <
V 1996 rotsi Microsoft sprobuvala pereimenuvati tekhnologiiu OLE v ActiveX, ale tse vdalosia lishe chastkovo. Napriklad, tekhnologiia OLE dozvoliala stvoriuvati tak zvani elementi upravlinnia OLE (angl. OLE Controls, abo OCX) -- povtorno vikoristovuvani elementi priznachenogo dlia interfeisu koristuvacha, iaki buli pobudovani na standarti COM. Tsi elementi upravlinnia OLE buli pereimenovani v elementi upravlinnia ActiveX (angl. ActiveX controls), khocha rozshirennia failiv <<.ocx>> za nimi zalishilosia. Potim Maikrosoft stav aktivno prosuvati ActiveX v Internet, vkliuchivshi pidtrimku elementiv ActiveX v svii populiarnii brauzer Internet Explorer. V rezul'tati nazva OLE zalishilasia til'ki za tekhnologiieiu skladenikh dokumentiv i lokal'nikh uprovadzhuvanikh ob'iektiv. A merezhevi OLE-ob'iekti stali nazivati po-novomu -- ActiveX.
Deiaka plutanina mizh poniattiami OLE i ActiveX zberigaiet'sia dosi, ale mova ide pro ti sami COM-tekhnologiyi. Prichomu, inodi navit' plutaiut' poniattia OLE i COM. Tak, uprovadzhuvani OLE-ob'iekti inodi nazivaiut' COM-ob'iektami, a OLE-konteineri COM-konteinerami toshcho.
Osnovnim poniattiam, iakim operuie tekhnologiia COM, ie COM-komponent. Programi, pobudovani na tekhnologiyi COM, faktichno ne ie avtonomnimi programami, a ie naborom COM-komponentiv, shcho vzaiemodiiut' mizh soboiu. Kozhen komponent maie unikal'nii identifikator (GUID) i mozhe odnochasno vikoristovuvatisia bagat'ma programami. Komponent vzaiemodiie z inshimi programami cherez COM-interfeisi -- nabori abstraktnikh funktsii i vlastivostei. Kozhen COM-komponent maie, iak minimum, pidtrimuvati standartnii interfeis <
Windows API nadaie bazovi funktsiyi, shcho dozvoliaiut' vikoristovuvati COM-komponenti. Biblioteki MFC i, osoblivo, ATL/WTL nadaiut' nabagato gnuchkishi i zruchnishi zasobi dlia roboti z COM. Biblioteka ATL vid Maikrosoft dosi lishaiet'sia naipopuliarnishim zasobom stvorennia COM-komponentiv. Ale, chasto, COM-rozrobka zalishaiet'sia shche dosit' skladnoiu spravoiu, programistam dovodit'sia vruchnu vikonuvati bagato rutinnikh zavdan', pov'iazanikh z COM (osoblivo tse pomitno u razi rozrobki na C++). Zgodom (u tekhnologiiakh COM+ i osoblivo .NET) Maikrosoft sprobuvav sprostiti zavdannia rozrobki COM-komponentiv.
Vipushchena v 1996 rotsi tekhnologiia DCOM (angl. Distributed COM -- rozpodilena COM) zasnovana na tekhnologiyi DCE/RPC (riznovidi RPC) i ie rozvitkom COM. DCOM dozvoliaie COM-komponentam vzaiemodiiati odin z odnim po merezhi. Golovnim konkurentom DCOM ie insha vidoma rozpodilena tekhnologiia -- CORBA.
U skladi Windows 2000 bula vipushchena tekhnologiia COM+, iaka rozshiriuvala mozhlivosti rozrobnikiv COM-komponentiv, nadaiuchi yim deiaki gotovi poslugi, napriklad:
- pokrashchenu pidtrimku nitok;
- dostup do kontekstu, v iakomu vikonuiet'sia komponent (napriklad, komponenti, vikoristani v ASP, mozhut' z tsiieiu mozhlivistiu distati dostup do vnutrishnikh ob'iektiv tiieyi storinki, na iakii voni vikonuiut'sia).
COM+ ob'iednuie komponenti v tak zvani zastosunki COM+, shcho sproshchuie administruvannia i obslugovuvannia komponentiv. Bezpeka i produktivnist' -- osnovni napriami udoskonalen' COM+. Deiaki ideyi, zakladeni v osnovu COM+, buli takozh realizovani v Microsoft .NET.
U 2002 rotsi bula ofitsiino vipushchena platforma Microsoft .NET, iaka na s'ogodnishnii den' ogoloshena Maikrosoftom rekomendovanoiu osnovoiu dlia stvorennia zastosunkiv i komponentiv pid Windows. Z tsiieyi prichini v .NET vkliucheni i zasobi, shcho dozvoliaiut' zvertatisia do komponentiv COM iz zastosunkiv .NET, i navpaki. Za slovami predstavnikiv Maikrosoftu, COM (tochnishe, COM+) i .NET ie vidminno vzaiemno dopovniuvanimi tekhnologiiami. Takozh bulo zaiavleno, shcho Windows Vista bude pobudovana z vikoristanniam tekhnologii .NET i COM+.
- Storinka COM na ofitsiinomu vebsaiti korporatsiyi Maikrosoft [Arkhivovano 14 kvitnia 2011 u Wayback Machine.](angl.)
- Rozdil COM v bibliotetsi MSDN(angl.)
- Rozdil COM+ v bibliotetsi MSDN(angl.)
- Rozdil DCOM v bibliotetsi MSDN(angl.)
- Kontseptsiia COM(angl.)
- Programuvannia COM-interfeisiv [Arkhivovano 21 liutogo 2008 u Wayback Machine.](angl.)
- Pidbirka statei pro COM [Arkhivovano 17 liutogo 2008 u Wayback Machine.](ros.)
| Tse nezavershena stattia pro Microsoft Windows. Vi mozhete dopomogti proiektu, vipravivshi abo dopisavshi yiyi. |