Архітектура DCOM
Архітектуру СОМ (Component Object Model) та її варіант DCOM (Distributed СОМ) розробила фірма Microsoft. Історичним попередником цієї архітектури була OLE 1. Вона була зосереджена на документоцентричних застосуваннях, давала змогу вбудовувати документи різних застосувань один в одний. Архітектура OLE 2 розглядала загальнішу проблему надання сервісів програмними компонентами для інших компонентів. Тому в основі OLE 2 є СОМ. Сьогодні термін OLE використовують тільки для технологій пов'язаних документів, а термін ActiveX — для технології на базі СОМ.
Об' єкти СОМ діють у деякому середовищі, яке Їх створює, контролює під час роботи та знищує (сервер). Кожен об'єкт підтримує один або кілька інтерфейсів. Кожен інтерфейс складається з методів. Множинність інтерфейсів дає змогу підтримувати старі та нові версії, групувати функції тощо (CORBA, наприклад, не допускає множинності інтерфейсів. Для неї інтерфейс — це тип об'єкта. Java ж реалізує множинність).
Об' єкт СОМ — це примірник класу. Його створюють на підставі звертання до бібліотеки СОМ, щО містить прототипи всіх доступних класів. Бібліотека СОМ запускає сервер підтримки об'єкта, створює об'єкт. Після створення об'єкта звертання надходить уже безпосередньо до нього, його інтерфейсів.
Об'єктність СОМ не повністю відповідає класичній моделі, реалізованій мовами програмування (однак СОМ — це не мова програмування). Класичній моделі властиві інкапсуляція коду, поліморфізм та успадкування. Клас у СОМ — це прототип певного об'єкта, конкретна реалізація набору інтерфейсів. Може бути декілька різних реалізацій одного набору інтерфейсів, вони будуть різними класами. Можливість працювати з об'єктами різних класів, проте з однаковим інтерфейсом називають поліморфізмом.
Інкапсуляція — це відсутність прямого доступу до коду класу. Доступ до коду та параметрів виконується тільки через властивості об'єкта і методи. У СОМ доступ є тільки через визначені інтерфейси. Тому інкапсуляція підтримується повністю.
СОМ вирізняє два типи успадкування: успадкування реалізації та успадкування інтерфейсу. у випадку першого типу успадковуваний код батька. Це означає, що під час створення об'єкта формуються також і всі батьківські об'єкти. У СОМ реалізовано лише успадкування інтерфейсу. Об'єкт успадковує тільки визначення методів батька та підтримує Їх. Це полегшує реалізацію поліморфізму. Справді, успадкування реалізації у випадку взаємодії об'єктів передбачає два різні шляхи створення об'єктів: успадкування та прямий виклик. Крім того, успадкування реалізації менш гнучке: якщо реалізація одного з батьків змінилася, то потрібна підтримка як старої; так і нової реалізації: Взаємодія об'єктів допускає також множинний та умовний вибори. Вона може діяти в умовах неповної визначеності та неоднозначності вибору.
Повторне використання коду у СОМ відбувається через механізми включення (containment) та агрегування (aggregation). Унаслідок включення один об'єкт викликає інший у міру потреби для виконання своїх функцій. У випадку агрегування об' єкт зображає один або кілька інтерфейсів іншого об'єкта як свої власні.
Розробники, створюючи архітектуру СОМ, намагалися з'ясувати причини відставання розвитку програмних систем порівняно з розвитком обладнання. Серед головних причин вони назвали відсутність ринку програмних компонентів. Їх виготовляють різні виробники для виконання спеціалізованих функцій. Компоненти можна якісно тестувати та використовувати багаторазово. Це дає змогу здешевити ПЗ. Однак підходи, що є сьогодні й орієнтовані на багаторазове використання ПЗ, недостатні, оскільки:
• бібліотеки хоч і не залежать від мови програмування, проте складні в розширенні та запровадженні нових версій;
• об'єкти повторно використовують на рівні робочих груп. Застосовувати їх ширше не можна з таких причин: по-перше, немає стандартів для компонування двійкових об'єктів у єдине ціле (тому Java використовує інтерпретатор). Об'єкти, що взаємодіють, повинні бути скомпільовані одним компілятором. Тому наявні бібліотеки об'єктів С++ розповсюджують разом з початковими текстами. Породжені об'єкти тісно пов'язані з батьківськими. Автор породженого методу повинен мати доступ до тексту батьківського методу. Однак автори не зацікавлені у поширенні початкових текстів; по-друге наявні різні об'єктні мови та середовища проектування; по-третє, якщо змінюється один з об'єктів застосування, то це потребує перекомпіляції всього застосування.
Усі ці проблеми дає змогу вирішити СОМ. За допомогою СОМ можна зручно структурувати сервіси. Проект визначений як сукупність об'єктів, після цього визначають інтерфейси кожного об'єкта. СОМ зменшує різницю між системним програмним забезпеченням та застосуваннями. Звертання до всього ПЗ виконується однаково. СОМ не зважає на мову програмування. Важливим є тільки визначений двійковий інтерфейс. СОМ дає змогу контролювати версії. Старі інтерфейси не змінюються (СОМ це забороняє). Нові можливості реалізовані через новий інтерфейс.
Головні технології СОМ такі
Автоматизація — це забезпечення можливості програмування застосувань. Інші програми можуть звертатися через визначені інтерфейси до сервісів застосування та одержувати результат.
Перманентність — це здатність об'єкта запам'ятовувати свої дані на диску. Одним зі способів, який застосовує СОМ, є структуроване сховище. Воно дає змогу багатьом об'єктам використовувати один файл. Внутрішня структура такого файлу деревоподібна і нагадує каталог з підкаталогами. У проміжних вершинах розташовані сховища, а в кінцевих — потоки.
Крім структурованого сховища, можливе збереження даних і у звичайному файлі чи у форматі WWW.
Монікери — це СОМ-об'єкти, призначені для створення та ініціалізації екземпляра іншого об'єкта.
Складні документи. Один з документів є контейнером, що містить файли інших застосувань у сховищі даних.
Розподілена СОМ. ДЛЯ звертання до віддаленого сервісу DCOM використовує визначений у DCE виклик віддаленої процедури RPC (Remote Procedure СаН). У DCOM також є засоби контролювання доступу.
Див. також
- ActiveX
- Component Object Model
- .NET Remoting
- OLE for process control
- книга «Компютерні мережі» 2003 р., автор Є. Буров.
- http://citforum.ru/programming/application/dcobjmod.shtml [ 22 листопада 2010 у Wayback Machine.]
- http://www.smart-soft.ru/?page=dcom [ 20 березня 2009 у Wayback Machine.]
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Arhitektura DCOM Arhitekturu SOM Component Object Model ta yiyi variant DCOM Distributed SOM rozrobila firma Microsoft Istorichnim poperednikom ciyeyi arhitekturi bula OLE 1 Vona bula zoseredzhena na dokumentocentrichnih zastosuvannyah davala zmogu vbudovuvati dokumenti riznih zastosuvan odin v odnij Arhitektura OLE 2 rozglyadala zagalnishu problemu nadannya servisiv programnimi komponentami dlya inshih komponentiv Tomu v osnovi OLE 2 ye SOM Sogodni termin OLE vikoristovuyut tilki dlya tehnologij pov yazanih dokumentiv a termin ActiveX dlya tehnologiyi na bazi SOM Ob yekti SOM diyut u deyakomu seredovishi yake Yih stvoryuye kontrolyuye pid chas roboti ta znishuye server Kozhen ob yekt pidtrimuye odin abo kilka interfejsiv Kozhen interfejs skladayetsya z metodiv Mnozhinnist interfejsiv daye zmogu pidtrimuvati stari ta novi versiyi grupuvati funkciyi tosho CORBA napriklad ne dopuskaye mnozhinnosti interfejsiv Dlya neyi interfejs ce tip ob yekta Java zh realizuye mnozhinnist Ob yekt SOM ce primirnik klasu Jogo stvoryuyut na pidstavi zvertannya do biblioteki SOM shO mistit prototipi vsih dostupnih klasiv Biblioteka SOM zapuskaye server pidtrimki ob yekta stvoryuye ob yekt Pislya stvorennya ob yekta zvertannya nadhodit uzhe bezposeredno do nogo jogo interfejsiv Ob yektnist SOM ne povnistyu vidpovidaye klasichnij modeli realizovanij movami programuvannya odnak SOM ce ne mova programuvannya Klasichnij modeli vlastivi inkapsulyaciya kodu polimorfizm ta uspadkuvannya Klas u SOM ce prototip pevnogo ob yekta konkretna realizaciya naboru interfejsiv Mozhe buti dekilka riznih realizacij odnogo naboru interfejsiv voni budut riznimi klasami Mozhlivist pracyuvati z ob yektami riznih klasiv prote z odnakovim interfejsom nazivayut polimorfizmom Inkapsulyaciya ce vidsutnist pryamogo dostupu do kodu klasu Dostup do kodu ta parametriv vikonuyetsya tilki cherez vlastivosti ob yekta i metodi U SOM dostup ye tilki cherez viznacheni interfejsi Tomu inkapsulyaciya pidtrimuyetsya povnistyu SOM viriznyaye dva tipi uspadkuvannya uspadkuvannya realizaciyi ta uspadkuvannya interfejsu u vipadku pershogo tipu uspadkovuvanij kod batka Ce oznachaye sho pid chas stvorennya ob yekta formuyutsya takozh i vsi batkivski ob yekti U SOM realizovano lishe uspadkuvannya interfejsu Ob yekt uspadkovuye tilki viznachennya metodiv batka ta pidtrimuye Yih Ce polegshuye realizaciyu polimorfizmu Spravdi uspadkuvannya realizaciyi u vipadku vzayemodiyi ob yektiv peredbachaye dva rizni shlyahi stvorennya ob yektiv uspadkuvannya ta pryamij viklik Krim togo uspadkuvannya realizaciyi mensh gnuchke yaksho realizaciya odnogo z batkiv zminilasya to potribna pidtrimka yak staroyi tak i novoyi realizaciyi Vzayemodiya ob yektiv dopuskaye takozh mnozhinnij ta umovnij vibori Vona mozhe diyati v umovah nepovnoyi viznachenosti ta neodnoznachnosti viboru Povtorne vikoristannya kodu u SOM vidbuvayetsya cherez mehanizmi vklyuchennya containment ta agreguvannya aggregation Unaslidok vklyuchennya odin ob yekt viklikaye inshij u miru potrebi dlya vikonannya svoyih funkcij U vipadku agreguvannya ob yekt zobrazhaye odin abo kilka interfejsiv inshogo ob yekta yak svoyi vlasni Rozrobniki stvoryuyuchi arhitekturu SOM namagalisya z yasuvati prichini vidstavannya rozvitku programnih sistem porivnyano z rozvitkom obladnannya Sered golovnih prichin voni nazvali vidsutnist rinku programnih komponentiv Yih vigotovlyayut rizni virobniki dlya vikonannya specializovanih funkcij Komponenti mozhna yakisno testuvati ta vikoristovuvati bagatorazovo Ce daye zmogu zdesheviti PZ Odnak pidhodi sho ye sogodni j oriyentovani na bagatorazove vikoristannya PZ nedostatni oskilki biblioteki hoch i ne zalezhat vid movi programuvannya prote skladni v rozshirenni ta zaprovadzhenni novih versij ob yekti povtorno vikoristovuyut na rivni robochih grup Zastosovuvati yih shirshe ne mozhna z takih prichin po pershe nemaye standartiv dlya komponuvannya dvijkovih ob yektiv u yedine cile tomu Java vikoristovuye interpretator Ob yekti sho vzayemodiyut povinni buti skompilovani odnim kompilyatorom Tomu nayavni biblioteki ob yektiv S rozpovsyudzhuyut razom z pochatkovimi tekstami Porodzheni ob yekti tisno pov yazani z batkivskimi Avtor porodzhenogo metodu povinen mati dostup do tekstu batkivskogo metodu Odnak avtori ne zacikavleni u poshirenni pochatkovih tekstiv po druge nayavni rizni ob yektni movi ta seredovisha proektuvannya po tretye yaksho zminyuyetsya odin z ob yektiv zastosuvannya to ce potrebuye perekompilyaciyi vsogo zastosuvannya Usi ci problemi daye zmogu virishiti SOM Za dopomogoyu SOM mozhna zruchno strukturuvati servisi Proekt viznachenij yak sukupnist ob yektiv pislya cogo viznachayut interfejsi kozhnogo ob yekta SOM zmenshuye riznicyu mizh sistemnim programnim zabezpechennyam ta zastosuvannyami Zvertannya do vsogo PZ vikonuyetsya odnakovo SOM ne zvazhaye na movu programuvannya Vazhlivim ye tilki viznachenij dvijkovij interfejs SOM daye zmogu kontrolyuvati versiyi Stari interfejsi ne zminyuyutsya SOM ce zaboronyaye Novi mozhlivosti realizovani cherez novij interfejs Golovni tehnologiyi SOM takiAvtomatizaciya ce zabezpechennya mozhlivosti programuvannya zastosuvan Inshi programi mozhut zvertatisya cherez viznacheni interfejsi do servisiv zastosuvannya ta oderzhuvati rezultat Permanentnist ce zdatnist ob yekta zapam yatovuvati svoyi dani na disku Odnim zi sposobiv yakij zastosovuye SOM ye strukturovane shovishe Vono daye zmogu bagatom ob yektam vikoristovuvati odin fajl Vnutrishnya struktura takogo fajlu derevopodibna i nagaduye katalog z pidkatalogami U promizhnih vershinah roztashovani shovisha a v kincevih potoki Krim strukturovanogo shovisha mozhlive zberezhennya danih i u zvichajnomu fajli chi u formati WWW Monikeri ce SOM ob yekti priznacheni dlya stvorennya ta inicializaciyi ekzemplyara inshogo ob yekta Skladni dokumenti Odin z dokumentiv ye kontejnerom sho mistit fajli inshih zastosuvan u shovishi danih Rozpodilena SOM DLYa zvertannya do viddalenogo servisu DCOM vikoristovuye viznachenij u DCE viklik viddalenoyi proceduri RPC Remote Procedure SaN U DCOM takozh ye zasobi kontrolyuvannya dostupu Div takozhActiveX Component Object Model NET Remoting OLE for process control kniga Kompyuterni merezhi 2003 r avtor Ye Burov http citforum ru programming application dcobjmod shtml 22 listopada 2010 u Wayback Machine http www smart soft ru page dcom 20 bereznya 2009 u Wayback Machine