Introduction
COM est un acronyme pour Component Object Model;
c'est une couche orientée objet (et services associés) au-dessus de
DCE RPC (un standard ouvert) qui
définit une convention de nommage commune permettant à un code écrit en
n'importe quel langage de communiquer avec du code écrit dans un autre
langage, pour peu que ces deux langages soient compatibles avec COM.
Les codes n'ont pas besoin de faire partie du mĂȘme exĂ©cutable. Le code peut
ĂȘtre chargĂ© Ă partir d'une DLL, trouvĂ© dans un autre processus fonctionnant
sur le mĂȘme serveur, ou, avec DCOM (Distributed COM), trouvĂ© sur une machine
distante, sans mĂȘme que le code ait Ă savoir oĂč il se trouve.
Il y a une partie de COM connue sous le nom d'OLE Automation qui comprend un
jeu d'interfaces COM qui permettent une liaison lĂąche avec les objets COM, afin
qu'ils puissent ĂȘtre introspectĂ©s et appelĂ©s en cours d'exĂ©cution sans savoir
au moment de la compilation comment l'objet fonctionne. L'extension COM de PHP
utilise les interfaces OLE Automation pour permettre de créer et appeler des
objets compatibles depuis les scripts. Techniquement parlant, cela devrait
vraiment s'appeler "the OLE Automation Extension for PHP",
puisque tous les objets COM ne sont pas forcément compatibles OLE.
Maintenant, pourquoi vouloir ou devoir utiliser COM ? COM est
l'une des méthodes les plus utilisées pour faire communiquer des applications
et des composants sur les plates-formes Windows. En utilisant COM, il est possible
d'ouvrir un document Microsoft Word, remplir un fichier de gabarit et le sauvegarder
pour l'envoyer par courrier au visiteur. Il est aussi possible d'utiliser COM
pour effectuer des tùches administratives sur le réseau et configurer
IIS ; ce ne sont que les utilisations les plus habituelles, il est possible de faire
beaucoup plus avec COM.
De plus, nous supportons l'instanciation et la création d'assemblages
.Net utilisant une couche d'interopérabilité COM fournie par Microsoft.