Ciclo de vida del objeto del modelo de objetos componentes (COM)

El proceso del ciclo de vida del objeto del Modelo de objetos componentes (COM) es una técnica de mantenimiento de recursos útiles y la interacción de los componentes llevada a cabo por medio del Modelo de objetos componentes (COM). COM es una estructura de software estándar desarrollada por Microsoft que ofrece un marco para integrar componentes de software.

Este marco permite a los desarrolladores construir estructuras con la ayuda de ensamblar componentes reutilizables. Al definir la interfaz de programación de aplicaciones (API), COM aprueba la introducción e integración de factores en propósitos personalizados o aprueba varios factores para interactuar. Interplay solo es viable si los elementos se adhieren a la estructura binaria dirigida por Microsoft. Los componentes escritos en lenguajes de programación exclusivos pueden interoperar si se adhieren a esta estructura binaria.

La técnica del ciclo de vida de COM comienza a evolucionar cuando el cliente solicita crear y usar un objeto de COM. Los siguientes pasos están relacionados con el ciclo de vida del objeto COM:

  1. Solicitud de cliente:
    la solicitud de cliente COM es el primer segmento de creación de objetos. Aquí, el cliente COM es todas y cada una de las utilidades que invocan la API COM para instanciar un nuevo objeto COM. Luego pasa CLSID único o ID de clase a COM y, a cambio, solicita el objeto instanciado. El cliente COM es responsable de dos tareas específicas, que deben incluirse al comienzo de este segmento si ya no se realizaron en el inicio de la aplicación:
    • El cliente COM debe afirmar que el modelo de biblioteca COM es nuevo y adecuado para admitir el rendimiento previsto por la aplicación. En general, la aplicación puede usar la versión actualizada de la biblioteca, sin embargo, ya no es más antigua.
    • El cliente COM tiene que inicializar la biblioteca COM.
      El cliente del objeto COM le pide continuamente a COM que cree instancias de objetos de manera exactamente idéntica y no depende del tipo de servidor en uso, es decir, puede ser un servidor en proceso, un servidor local o cualquier otro. Hablando de métodos, hay dos tipos de métodos, que el cliente utiliza para realizar la solicitud. El enfoque más fácil es llamar a la función COM CoCreateInstance. En respuesta a esto, se crea un objeto de una ID de clase dada y devuelve un puntero de interfaz de cualquier tipo solicitado.

      Hay una opción alternativa para lo mismo, es decir, al llamar a CoGetClassObject, el cliente puede lograr y obtener un puntero de interfaz, que se denomina objeto de fábrica de clase para CLass ID. Esta fábrica de clase ayuda a la interfaz denominada IclassFactory a través de la cual el consumidor le pide a la fábrica que fabrique un objeto de su clase.

  2. Ubicación del servidor:
    el paso siguiente relacionado con el ciclo de vida del objeto COM es la ubicación del servidor.
    proceso. En este paso, COM localiza la implementación del objeto e inicia el sistema del servidor para el objeto. Un elemento único denominado Administrador de control de servicios o SCM que es responsable de la ubicación y ejecución del servidor COM que implementa el objeto COM. SCM garantiza que cuando se realiza la solicitud del cliente, se vincula el servidor adecuado y se prepara para adquirir la solicitud. SCM almacena todos los registros de clase en el registro del sistema, debajo de una clave de contenido textual única nombrada con la ID de clase del objeto.

    Por ejemplo, el Administrador de control de servicios admite el almacenamiento de archivos y almacena las rutas de los archivos de los servidores COM, lo que ayuda a su localización y puede encontrar fácilmente su ubicación una vez. El cliente COM obtiene estos registros a través de la biblioteca COM.

    Las acciones, tomadas por medio de SCM, se basan en una especie de servidor COM:

    • En proceso:
      en este proceso, SCM proporciona la ruta del archivo de la DLL que contiene la implementación del servidor de objetos. Luego, la biblioteca de COM es responsable de cargar DLL y además le solicita su puntero de interfaz de su clase de fábrica.
    • Local:
      en este proceso, SCM busca y comienza la ejecución local, que registra el puntero de interfaz de la fábrica de clases.
    • Remoto:
      por último, en este proceso, el SCM local se pone en contacto con el SCM que se ejecuta en la computadora remota adecuada y reenvía la solicitud al SCM lejano. Luego, el SCM remoto adicional obtiene el puntero de interfaz de la fábrica de clases en una de las dos formas descritas anteriormente.

      Su función de SCM remoto es mantener la conexión con la fábrica de esa clase y devolver la conexión RPC al SCM local.

  3. Creación de objetos:
    en el ciclo de vida del objeto COM, la tercera fase, que se conoce como Creación de objetos, crea objetos mediante la asignación de un ID de clase. Incluye tres pasos interiores:
    • Obtenga la fábrica de clases para CLSID.
    • Pida a la fábrica de clases que cree una instancia del objeto de la clase y devuelva el puntero de la interfaz al cliente COM.
    • Inicializa el objeto COM.
  4. Interacción:
    cuando se inicializa el objeto, comienza la cuarta fase de este proceso, que se conoce como Interacción. Durante esta fase, el cliente puede interactuar con el objeto COM recién creado con la ayuda de los punteros de la interfaz.

    La fase de creación es responsable de dar al cliente un puntero de interfaz único que tenga un alcance limitado de uso de la funcionalidad. Si el cliente COM requiere en un momento determinado realizar una operación fuera de ese ámbito, entonces para hacerlo debe llamar a la función de interfaz QueryInterface para solicitar otra interfaz en el mismo objeto.

  5. Desconexión:
    la fase del proceso de cierre es la Desconexión que tiene lugar cuando el cliente COM ya no desea el objeto COM. La base de este paso es el mecanismo de conteo de referencias. Este mecanismo ofrece funcionalidad de objeto COM para manipular su propia vida útil. Por lo tanto, como alternativa a la liberación directa del objeto, el cliente COM necesita informar al objeto para que se libere.

    COM especifica el mecanismo de recuento de referencias para proporcionar este control. Cada objeto mantiene una base de referencia de 32 bits que rastrea cuántos clientes están vinculados a él. El uso del contador de 32 bits, que puede manejar hasta más de 4 mil millones de clientes, capacidad que ciertamente no existe amenaza de sobrecargar el conteo.

    Hay 2 funciones de interfaz, AddRef y Release, conteo de control que pertenece a la interfaz COM base IUnknown. La función AddRef es para incrementar el conteo y las funciones Release son para decrementar el conteo. Cuando la referencia se reduce a cero, significa que todos los clientes que utilizan objetos COM y que estaban asociados con él ahora están desconectados y el objeto COM puede arruinarse, es decir, se produce la autodestrucción del objeto.

Publicación traducida automáticamente

Artículo escrito por dikshamulchandani1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *