Model de obiecte componente

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 6 mai 2022; verificările necesită 4 modificări .

COM ( ing.  Component Object Model  „component object model”; pronunțat ca [com]) este un standard tehnologic de la Microsoft , conceput pentru a crea software bazat pe componente care interacționează, fiecare dintre acestea putând fi utilizat în mai multe programe simultan [1] . Standardul întruchipează ideile de polimorfism și încapsularea programării orientate pe obiecte . Standardul COM ar putea fi universal și multiplatform , dar s-a blocat în principal pe sistemele de operare din familia Microsoft Windows. În versiunile moderne de Windows, COM este utilizat pe scară largă. Au fost implementate tehnologii bazate pe COM: Microsoft OLE Automation , ActiveX , DCOM , COM+ , DirectX și XPCOM .

Istoria COM

Standardul COM a fost dezvoltat în 1993 de Microsoft ca bază pentru dezvoltarea tehnologiei OLE . Tehnologia OLE 1.0 a făcut deja posibilă crearea așa-numitelor. „ documente compuse ” ( ing.  documente compuse ): de exemplu, în pachetul Microsoft Office , această tehnologie a făcut posibilă includerea diagramelor Microsoft Excel în documentele Microsoft Word .

Confuzie de nume

În 1996, Microsoft a încercat să redenumească tehnologia OLE în ActiveX, dar acest lucru a avut succes doar parțial. De exemplu, tehnologia OLE a permis crearea așa-numitelor controale OLE ( English  OLE Controls , sau OCX ) - elemente reutilizabile ale interfeței utilizator care au fost construite pe standardul COM. Aceste controale OLE au fost redenumite în controale ActiveX , deși păstrează extensia de fișier „ ” .  Microsoft a început apoi să promoveze activ ActiveX pe Internet prin includerea suportului pentru controalele ActiveX în browserul său Internet Explorer . Drept urmare, numele OLE a rămas doar cu tehnologia documentelor compuse și a obiectelor încorporate locale. Și obiectele OLE de rețea au început să fie numite într-un mod nou - ActiveX. .ocx

O oarecare confuzie între conceptele OLE și ActiveX persistă până astăzi, dar vorbim despre aceleași tehnologii COM. Și uneori chiar confundă conceptele OLE și COM. De exemplu, obiectele OLE încorporate sunt uneori numite obiecte COM, iar containerele OLE sunt uneori numite containere COM și așa mai departe.

Suport Windows

Cum funcționează COM

Conceptul principal pe care standardul COM operează este componenta COM . Programele construite pe standardul COM nu sunt de fapt programe de sine stătătoare, ci mai degrabă un set de componente COM care interacționează. Fiecare componentă are un identificator unic ( GUID ) și poate fi folosită de mai multe programe în același timp. Componenta interacționează cu alte programe prin interfețe COM  - seturi de funcții și proprietăți abstracte. Fiecare componentă COM trebuie să implementeze cel puțin IUnknowninterfața standard " ", care oferă mijloacele de bază pentru lucrul cu componenta. Interfața „ IUnknown” include trei metode: QueryInterface, AddRef, Release.

API-ul Windows oferă funcționalitate de bază care vă permite să utilizați componente COM. Bibliotecile MFC și, în special, ATL / WTL oferă mijloace mai flexibile și mai convenabile pentru lucrul cu COM. ATL de la Microsoft este încă cel mai popular instrument pentru crearea componentelor COM. Dar de multe ori dezvoltarea COM este încă destul de complicată, programatorii trebuie să efectueze manual multe sarcini de rutină legate de COM (acest lucru se observă mai ales în cazul dezvoltării C++ ). Ulterior (în tehnologiile COM+ și mai ales .NET ), Microsoft a încercat să simplifice sarcina de dezvoltare a componentelor COM.

Tehnologii bazate pe standardul COM

DCOM

Lansată în 1996, tehnologia DCOM ( Distributed COM )   se bazează pe tehnologia DCE/RPC (o variație a RPC ). DCOM permite componentelor COM să comunice între ele printr- o rețea . Principalul concurent al DCOM este o altă tehnologie distribuită binecunoscută - CORBA .

Atât DCOM, cât și CORBA rezolvă problema apelării unei metode pe un obiect situat pe o altă mașină, precum și transmiterea unei referințe la un obiect de la o mașină la alta.

Stratul de rețea DCOM se numește ORPC (Object RPC) și este o extensie orientată pe obiect a DCE RPC.

Tehnologia DCOM oferă setări de securitate de bază, permițându-vă să specificați cine și de la ce mașini pot crea instanțe ale unui obiect și pot apela metodele acestuia.

COM+

Microsoft Transaction Server a fost inclus în pachetul de opțiuni pentru Windows NT4 încă din 1997.

Windows 2000 a lansat tehnologia COM+ , care era o nouă versiune a Microsoft Transaction Server.

Tehnologia a împuternicit dezvoltatorii de componente COM, oferindu-le câteva servicii standard, cum ar fi:

MTS/COM+ a fost folosit într-un număr de versiuni ale serverului web MS IIS pentru a încărca și executa aplicații web, atât binare folosind tehnologia ISAPI , cât și scriptate folosind tehnologia ASP (asp.dll însuși este o aplicație ISAPI).

COM+ reunește componente în așa-numitele aplicații COM+ , facilitând administrarea și întreținerea componentelor. Securitatea și performanța sunt principalele domenii de îmbunătățire pentru COM+. Unele dintre ideile din spatele COM+ au fost implementate și în Microsoft .NET .

.NET și viitorul COM

În 2002, a fost lansată oficial platforma Microsoft .NET , care astăzi este declarată de Microsoft drept cadru recomandat pentru crearea de aplicații și componente pentru Windows. Din acest motiv, .NET include și instrumente care vă permit să accesați componente COM din aplicațiile .NET și invers. Potrivit Microsoft, COM (mai precis, COM+) și .NET sunt tehnologii complementare excelente.

DCOM prin Internet și soluția la problema XP SP2

În 2009, DComLab a publicat produsul comercial ComBridge. Când utilizați ComBridge pentru a lucra prin DCOM prin Internet, nu este necesar CIS, portul 135 nu este utilizat și setările dcomcnfg nu sunt necesare în rețeaua locală. ComBridge este încorporat în stratul de transport DCOM, separând complet tot traficul obiectului creat și toate obiectele primite de la acesta într-un flux separat.

OPC

OPC (OLE for Process Control) este o familie de tehnologii software care oferă o singură interfață pentru gestionarea obiectelor de automatizare și a proceselor tehnologice. Multe dintre protocoalele OPC se bazează pe tehnologii Windows: OLE, ActiveX, COM/DCOM. Protocoalele OPC precum OPC XML DA și OPC UA sunt independente de platformă.

OLE

OLE ( Object Linking and Embedding   object linking and embedding”; pronunțat [oh-lay], [oley]) este o tehnologie pentru legarea și încorporarea obiectelor în alte documente și obiecte dezvoltate de Microsoft.

OLE vă permite să transferați o parte a lucrării de la un program de editare la altul și să returnați rezultatele înapoi. De exemplu, un sistem de publicare instalat pe un computer personal poate trimite un text pentru procesare către un editor de text sau o anumită imagine către un editor de imagini folosind tehnologia OLE.

Note

  1. Tehnologia COM . Preluat la 26 ianuarie 2022. Arhivat din original la 26 ianuarie 2022.
  2. Gestionați aplicațiile COM+ . Microsoft TechNet . Microsoft Corp. (22 februarie 2013). Preluat la 31 august 2018. Arhivat din original la 23 ianuarie 2012.
  3. Caracteristici eliminate sau depreciate în Windows Server 2012 R2 . Microsoft TechNet . Microsoft Corp. (31 august 2016). Preluat la 31 august 2018. Arhivat din original la 8 februarie 2015.

Link -uri

Literatură