none
Estrategia para sobreescribir un componente COM RRS feed

  • Pregunta

  • Hola, 

    Estoy inmerso en la evolución de una plataforma de firma y validación de certificados. Para que las aplicaciones Legacy no tengan que modificar sus interfaces con respecto al componente de firma nuevo, tengo que "sobreescribir" o "sustituir" ese componente que utilizan ahora para que realice las operaciones de firma y validación de certificados sobre la nueva plataforma.

    El componente Legacy es un COM que tiene una referencia a DLLCrypto y CAPICOM para la realización de sus operaciones. Dado que  NO se puede modificar las aplicaciones clientes del componente COM para que se conecten directamente con la nueva plataforma, he optado por una solución de "sobreestricura" de las propiedades necesarias del componente COM o "sustituir" el componente por otro nuevo, con la mismas propiedades, pero que su contenido sea nuevo.

    La nueva plataforma está basada en servicios web con protocolo SOAP, por lo que mi Componente COM debería de poder llamar al servicio web para realizar algunas de las operaciones de firma etc. pero para otras operaciones no hay una nueva implementación (o no se quiere utilizar la nueva) y se debería poder usar las que utilizan DLLCrypto y CAPICOM. Es decir, necesito sobreescribir parte del componente y que la otra parte quede igual.

    Mi idea es crear un componente en vb .Net con Framework 4.0 o 4.5 para consumir los servicios web correctamente y después:

    1. Empaquetarlo para que o bien sustituya al componente COM Legacy por completo. 
    2. Crear un nuevo componente COM que se registre como complemento del anterior y sobreescriba únicamente las propiedades deseadas. (No estoy seguro de que se pueda hacer).

    Supongo que sustituir un componente por otro con la misma firma debería funcionar, pero no estoy muy seguro de como hacerlo bien (he estado consultando http://msdn.microsoft.com/es-es/library/sd10k43k(v=vs.100).aspx

    Me atrae la idea de dejar el componente Legacy y añadir uno nuevo que sobreescriba algunas operaciones para no "tocar" lo que ya hay desplegado, pero no sé si eso es posible.

    • ¿Que estrategia me recomendáis?
    • ¿Conocéis algún ejemplo de códigosimilar?
    • Prácticamente todo lo que encuentro son ejemplos muy básicos que no me hacen decidirme del todo por una estrategia u otra ya que solo implementan un Componente COM desde .Net y lo registran como Interoperable con COM.

    Muchas Gracias por todo, 

    Pablo.


    Regards, Pablo Martín Gutierrez.

    jueves, 5 de diciembre de 2013 12:25