Component Object Model

Component Object Model (abr. COM) est une technique de composants logiciels développée par Microsoft et DEC, depuis 1994, populaire sur Windows et également disponible sur les systèmes d'exploitation OpenVMS, Tru64 ainsi que d'autres Unix[1]. Utilisée pour mettre en œuvre OLE et ActiveX, COM est dépassé depuis 2009 par le Framework .NET de Microsoft. Les technologies COM regroupent OLE, COM+, Distributed COM et ActiveX[2].

Fonctionnalités

Component Object Model est une spécification créée par Microsoft, qui décrit comment un programme exécutable peut être emballé dans un objet par un programmeur, permettant l'utilisation de l'objet par d'autres programmeurs[3]. La spécification COM décrit une interface de programmation ainsi qu'un procédé de communication entre les objets qui est indépendant des langages de programmation[4].

Un des objectifs de COM est de faciliter la création de programmes par assemblage de composants, où chaque composant peut être mis à jour ou amélioré indépendamment des autres. Ceci est rendu possible par le fait que tous les composants peuvent être assemblés selon la même technique[5]. COM unifie la manière dont les composants mettent à disposition leurs fonctionnalités et la manière dont les autres programmes vont les rechercher et s'en servir[5]. Les programmes qui adhèrent à la spécification COM pourront être réutilisés dans plusieurs langages de programmation[6], tels que C, Visual Basic, Java, Delphi, FoxPro ou COBOL[6].

Caractéristiques

Un objet COM est essentiellement un programme qui met en œuvre une ou plusieurs interfaces de programmation. Chaque interface est une liste de fonctions. Toutes les interfaces sont dérivées de l'interface nommée IUnknown[5]. Les objets COM peuvent être mis en œuvre par des fichiers .exe ou .dll de Microsoft Windows[4].

L'interface IUnknown comporte trois fonctions: QueryInterface, AddRef et Release. La fonction QueryInterface permet à un programme de demander au composant COM les caractéristiques d'une interface qu'il met en œuvre. Les fonctions AddRef et Release servent à informer le composant qu'un programme est en train de s'en servir[5]. Plusieurs programmes peuvent se servir simultanément d'un composant COM. Un composant COM est exécuté dès qu'un programme s'en sert, et s'arrête automatiquement lorsqu'il n'est plus utilisé par aucun programme[5].

Historique

Un des pères de cette technologie fut Anthony Williams, qui la valorisa dans ses livres Object Architecture: Dealing With the Unknown - or - Type Safety in a Dynamically Extensible Class (1988) et On Inheritance: What It Means and How To Use It (1990).

OLE 1.0

La précédente technologie Microsoft orientée objet fut Object Linking and Embedding (OLE) 1.0, qui a été construit sur les Dynamic Data Exchange (DDE) et spécifiquement conçus pour les documents composés (par exemple lorsqu'un tableau est inséré dans un document Word des changements opérés sur le tableau Excel seront propagés dans le document Word). Cela fut introduit par Word et Excel en 1991 et dans Windows 3.1 un an plus tard. De même en 1991, Microsoft introduisit les contrôles Visual Basic, ou VBX grâce à Visual Basic 1.0.

OLE 2.0

En 1993, Microsoft sortit les OLE 2, et créa le COM comme modèle objet pour OLE 2. Alors que OLE 1 s'occupait principalement des documents composés, OLE 2 fut destiné à adresser des composants logiciels en général. En 1994, les contrôles OLE (OCX) furent introduits en tant que successeurs des VBX. Dans le même temps, Microsoft décida que OLE 2 s'appellerait simplement OLE, et qu'il ne désignait dès lors plus un acronyme, mais le nom des technologies composants de la firme.

En début d'année 1996, Microsoft renomma certaines parties de OLE concernant Internet, ActiveX, et petit à petit toutes les parties de OLE passèrent sous le signe ActiveX, exception faites des composants faits pour les documents composés et utilisés par exemple par Microsoft Office.

Produits connexes

COM sert de fondations aux technologies OLE et ActiveX[4] et est disponible dans divers langages de programmation. Les contrôles de Microsoft Foundation Classes (abr. MFC) sont des objets COM[7] et Active Template Library est un ensemble de modèles pour créer des objets COM en langage C++[6]. DCOM et COM+ sont des logiciels de service qui étendent les possibilités d'utilisation des objets COM.

Java RMI, IBM SOM, et CORBA sont des technologies similaires à COM. CORBA offre des fonctionnalités semblables à COM/DCOM. Il existe des logiciels de pont qui permettent d'utiliser un objet COM comme s'il s'agissait d'un objet CORBA ou inversement[8].

Depuis 2003 la technologie .Net remplace la technologie COM, elle offre bon nombre de ses avantages tout en corrigeant certains problèmes. .Net et Visual Studio offrent diverses possibilités d'utilisation conjointe des technologies COM et .Net. Un objet COM peut être utilisé dans un programme en .Net, par le biais d'un wrapper qui lui donnera l'apparence d'un objet .Net et un objet en .Net peut être utilisé pour mettre en œuvre un composant COM par le biais d'un wrapper qui lui donnera l'apparence d'un composant COM.

Distributed COM

DCOM est un logiciel middleware de type ORB : un logiciel moteur qui permet à des objets qui s'exécutent sur un ordinateur d'échanger des services avec des objets exécutés par un autre ordinateur. L´ORB fait appel à un ORB exécuté par l'autre ordinateur[9]. Il permet en particulier au programmeur de se servir de l'objet sans tenir compte du fait qu'il est sur un autre ordinateur, DCOM traitant automatiquement les communications entre les deux ordinateurs, y compris l'application du protocole Remote Procedure Call, l'authentification, la sérialisation et l'utilisation de la mémoire cache[10].

COM+

COM+ est une suite intégrée de logiciels composée de COM, DCOM et Microsoft Transaction Server. Ce dernier met en œuvre un environnement d'exécution pour les composants COM avec des fonctionnalités de regroupement des threads et des connexions aux bases de données, ainsi que des fonctionnalités d'exécution automatique des composants COM[11]. COM+ comporte un dispositif de contrôle d'accès à base de rôles[11], une console permet de manipuler un catalogue de composants. Une fois ajoutés au catalogue, ceux-ci peuvent être utilisés depuis un autre ordinateur, et un service se chargera d'arrêter l'exécution d'un composant en cas d'inactivité prolongée[12]. COM+ est incorporé dans Windows 2000[11].

OLE

OLE (pour Object Linking and Embedding) vise à permettre d'incorporer un document dans un autre document. Cette fonctionnalité utilise initialement la technique de communication entre programmes Dynamic Data Exchange (abr. DDE).

La version 2.0 de OLE n'utilise plus la technique de communication DDE[13] et la fonctionnalité est assurée par le partage d'un bloc de données entre différentes applications, le bloc en question est un objet COM. Un conteneur OLE est une application qui peut manipuler des blocs de données OLE, et un serveur OLE est une application qui peut produire des blocs OLE[4].

OLE 2.0 introduit une nouvelle fonctionnalité - Automation - qui permet à un programme de demander à un autre programme d'effectuer des opérations[13].

ActiveX

ActiveX est un buzzword[14] qui fait référence à une technologie destinée à transformer des pages web en applications qui, selon l'auteur, sont plus rapides que celles utilisant des applet Java. Dans les faits les objets ActiveX sont des objets COM avec quelques fonctionnalités de plus qui permettent de les utiliser sur le web[15]. Le nom ActiveX a été choisi pour se distancer de la fonction de liaison et incorporation d'objet (anglais Object Linking and Embedding abr. OLE) parce que l'objectif des contrôles ActiveX n'a plus rien à voir. Techniquement il n'y a pas de différence entre un objet COM et un objet ActiveX[7]: l'objet met en œuvre les interfaces IUnknown et IDispatch[13], la fonction QueryInterface et la fonction DllRegisterServer[16].

Représentation dans Common Information Model

Des classes CIM héritées des classes de base du CIM Schema définissent des fonctionnalités de COM. Parmi elles:

  • Win32_COMClass[17] représente les propriétés d'un composant COM
  • Win32_COMApplication[18], regroupement logique de classes COM.
  • Win32_COMApplicationClasses[19] est une associatiohn abstraite qui lie une instance de Win32_COMClass avec une instance de Win32_COMApplication.
  • Win32_COMSetting[20]: Les paramètres associés à un composant ou une application COM.
  • Win32_DCOMApplication[21], propriétés d'une application DCOM

Notes et références

  1. (en) Gene Cronin et Terence P. Sherlock, Com Beyond Microsoft: Designing and Implementing Com Servers on Compaq Platforms, Digital Press - 2000, (ISBN 9781555582265)
  2. (en) « COM: Component Object Model Technologies » (consulté le )
  3. (en) Don Jones, Managing Windows With Vbscript and Wmi, Addison-Wesley Professional - 2004, (ISBN 9780321213341)
  4. a b c et d (en) Steve Teixeira et Xavier Pacheco, Delphi 6 - Sams Developer's Guides, Sams Publishing - 2002, (ISBN 9780672321153)
  5. a b c d et e (en) Peter Walsh, Advanced 3D Game Programming with DirectX 10.0, Jones & Bartlett Learning - 2010, (ISBN 9781598220544)
  6. a b et c (en) Andrew W. Troelsen, Developer’s Workshop to COM and ATL 3.0, Jones & Bartlett Publishers - 2012, (ISBN 9781449683221)
  7. a et b « support.microsoft.com - Différence entre les contrôles OLE et ActiveX »
  8. (en) Jason Pritchard, Com and CORBA Side by Side: Architectures, Strategies, and Implementations, Addison-Wesley Professional - 1999, (ISBN 9780201379457)
  9. (en) Network World, 10 août 1998,Vol. 15 - N° 32, (ISSN 0887-7661)
  10. (en) R Rock-Evans, Dcom Explained, Digital Press - 1998, (ISBN 9781555582166)
  11. a b et c (en) Peishu Li, Visual Basic and COM+ programming, Que Publishing - 2000, (ISBN 9780789724588)
  12. (en) Juval Löwy, COM and .NET: Component Services, O'Reilly Media, Inc. - 2001, (ISBN 9780596001032)
  13. a b et c (en) Dave Roth, Win32 Perl Programming: The Standard Extensions, Sams Publishing - 2001, (ISBN 9781578702169)
  14. (en) James D. Foxall, McSd in a Nutshell: The Visual Basic Exams, O'Reilly Media - Inc., 2000, (ISBN 9781565927520)
  15. (en)InfoWorld, 19 mai 1997,Vol. 19 -no 20, (ISSN 0199-6649)
  16. « microsoft.com - Introduction to ActiveX Controls »
  17. Win32_COMClass class
  18. Win32_COMApplication class
  19. Win32_COMApplicationClasses class
  20. Win32_COMSetting class
  21. Win32_DCOMApplication class

Voir aussi

Articles connexes

Liens externes

Read other articles:

قط ميست الاسترالى ،  و  صنف فرعى من قطه  الموطن الاصلى اوستراليا  تعديل  قط ميست الاسترالى (Australian Mist) هوا نوع من انواع القطط موطنه الاصلى هوا اوستراليا شوف كمان انواع القطط لينكات قط ميست الاسترالى – صور وتسجيلات صوتيه و مرئيه على ويكيميديا كومونز قط ميست الاسترا

Опис файлу Опис Постер фільму «Мавпа проти монстра» Джерело https://www.youtube.com/watch?v=55SXvPwmogY Час створення 2021 Автор зображення The Asylum Ліцензія див. нижче Обґрунтування добропорядного використання для статті «Мавпа проти монстра» [?] Мета використання Постер фільму сумлінн

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (ديسمبر 2018) لوكهيد اير اكسبرسمعلومات عامةالنوع ركاب و بريد ونقلبلد الأصل الولايات المتحدةالمهام طيران تجاري — بريد...

Jalur kereta api Bangil–KalisatJembatan di sekitar Jatiroto, Kabupaten Lumajang, Jawa TimurIkhtisarJenisJalur lintas utamaSistemJalur kereta api rel beratStatusBeroperasiTerminusBangilKalisatOperasiDibuka1878-1897PemilikDirektorat Jenderal PerkeretaapianOperatorPT Kereta Api Indonesia Daerah Operasi VIII Surabaya Hanya Stasiun Bangil Daerah Operasi IX Jember Pasuruan - Kalisat KAI Commuter Bangil - Pasuruan DepoJember (lokomotif)Ketapang (kereta penumpang)Data teknisLebar sepur1.067 mmKecep...

India padaOlimpiade Musim Dingin 2022Bendera IndiaKode IOCINDKONAsosiasi Olimpiade IndiaSitus webolympic.ind.inPenampilan pada Olimpiade Musim Dingin 2022 di Beijing, TiongkokPeserta1 (1 putra dan 0 putri) dalam 1 cabang olahragaPembawa bendera (pembukaan)Arif KhanPembawa bendera (penutupan)RelawanMedali 0 0 0 Total 0 Penampilan pada Olimpiade Musim Dingin (ringkasan)196419681972–19841988199219941998200220062010201420182022 India berkompetisi pada Olimpiade Musim Dingin ...

У Вікіпедії є статті про інші значення цього терміна: Біобіо. Провінція Біобіо ісп. Provincia de Biobío Герб Адм. центр Лос-Анхелес Країна Чилі Провінція Біобіо Межує з: сусідні адмінодиниці Арауко, Консепсьйон, Мальєко, Minas Departmentd, Ñorquín Departmentd, Loncopué Departmentd, Picunches Departm...

Far-right political party in Germany The Homeland Die HeimatFirst SecretaryMiguel WunderParty ChairmanFrank Franz[1]Founder Waldemar Schütz [de] Adolf von Thadden ...and others Founded28 November 1964; 59 years ago (1964-11-28)Merger ofDeutsche Reichspartei[2][3]DNVP (1962)[4]HeadquartersCarl-Arthur-Bühring-Haus, Seelenbinderstrasse 42,12555 BerlinNewspaperDeutsche StimmeYouth wingJunge Nationalisten[5]Membership 3,...

Uang kertas 10 pound Australia (£10) adalah nilai uang kertas yang pertama kali dikeluarkan di Australia pada tahun 1913 sampai desimalisasi di mata uang Australia untuk penggantinya oleh uang kertas 20 dolar Australia pada tahun 1966. Uang kertas ini menampilkan potret di Arthur Phillip dan mantel lengan. Pranala luar (Inggris) Museum of Australian Currency Notes Diarsipkan 2011-03-12 di Wayback Machine. (Inggris) Australian stamp Diarsipkan 2009-08-04 di Wayback Machine. lbsMata uang Austr...

Construction of the tunnel in 1993. The Piet Hein Tunnel (52°22′23″N 4°56′51″E / 52.372962°N 4.947633°E / 52.372962; 4.947633) is a 1.9 km long tunnel under the IJ in Amsterdam, the Netherlands. It provides a road link running east–west between the city center and the A10 ring-road, and since May 2005 also provides a tram link between the Amsterdam Centraal railway station and Haveneiland, IJburg. Completed in 1997, the tunnel, approaches and related...

Hospital in Karachi, Pakistan Hospital in Karachi, PakistanLiaquat National Hospital & Medical CollegeGeographyLocationKarachi, PakistanOrganisationCare systemPrivateTypeTeachingServicesStandardsISO 9001:2000Beds700HistoryOpened1958 as National HospitalRenamed later as Liaquat National HospitalLinksWebsitehttp://www.lnh.edu.pk/ListsHospitals in Pakistan The Liaquat National Hospital is located at Stadium Road, Karachi, Sindh, Pakistan.[1][2][3][4] History S...

Logging industry work site Lumberjacks in front of logging camp building A logging camp (or lumber camp) is a transitory work site used in the logging industry. Before the second half of the 20th century, these camps were the primary place where lumberjacks would live and work to fell trees in a particular area. Many place names (e.g. Bockman Lumber Camp, Whitestone Logging Camp, Camp Douglas) are legacies of old logging camps. Camps were often placed next to river tributaries so that the win...

Noble family of Upper Lusatian origin Schirach/ŠěrachCurrent regionGermany, United StatesPlace of originLusatiaDistinctionsEnnobled on 17 May 1776 Schirach or Šěrach is a noble family of Sorbian (i.e. West Slavic) origin. Many family members were noted as theologians, lawyers, historians, writers and artists from the 17th century, and several family members have also been noted for their efforts to preserve the Sorbian language. The family was raised to the hereditary Austrian nobility in...

Sri Lanka Army Components Sri Lanka Army Sri Lanka Army Volunteer Force List of regiments and corps Structure of the Sri Lanka Army History History of the Sri Lanka Army Historic senior officers Equipment Weaponry and equipment Leadership and ranks Commander of the Army Chief of Staff Deputy Chief of Staff Army ranks vte The following tables present the ranks and insignia of the Sri Lanka Army. The ranks are similar to the British army officer ranks and the other ranks. At its formation in 19...

1964 film by Samuel Fuller The Naked KissTheatrical release posterDirected bySamuel FullerWritten bySamuel FullerProduced bySamuel FullerStarringConstance TowersAnthony EisleyMichael DanteVirginia GreyCinematographyStanley CortezEdited byJerome ThomsMusic byPaul DunlapDistributed byAllied Artists Pictures CorporationRelease date October 29, 1964 (1964-10-29) (U.S.) Running time90 minutesCountryUnited StatesLanguageEnglishBudget$200,000[1] The Naked Kiss is a 1964 Am...

This biography of a living person does not include any references or sources. Please help by adding reliable sources. Contentious material about living people that is unsourced or poorly sourced must be removed immediately.Find sources: Anthony Saidy – news · newspapers · books · scholar · JSTOR (August 2021) (Learn how and when to remove this template message) Anthony SaidyAnthony Saidy at the 2002 U.S. Chess Championships in Seattle, WashingtonCountr...

American football player (born 1963) American football player Napoleon McCallumNo. 34, 41Position:Running backPersonal informationBorn: (1963-10-06) October 6, 1963 (age 60)Jefferson City, Missouri, U.S.Height:6 ft 2 in (1.88 m)Weight:220 lb (100 kg)Career informationHigh school:Milford (Milford, Ohio)College:Navy (1981–1985)NFL Draft:1986 / Round: 4 / Pick: 108Career history Los Angeles Raiders (1986; 1990–1994) Career highlights and awar...

American TV anthology series (1955–1956) TV Reader's DigestGenreDrama, AnthologyDirected byWilliam BeaudineJohn BrahmPeter Godfrey (director)Phil KarlsonArnold LavenTed PostCountry of originUnited StatesOriginal languageEnglishNo. of seasons2No. of episodes39ProductionExecutive producerHarry Joe BrownProduction locationsLos Angeles, California, United StatesRunning time25 minutesOriginal releaseNetworkABCReleaseJanuary 17, 1955 (1955-01-17) –July 9, 1956 (1956-07-09) TV Rea...

2018 drama directed by Wojciech Smarzowski ClergyFilm PosterPolishKler Directed byWojciech SmarzowskiWritten byWojciech SmarzowskiWojciech RzehakProduced byJacek RzehakStarring Arkadiusz Jakubik Robert Więckiewicz Jacek Braciak CinematographyTomasz MadejskiEdited byPawel LaskowskiMusic byMikolaj TrzaskaProductioncompaniesProfil FilmShowmaxKino ŚwiatDistributed byKino ŚwiatRelease dates September 18, 2018 (2018-09-18) (Gdynia Polish Film Festival) September 28, ...

Species of butterfly Papilio neumoegeni Conservation status Vulnerable (IUCN 2.3)[1] Scientific classification Domain: Eukaryota Kingdom: Animalia Phylum: Arthropoda Class: Insecta Order: Lepidoptera Family: Papilionidae Genus: Papilio Species: P. neumoegeni Binomial name Papilio neumoegeniHonrath, 1890 Papilio neumoegeni is a species of butterfly in the family Papilionidae. It is endemic to the islands of Sumba in Indonesia. Description For a key to the terms used, see Glos...

Portada del almanaque correspondiente a 1932 de la revista satírica La Traca, publicado nada más aprobarse la Constitución de 1931, en la que se declaraba el carácter laico del Estado. La cuestión religiosa en la Segunda República Española es el conflicto que surgió entre la jerarquía de la Iglesia católica en España y los sectores sociales que la apoyaban, por un lado, partidarios de mantener la posición privilegiada que ostentaba durante la Monarquía; y los gobiernos y partidos...