COM (Component Object Model) — платформа компонентно-орієнтованого програмування розроблена в 1993 році компанією Microsoft; дозволяє використання міжпроцесної взаємодії (inter-process communication) та динамічного створення об'єктів у будь-якій мові програмування, що підтримує технологію. Використовується переважно у ОС Windows, хоча була реалізована на декількох платформах.
Історія
Стандарт COM був розроблений в 1993 році корпорацією Майкрософт як основа для розвитку технології OLE. Технологія OLE 1.0 вже дозволяла створювати так звані «складені документи» (англ. compound documents): наприклад, в пакеті Microsoft Office ця технологія дозволяла включати діаграми Microsoft Excel в документи Microsoft Word). Стандарт COM мав уніфікувати процес створення, впровадження і скріплення таких упроваджуваних об'єктів, а також стандартизувати розробку застосунків, що використовують упроваджувані об'єкти.
Плутанина в назвах
В 1996 році Microsoft спробувала перейменувати технологію OLE в ActiveX, але це вдалося лише частково. Наприклад, технологія OLE дозволяла створювати так звані елементи управління OLE (англ. OLE Controls, або OCX) — повторно використовувані елементи призначеного для інтерфейсу користувача, які були побудовані на стандарті COM. Ці елементи управління OLE були перейменовані в елементи управління ActiveX (англ. ActiveX controls), хоча розширення файлів «.ocx» за ними залишилося. Потім Майкрософт став активно просувати ActiveX в Інтернет, включивши підтримку елементів ActiveX в свій популярний браузер Internet Explorer. В результаті назва OLE залишилася тільки за технологією складених документів і локальних упроваджуваних об'єктів. А мережеві OLE-об'єкти стали називати по-новому — ActiveX.
Деяка плутанина між поняттями OLE і ActiveX зберігається досі, але мова йде про ті самі COM-технології. Причому, іноді навіть плутають поняття OLE і COM. Так, упроваджувані OLE-об'єкти іноді називають COM-об'єктами, а OLE-контейнери COM-контейнерами тощо.
Принципи роботи COM
Основним поняттям, яким оперує технологія COM, є COM-компонент. Програми, побудовані на технології COM, фактично не є автономними програмами, а є набором COM-компонентів, що взаємодіють між собою. Кожен компонент має унікальний ідентифікатор (GUID) і може одночасно використовуватися багатьма програмами. Компонент взаємодіє з іншими програмами через COM-інтерфейси — набори абстрактних функцій і властивостей. Кожен COM-компонент має, як мінімум, підтримувати стандартний інтерфейс «IUnknown», який надає базові засоби для роботи з компонентом.
Windows API надає базові функції, що дозволяють використовувати COM-компоненти. Бібліотеки MFC і, особливо, ATL/WTL надають набагато гнучкіші і зручніші засоби для роботи з COM. Бібліотека ATL від Майкрософт досі лишається найпопулярнішим засобом створення COM-компонентів. Але, часто, COM-розробка залишається ще досить складною справою, програмістам доводиться вручну виконувати багато рутинних завдань, пов'язаних з COM (особливо це помітно у разі розробки на ). Згодом (у технологіях COM+ і особливо .NET) Майкрософт спробував спростити завдання розробки COM-компонентів.
Розвиток COM
DCOM
Випущена в 1996 році технологія DCOM (англ. Distributed COM — розподілена COM) заснована на технології (DCE/RPC) (різновиди RPC) і є розвитком COM. DCOM дозволяє COM-компонентам взаємодіяти один з одним по мережі. Головним конкурентом DCOM є інша відома розподілена технологія — CORBA.
COM+
У складі Windows 2000 була випущена технологія COM+, яка розширювала можливості розробників COM-компонентів, надаючи їм деякі готові послуги, наприклад:
- покращену підтримку ниток;
- доступ до контексту, в якому виконується компонент (наприклад, компоненти, використані в ASP, можуть з цією можливістю дістати доступ до внутрішніх об'єктів тієї сторінки, на якій вони виконуються).
COM+ об'єднує компоненти в так звані застосунки COM+, що спрощує адміністрування і обслуговування компонентів. Безпека і продуктивність — основні напрями удосконалень COM+. Деякі ідеї, закладені в основу COM+, були також реалізовані в Microsoft .NET.
.NET і майбутнє COM
У 2002 році була офіційно випущена платформа Microsoft .NET, яка на сьогоднішній день оголошена Майкрософтом рекомендованою основою для створення застосунків і компонентів під Windows. З цієї причини в .NET включені і засоби, що дозволяють звертатися до компонентів COM із застосунків .NET, і навпаки. За словами представників Майкрософту, COM (точніше, COM+) і .NET є відмінно взаємно доповнюваними технологіями. Також було заявлено, що Windows Vista буде побудована з використанням технологій .NET і COM+.
Див. також
Посилання
- Сторінка COM на офіційному вебсайті корпорації Майкрософт [ 14 квітня 2011 у Wayback Machine.](англ.)
- (англ.)
- (англ.)
- (англ.)
- (англ.)
- Програмування COM-інтерфейсів [ 21 лютого 2008 у Wayback Machine.](англ.)
- Підбірка статей про COM [ 17 лютого 2008 у Wayback Machine.](рос.)
Це незавершена стаття про Microsoft Windows. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
U Vikipediyi ye statti pro inshi znachennya cogo termina COM COM Component Object Model platforma komponentno oriyentovanogo programuvannya rozroblena v 1993 roci kompaniyeyu Microsoft dozvolyaye vikoristannya mizhprocesnoyi vzayemodiyi inter process communication ta dinamichnogo stvorennya ob yektiv u bud yakij movi programuvannya sho pidtrimuye tehnologiyu Vikoristovuyetsya perevazhno u OS Windows hocha bula realizovana na dekilkoh platformah IstoriyaStandart COM buv rozroblenij v 1993 roci korporaciyeyu Majkrosoft yak osnova dlya rozvitku tehnologiyi OLE Tehnologiya OLE 1 0 vzhe dozvolyala stvoryuvati tak zvani skladeni dokumenti angl compound documents napriklad v paketi Microsoft Office cya tehnologiya dozvolyala vklyuchati diagrami Microsoft Excel v dokumenti Microsoft Word Standart COM mav unifikuvati proces stvorennya vprovadzhennya i skriplennya takih uprovadzhuvanih ob yektiv a takozh standartizuvati rozrobku zastosunkiv sho vikoristovuyut uprovadzhuvani ob yekti Plutanina v nazvah V 1996 roci Microsoft sprobuvala perejmenuvati tehnologiyu OLE v ActiveX ale ce vdalosya lishe chastkovo Napriklad tehnologiya OLE dozvolyala stvoryuvati tak zvani elementi upravlinnya OLE angl OLE Controls abo OCX povtorno vikoristovuvani elementi priznachenogo dlya interfejsu koristuvacha yaki buli pobudovani na standarti COM Ci elementi upravlinnya OLE buli perejmenovani v elementi upravlinnya ActiveX angl ActiveX controls hocha rozshirennya fajliv ocx za nimi zalishilosya Potim Majkrosoft stav aktivno prosuvati ActiveX v Internet vklyuchivshi pidtrimku elementiv ActiveX v svij populyarnij brauzer Internet Explorer V rezultati nazva OLE zalishilasya tilki za tehnologiyeyu skladenih dokumentiv i lokalnih uprovadzhuvanih ob yektiv A merezhevi OLE ob yekti stali nazivati po novomu ActiveX Deyaka plutanina mizh ponyattyami OLE i ActiveX zberigayetsya dosi ale mova jde pro ti sami COM tehnologiyi Prichomu inodi navit plutayut ponyattya OLE i COM Tak uprovadzhuvani OLE ob yekti inodi nazivayut COM ob yektami a OLE kontejneri COM kontejnerami tosho Principi roboti COMOsnovnim ponyattyam yakim operuye tehnologiya COM ye COM komponent Programi pobudovani na tehnologiyi COM faktichno ne ye avtonomnimi programami a ye naborom COM komponentiv sho vzayemodiyut mizh soboyu Kozhen komponent maye unikalnij identifikator GUID i mozhe odnochasno vikoristovuvatisya bagatma programami Komponent vzayemodiye z inshimi programami cherez COM interfejsi nabori abstraktnih funkcij i vlastivostej Kozhen COM komponent maye yak minimum pidtrimuvati standartnij interfejs IUnknown yakij nadaye bazovi zasobi dlya roboti z komponentom Windows API nadaye bazovi funkciyi sho dozvolyayut vikoristovuvati COM komponenti Biblioteki MFC i osoblivo ATL WTL nadayut nabagato gnuchkishi i zruchnishi zasobi dlya roboti z COM Biblioteka ATL vid Majkrosoft dosi lishayetsya najpopulyarnishim zasobom stvorennya COM komponentiv Ale chasto COM rozrobka zalishayetsya she dosit skladnoyu spravoyu programistam dovoditsya vruchnu vikonuvati bagato rutinnih zavdan pov yazanih z COM osoblivo ce pomitno u razi rozrobki na C Zgodom u tehnologiyah COM i osoblivo NET Majkrosoft sprobuvav sprostiti zavdannya rozrobki COM komponentiv Rozvitok COMDCOM Dokladnishe Distributed Component Object Model Vipushena v 1996 roci tehnologiya DCOM angl Distributed COM rozpodilena COM zasnovana na tehnologiyi DCE RPC riznovidi RPC i ye rozvitkom COM DCOM dozvolyaye COM komponentam vzayemodiyati odin z odnim po merezhi Golovnim konkurentom DCOM ye insha vidoma rozpodilena tehnologiya CORBA COM U skladi Windows 2000 bula vipushena tehnologiya COM yaka rozshiryuvala mozhlivosti rozrobnikiv COM komponentiv nadayuchi yim deyaki gotovi poslugi napriklad pokrashenu pidtrimku nitok dostup do kontekstu v yakomu vikonuyetsya komponent napriklad komponenti vikoristani v ASP mozhut z ciyeyu mozhlivistyu distati dostup do vnutrishnih ob yektiv tiyeyi storinki na yakij voni vikonuyutsya COM ob yednuye komponenti v tak zvani zastosunki COM sho sproshuye administruvannya i obslugovuvannya komponentiv Bezpeka i produktivnist osnovni napryami udoskonalen COM Deyaki ideyi zakladeni v osnovu COM buli takozh realizovani v Microsoft NET NET i majbutnye COM U 2002 roci bula oficijno vipushena platforma Microsoft NET yaka na sogodnishnij den ogoloshena Majkrosoftom rekomendovanoyu osnovoyu dlya stvorennya zastosunkiv i komponentiv pid Windows Z ciyeyi prichini v NET vklyucheni i zasobi sho dozvolyayut zvertatisya do komponentiv COM iz zastosunkiv NET i navpaki Za slovami predstavnikiv Majkrosoftu COM tochnishe COM i NET ye vidminno vzayemno dopovnyuvanimi tehnologiyami Takozh bulo zayavleno sho Windows Vista bude pobudovana z vikoristannyam tehnologij NET i COM Div takozhArhitektura DCOMPosilannyaStorinka COM na oficijnomu vebsajti korporaciyi Majkrosoft 14 kvitnya 2011 u Wayback Machine angl angl angl angl angl Programuvannya COM interfejsiv 21 lyutogo 2008 u Wayback Machine angl Pidbirka statej pro COM 17 lyutogo 2008 u Wayback Machine ros Ce nezavershena stattya pro Microsoft Windows Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi