COM es un acrónimo para Component Object Model
;
es una capa orientada a objetos (y servicios asociados) sobre
DCE RPC (un estándar libre) que
define una convención de nomenclatura común que permite que el código escrito en
cualquier lenguaje se comunique con el código escrito en otro
lenguaje, siempre que ambos lenguajes sean compatibles con COM.
Los códigos no necesitan ser parte del mismo ejecutable. El código puede
ser cargado desde una DLL, encontrado en otro proceso que se ejecuta en el mismo
servidor, o, con DCOM (Distributed COM), encontrado en una máquina remota, sin que
su código necesite saber dónde se encuentra.
Hay una parte de COM conocida como OLE Automation que incluye un conjunto de
interfaces COM que permiten desvincularse de los objetos COM, para que puedan ser
descubiertos y llamados en tiempo de ejecución sin saber en el momento de la compilación
cómo funciona el objeto. La extensión COM de PHP utiliza las interfaces OLE Automation
para permitir la creación y llamada de objetos compatibles desde sus scripts. Técnicamente,
esto debería llamarse "la Extensión OLE Automation para PHP
",
ya que no todos los objetos COM son necesariamente compatibles con OLE.
Ahora, ¿por qué se debería utilizar COM? COM es uno de los métodos más utilizados para hacer que las aplicaciones y componentes se comuniquen en las plataformas Windows. Utilizando COM, se puede abrir un documento de Microsoft Word, llenar un fichero de plantilla y guardarlo para enviarlo por correo a su visitante. También se puede utilizar COM para realizar tareas administrativas en su red y configurar IIS; estos son solo los usos más comunes, se puede hacer mucho más con COM.
Además, se soporta la instanciación y creación de ensamblados .Net utilizando una capa de interoperabilidad COM proporcionada por Microsoft.