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 libre) 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 votre code ait à savoir où il se trouve.
Il y a une partie de COM connue sous le nom de OLE Automation qui comprend un
jeu d'interfaces COM qui permettent de perdre l'attache aux objets COM, pour
qu'ils puissent être découverts 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 vous permettre de créer et appeler des
objets compatibles depuis vos 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 voudriez-vous ou devriez-vous 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, vous pouvez ouvrir un document Microsoft Word, remplir un fichier de gabarit et le sauvegarder pour l'envoyer par courrier à votre visiteur. Vous pouvez aussi utiliser COM pour effectuer des tâches administratives sur votre réseau et configurer IIS ; ce ne sont que les utilisations les plus habituelles, vous pouvez faire beaucoup plus avec COM.
De plus, nous supportons l'instanciation et la création d'assemblées .Net utilisant une couche d'interopérabilité COM fournie par Microsoft.