Modelo de Objetos de Componentes Distribuidos

De Wikipedia, la enciclopedia libre
(Redirigido desde «Distributed Component Object Model»)
Saltar a: navegación, búsqueda

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í.

Extiende el modelo Component Object Model (COM) de Microsoft y proporciona el sustrato de comunicación entre la infraestructura del servidor de aplicaciones COM+ de Microsoft.

Ha sido abandonada en favor del framework Microsoft .NET.[1] [2]

El agregado de la "D" a COM fue por el uso extensivo de DCE Remote Procedure Call (DCE/RPC), o más específicamente la versión mejorada de Microsoft, conocida como MSRPC.

En términos de las extensiones que añade a COM, DCOM tenía que resolver los problemas de:

  • Aplanamiento: serializar y deserializar los argumentos y valores de retorno de las llamadas a los métodos "sobre el cable".
  • Recolección de basura distribuida: asegurándose que las referencias mantenidas por clientes de las interfaces sean liberadas cuando, por ejemplo, el proceso cliente ha caído o la conexión de red se pierde.

Uno de los factores clave para resolver estos problemas es el uso de DCE/RPC como el mecanismo Remote Procedure Call (RPC) subyacente bajo DCOM. DCE/RPC define reglas estrictas en cuanto al aplanamiento y a quién es responsable de liberar la memoria.

DCOM fue uno de los mayores competidores de CORBA. Los defensores de ambas tecnologías sostenían que algún día serían el modelo de código y servicios sobre Internet. Sin embargo, las dificultades que suponía conseguir que estas tecnologías funcionasen a través de cortafuegos y sobre máquinas inseguras o desconocidas, significó que las peticiones HTTP normales, combinadas con los navegadores web les ganasen la partida. Microsoft, en su momento intentó y fracasó anticiparse a esto añadiendo un transporte extra HTTP a DCE/RPC denominado "ncacn_http" (connection-based, over HTTP).

Versiones alternativas e implementaciones[editar]

El Open Group tiene una implementación DCOM llamada COMsource, cuyo código fuente está disponible, así como la documentación completa, suficiente para su uso y suficiente también para implementar una versión interoperable de DCOM. De acuerdo con la documentación, COMsource viene directamente del código fuente de Windows NT 4.0, e incluso incluye el código fuente de un Servicio de Registro de Windows NT.

El equipo de Wine también está implementando DCOM. Lo hacen para conseguir la interoperabilidad binaria, y no están interesados en la parte de distribución sobre la red de DCOM, que es proporcionada por MSRPC. Si bien se centran en implementar representación de datos en red a través de las interfaces de programación de aplicaciones de Microsoft, dicha implementación tratará de ser tan compatible como sea posible con MSRPC.

Notas y referencias[editar]

  1. Pro VB 2010 and the.NET 4.0 Platform, 19 de octubre de 2010. ISBN 1-4302-2985-3. ISBN 978-1-4302-2985-8. Pág. 1063.
  2. Pro C# 2010 and the.NET 4 Platform. 14 de mayo de 2010. ISBN 1-4302-2549-1. ISBN 978-1-4302-2549-2. Edición: 5, pág. 1014.

Véase también[editar]

Enlaces externos[editar]