Modelo de objetos de componentes distribuidos

Software para la comunicación entre componentes de software

El modelo de objetos de componentes distribuidos ( DCOM ) es una tecnología patentada de Microsoft para la comunicación entre componentes de software en computadoras en red . DCOM, que originalmente se llamaba " OLE de red ", extiende el COM de Microsoft y proporciona el sustrato de comunicación bajo la infraestructura de servidor de aplicaciones COM+ de Microsoft .

La extensión de COM a COM distribuido se debió al uso extensivo de DCE/RPC (Distributed Computing Environment/Remote Procedure Calls), más específicamente la versión mejorada de Microsoft, conocida como MSRPC . [1]

En términos de las extensiones que agregó a COM, DCOM tuvo que resolver los problemas de:

  • Marshalling : serialización y deserialización de los argumentos y valores de retorno de llamadas a métodos "a través de la red".
  • Recolección de basura distribuida : garantiza que las referencias mantenidas por los clientes de las interfaces se liberen cuando, por ejemplo, el proceso del cliente falla o se pierde la conexión de red.
  • Combinar una cantidad significativa de objetos en el navegador del cliente en una sola transmisión para minimizar la utilización del ancho de banda.

Uno de los factores clave para resolver estos problemas es el uso de DCE/RPC como mecanismo RPC subyacente detrás de DCOM. DCE/RPC tiene reglas estrictamente definidas con respecto a la ordenación y quién es responsable de liberar la memoria. [2]

DCOM fue un competidor importante de CORBA . [3] Los defensores de ambas tecnologías las vieron como un día modelo para la reutilización de código y servicios en Internet . Sin embargo, las dificultades que implicaba hacer que cualquiera de estas tecnologías funcionara en cortafuegos de Internet y en máquinas desconocidas e inseguras significaron que las solicitudes HTTP normales en combinación con navegadores web ganaron sobre ambas. [4] Microsoft, en un momento dado, intentó remediar estas deficiencias añadiendo un transporte HTTP adicional a DCE/RPC llamado ncacn_http (protocolo orientado a la conexión de la arquitectura informática de red). [5]

DCOM se lanzó públicamente como una versión beta para Windows 95 el 18 de septiembre de 1996. [6]

DCOM es compatible de forma nativa con todas las versiones de Windows a partir de Windows 95 y con todas las versiones de Windows Server desde Windows NT 4.0 [7]

Mejoras de seguridad

Como parte de la iniciativa que comenzó en Microsoft como parte del Ciclo de vida de desarrollo seguro para rediseñar el código inseguro, DCOM vio algunos cambios significativos centrados en la seguridad en Windows XP Service Pack 2. [8]

En respuesta a una vulnerabilidad de seguridad reportada por Tencent Security Xuanwu Lab en junio de 2021, [9] Microsoft lanzó actualizaciones de seguridad para varias versiones de Windows y Windows Server, reforzando el acceso a DCOM. [10]

Versiones e implementaciones alternativas

COMsource es una implementación de DCOM basada en Unix, que permite la interoperabilidad entre diferentes plataformas. Su código fuente está disponible, junto con documentación completa y completa, suficiente para utilizar e implementar una versión interoperable de DCOM. COMsource proviene directamente del código fuente de Windows NT 4.0 e incluye el código fuente de un Servicio de Registro de Windows NT . [11]

En 1995, Digital y Microsoft anunciaron Affinity para OpenVMS (también conocido como NT Affinity), cuyo objetivo era permitir que OpenVMS sirviera como capa de persistencia para aplicaciones cliente-servidor de Windows NT . [12] Como parte de esta iniciativa, se añadió una implementación del Modelo de objetos componentes distribuidos (DCOM) a OpenVMS Alpha. [13] Para soportar DCOM, VMS recibió implementaciones del Registro de Windows, autenticación NTLM y un subconjunto de API Win32 necesarias para soportar COM. [14] DCOM se añadió por primera vez a OpenVMS V7.2-1 para Alpha. [15] Una implementación similar de DCOM se añadió a Digital Unix como parte del programa AllConnect. [13]

TangramCOM fue un proyecto separado de Wine, centrado en la implementación de DCOM en teléfonos inteligentes basados ​​en Linux. [16]

Véase también

Referencias

  1. ^ "¿Qué es el modelo de objetos de componentes distribuidos (DCOM)?". WhatIs.com . Consultado el 3 de agosto de 2022 .
  2. ^ "DCE 1.1: Llamada a procedimiento remoto: Introducción a la API de RPC". pubs.opengroup.org . Consultado el 3 de agosto de 2022 .
  3. ^ Nowak, Filip; Qasim, Mohsin. "Una comparación de las tecnologías de objetos distribuidos CORBA vs DCOM" (PDF) . Archivado (PDF) desde el original el 29 de agosto de 2017. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  4. ^ "Object Technology Jeff Sutherland: Servicios web: ¿mejores que CORBA o DCOM?" . Consultado el 3 de agosto de 2022 .
  5. ^ stevewhims. "Llamadas a procedimientos remotos mediante RPC sobre HTTP: aplicaciones Win32". docs.microsoft.com . Consultado el 3 de agosto de 2022 .
  6. ^ Comunicado de prensa que anuncia la versión beta de DCOM
  7. ^ "Protocolo remoto del modelo de objetos componentes distribuidos (DCOM)" (PDF) . Microsoft - Protocolo remoto del modelo de objetos componentes distribuidos (DCOM) . 25 de junio de 2021. Archivado (PDF) desde el original el 9 de mayo de 2021 . Consultado el 3 de agosto de 2022 .
  8. ^ Mejoras de seguridad de DCOM
  9. ^ "Guía de actualización de seguridad - Centro de respuesta de seguridad de Microsoft". msrc.microsoft.com . Consultado el 3 de agosto de 2022 .
  10. ^ "KB5004442: Administrar cambios para la omisión de la característica de seguridad del servidor DCOM de Windows (CVE-2021-26414)". support.microsoft.com . Consultado el 2022-08-03 .
  11. ^ "Hoja de datos de COMsource para Solaris, Tru64 UNIX y otras plataformas". Hoja de datos de COMsource para Solaris, Tru64 UNIX y otras plataformas .
  12. ^ "OpenVMS a los 20 Nada lo detiene" (PDF) . Digital. Octubre de 1997. Archivado (PDF) desde el original el 2021-04-19 . Consultado el 2021-02-12 .
  13. ^ de Gene Cronin, Terence P. Sherlock (2000). COM más allá de Microsoft: diseño e implementación de servidores COM en plataformas Compaq. ISBN 1555582265.
  14. ^ "Guía para desarrolladores de conectividad OpenVMS". hpe.com . Julio de 2000 . Consultado el 1 de enero de 2021 .
  15. ^ "Notas de la versión de OpenVMS Alpha V7.2-1". odl.sysworks.biz . Enero de 1999 . Consultado el 1 de enero de 2021 .
  16. ^ "Inicio - TangramCOM". www.andjoin.com . Consultado el 3 de agosto de 2022 .
  • Protocolo de modelo de objetos de componentes distribuidos: DCOM/1.0
  • El COMsource de Open Groups Archivado el 13 de enero de 2020 en Wayback Machine
  • TangramCOM
Obtenido de "https://es.wikipedia.org/w/index.php?title=Modelo_de_objetos_componentes_distribuidos&oldid=1234328388"