El Modelo de Objetos de Componentes Distribuidos (Distributed Component Object Model, DCOM) es una tecnología propietaria de Microsoft para desarrollar componentes de software distribuidos sobre varias computadoras y que se comunican entre sí.
Es una extensión del modelo Component Object Model (COM) de Microsoft y proporciona el sustrato de comunicación entre la infraestructura del servidor de aplicaciones COM+ de Microsoft.
Características
- DCOM es completamente independiente del lenguaje de programación. Debido a que cualquier lenguaje puede crear componentes COM, estos a su vez pueden interactuar perfectamente con DCOM.
- Independencia de la localización. La aplicación que esté usando DCOM puede combinar componentes relacionados en máquinas “cercanas” entre si, en una sola máquina o incluso en el mismo proceso.
- Independencia de protocolo. DCOM puede utilizar cualquier protocolo detransporte, como TCP/IP, UDP, IPX/SPX y NetBIOS, ya que proporciona un marco de seguridad a todos estos.
Ventajas
- Hay muchos libros, herramientas y desarrolladores.
- Existe una buena integración con Visual Basic y JAVA.
- Microsoft depende de su funcionamiento.
Desventajas
- Hay muy poco soporte en plataformas no-Windows.
- Dificultad para funcionar a través de “cortafuegos” y sobre máquinas inseguras o desconocidas.
- No existe una limpieza “pacífica” por lo que una referencia a un servicio se puede mantener en memoria, pese a que se haya terminado.
Comparación entre las Tecnologías DCOM y CORBA
| DCOM | CORBA |
| DCOM no soporta múltiple herencia | Soporta múltiple herencia |
| Soporta objetos con múltiples interfaces y provee una forma estándar de navegar entre ellas. | CORBA maneja una sola interface |
| Las tareas son realizadas por programas del servidor o manejadas dinámicamente por el mismo DCOM | Cada interfaz hereda de otro objeto CORBA, las cuales realizan las tareas comunes. |
| Es usada solo en Windows | Es multiplataforma |
Sus principales características son:
- El protocolo DCOM es usado para explotar las más severas vulnerabilidades, para tomar el control total del equipo afectado, incluyendo la instalación de programas; visualización, cambio o borrado de datos; o crear nuevas cuentas de usuario con todos los privilegios.
- Desde aplicaciones Java se puede invocar a los componentes DCOM.
- Los sistemas SCADA utilizan el componente DCOM para el acceso remoto a máquinas cliente.
Acá les dejo un video con los principales conceptos sobre DCOM
Fernando Mesta.