¿Qué es AtciveX? ¿Hacer lo?
1. El origen de ActiveX
ActiveX al principio era solo un nombre comercial. Las tecnologías que cubre no están aisladas. a Internet. Más importante aún, toda la tecnología de ActiveX está construida por COM (Modelo de objetos componentes) de Microsoft. Pero no cometa el error de pensar que ActiveX define todas las tecnologías basadas en COM. COM está relacionado con Microsoft Office y Windows y todo lo que hace Microsoft ahora, pero obviamente esos productos no son miembros de la familia ActiveX.
ActiveX está desarrollado a partir de la tecnología de documentos compuestos de Microsoft-OLE. La versión inicial de OLE era sólo para documentos compuestos, pero en la versión posterior de OLE2 se introdujo COM. COM nació de las necesidades de los diseñadores OLE. Su punto de partida básico es permitir que un software proporcione servicios a otro software a través de una organización general. Entonces el primer usuario de COM es OLE2. De hecho, COM tiene poco que ver con documentos compuestos. Más tarde, COM, como tecnología completamente ajena a los documentos compuestos, comenzó a utilizarse ampliamente. De esta forma, Microsoft empezó a "involucrarse" en la tecnología de plataformas comunes. Pero COM no es un producto, necesita una marca. Desafortunadamente, los expertos en marketing eligieron "OLE" como marca. Por lo tanto, las tecnologías que utilizan COM comenzaron a denominarse OLE. Por supuesto, la mayoría de estas técnicas no tienen nada que ver con documentos compuestos. Microsoft quiere explicarle a la gente: "¡OLE es más que simples documentos compuestos!" Esto requiere mucho esfuerzo y tiempo.
Entonces, en la primavera de 1996, Microsoft cambió de opinión y eligió ActiveX como su nueva marca. ActiveX se refiere a una colección vagamente definida de tecnologías basadas en COM, mientras que OLE todavía se refiere sólo a documentos compuestos. Por supuesto, el núcleo más importante es COM.
Hacer que el modelo de objetos sea completamente independiente del lenguaje de programación es una idea muy novedosa. A partir de los objetos de C++ y Java, podemos obtener cierta comprensión. Pero ¿qué es el llamado objeto COM? Para facilitar la comprensión, COM puede verse como una tecnología de empaquetado, es decir, puede verse como una combinación de diferentes partes del software en un proceso interactivo y un conjunto de bibliotecas de soporte en una determinada forma orientada a objetos. Los objetos COM se pueden escribir en cualquier lenguaje como C++, Java, VB, etc., y se pueden implementar en forma de DLL o como archivos ejecutables de diferentes procesos. Los clientes que utilizan objetos COM no necesitan preocuparse en qué idioma está escrito el objeto o si lo ejecuta una DLL u otro proceso. Desde el punto de vista del cliente, no hay diferencia.
Esta técnica de procesamiento general es muy útil. Por ejemplo, dos aplicaciones que los usuarios ejecutan juntas pueden implementar sus * * * y partes del trabajo como interacciones entre objetos COM (por supuesto, los documentos compuestos OLE ahora también pueden hacer esto). El código descargado del servidor web y ejecutado en el navegador puede ser tratado como objetos COM por el navegador. Dicho esto, la tecnología COM también es la forma estándar de empaquetar código descargable (los controles ActiveX realizan esta función).
COM incluso puede especificar los métodos mediante los cuales las aplicaciones interactúan con el sistema operativo nativo (la mayoría de las nuevas API utilizadas por Windows y Windows NT se definen como objetos COM). Aunque COM se originó a partir de documentos compuestos, se puede aplicar eficazmente a muchos problemas de software.
2. ActiveX Kingdom
La plataforma activa es la visión del mundo de Microsoft. La idea básica es utilizar controles ActiveX para construir un mecanismo automatizado que incluya monitores de procesamiento de transacciones que interactúen con el usuario y se adapten a servidores COM y web. La plataforma activa consta de dos partes: servidor activo y cliente activo.
El servidor activo es en realidad el nivel medio. Utilice componentes o páginas de servidor activo para proporcionar un lugar para la lógica empresarial y el procesamiento de aplicaciones principales. El núcleo de la tecnología ActiveServer es el servidor NT, el servidor de transacciones de Microsoft, los servicios de gestión de datos, los servicios de directorio, los servicios web y los servicios de red.
El servidor de transacciones combina funciones tradicionales de monitoreo de TP, como la generación de subprocesos y la duplicación de bases de datos, con el modelo de programación basado en componentes de Microsoft.
Otros componentes de la plataforma activa, como los servicios de gestión de datos, utilizan OLE DB y ODBC para acceder a fuentes de datos como DB2, Oracle y SQL Server. Servicios de directorio proporciona una capa de servicios de directorio alrededor de DCOM (COM distribuido) para que los objetos remotos puedan buscarse entre sí en la red. Los servicios web se construyen alrededor de servidores de información de Internet, que proporcionan mecanismos de secuencias de comandos para el desarrollo de aplicaciones web en el servidor. El servicio de red se basa en DCOM, que puede conectarse a controles a través de la red mediada por MS-RPC sincrónico.
El cliente activo es multiplataforma. Aunque la tecnología de Microsoft es exclusiva, también quiere abrir esta tecnología a múltiples sistemas operativos. La solución de implementación específica es utilizar un motor de script. Este motor de script consta de HTML estándar, Java Virtual Machine (JVM) específica de Microsoft, VBScript y JScript de Microsoft. El cliente activo se ensambla en Microsoft IE 3.0 y 4.0 y puede convertirse en parte de la aplicación C/S del usuario a través de ActiveX.
Desde la perspectiva de los usuarios empresariales que utilizan Windows, la plataforma Active puede proporcionar una plataforma de desarrollo de aplicaciones de servidor sólida y escalable. ActiveServer también utiliza algunas herramientas y tecnologías comunes en productos de alta gama como el monitor TP. Por lo tanto, las aplicaciones de intranet y grupos de trabajo pequeños no exceden las capacidades del servidor activo. Aunque la máquina de destino de la plataforma Active es un entorno de máquina heterogéneo, no puede controlar al cliente debido a su excesiva dependencia de IE. Aunque Explorer se ha lanzado en algunas plataformas que no son Windows S, la última versión de Explorer que es mejor compatible todavía está en Windows s.
En tercer lugar, el progreso de ActiveX
1. Extensión de la informática distribuida
La versión inicial de COM suponía que los objetos COM y sus clientes se ejecutaban en el mismo. En la máquina (ya sea en el mismo proceso o en un proceso diferente), DCOM es un miembro importante de la familia ActiveX. Posteriormente también estuvo disponible en Windows 95. DCOM no cambia la forma en que los clientes crean objetos COM y se comunican entre sí.
El cliente utiliza exactamente el mismo código y puede acceder a objetos locales y remotos. Pero en muchos casos, los clientes quieren utilizar algunos accesorios DCOM. DCOM está equipado con mecanismos distribuidos de seguridad y confidencialidad, que proporcionan autenticación y cifrado de datos. En Windows NT 5.0, que se lanzará en 1998, se deberían agregar Kerberos y otros protocolos de seguridad a DCOM. DCOM ha podido buscar objetos COM en otras máquinas utilizando servicios de directorio simples como Servicios de nombres de dominio. NT 5.0 necesita agregar soporte para Active Directory. Active Directory se basa en los servicios de nombres de dominio y el protocolo ligero de acceso a directorios.
El rival de DCOM siempre ha sido CORBA (Common Object Query Agent Architecture) de OMG (Object Management Group). Se ha ensamblado en productos como Orbix de Iona y VisiBroker de Visigenic. No hace mucho, apareció otra tecnología para admitir objetos distribuidos: la invocación de métodos remotos de Java. Tanto ORBA como DCOM pueden comunicarse entre objetos escritos en varios idiomas. RMI, por otro lado, se limita a la comunicación entre objetos implementados en Java. Obviamente, esto es una limitación. Pero RMI es muy sencillo de utilizar. Además, los desarrolladores de RMI pueden utilizar Java para diseñar especificaciones de protocolo. Por lo tanto, en términos de funciones del lenguaje, puede ser perfecto.
Es relativamente sencillo escribir un servidor DCOM que sólo maneje dos o tres clientes. Sin embargo, construir un servidor DCOM que pueda manejar eficientemente cientos o miles de clientes es bastante difícil.
Para escribir servidores DCOM escalables, Microsoft lanzó Transaction Server (MTS). Además de admitir el procesamiento de transacciones, MTS también proporciona servicios como la generación automática de pistas y la reutilización de objetos inteligentes. MTS facilita la creación de servidores escalables. Incluso para aplicaciones que no requieren procesamiento de transacciones, el uso de MTS puede resultar beneficioso. De hecho, Microsoft anima a la gente a escribir aplicaciones MTS en VB. Esto es diferente del método tradicional de desarrollo de servidores empresariales.
Todas las aplicaciones MTS están escritas como más de un objeto COM y deben implementarse mediante una DLL. En términos generales, MTS es invisible para los clientes. Los clientes sólo necesitan crear y utilizar objetos COM como de costumbre.
2. Estandarización de componentes
Los métodos de desarrollo de aplicaciones basados en componentes son los mismos que los utilizados para ensamblar dispositivos electrónicos, y las aplicaciones se pueden construir utilizando componentes fabricados. Los componentes basados en COM utilizados en el escritorio se denominan controles ActiveX. El llamado control ActiveX no es más que un objeto COM que cumple ciertos estándares e interactúa con el cliente.
Por ejemplo, los controles ActiveX deben exponer métodos a través de la automatización (es decir, utilizando la interfaz de despacho). Esta interacción estandarizada le permite utilizar los mismos controles en muchos entornos diferentes. Detrás de esta interfaz estándar, los controles ActiveX pueden hacer casi cualquier cosa. Ahora muchas empresas de software pueden proporcionar controles que implementen diversas funciones.
Los controles ActiveX están escritos como DDL, por lo que deben cargarse en un contenedor. El contenedor prototipo del control ActiveX es VB y hay muchos contenedores para elegir. Un contenedor de control muy importante actualmente es el navegador web de Microsoft.
Muchos métodos ahora requieren la implementación de los llamados controles ActiveX. Se han movido del disco duro local de la máquina a un contenedor como VB. No parece haber mucha diferencia entre un control de unos cientos de KB y unos pocos MB. Sin embargo, cuando el control se carga en un navegador web, lo más probable es que pase por una línea telefónica lenta. Ahora, controlar la escala se ha convertido en una cuestión muy crítica. Una vez que se vayan a ejecutar controles que superen un determinado límite, se ampliará el tiempo de descarga. Por lo tanto, Microsoft estipula que en los controles ActiveX sólo se pueden ejecutar funciones absolutamente necesarias.
OpenDoc, impulsado por Apple e IBM, fue en su día el principal competidor de los controles ActiveX. Ahora los patrocinadores de OpenDoc han anunciado oficialmente que dejarán de financiarlo. La mayoría de las empresas que luchan contra Microsoft están recurriendo a JavaBeans (arquitectura de componentes basada en Java). Los controles ActiveX se incluyen básicamente con Windows y se distribuyen como código de máquina binario, pero JavaBeans se diferencia en que se puede ejecutar en cualquier lugar. Por supuesto, esto tiene un costo. Claramente, es imposible explotar plenamente el entorno local sin sacrificar la portabilidad. Al escribir componentes que se puedan descargar del * * Internet público, se debe preferir JavaBeans.
El mercado de componentes de escritorio continúa creciendo rápidamente. La mayoría se crean utilizando controles ActiveX (los Java Beans siguen siendo una minoría). Sin embargo, la estandarización de los componentes del servidor se ha quedado atrás. En el escritorio, los navegadores web, VB y PowerBuilder como contenedores son potentes entornos de programación. Pero ¿qué pasa con los contenedores de servidores? Como contenedor de componentes en un servidor, un servidor de transacciones es una mejor opción.
Los competidores de Microsoft están haciendo todo lo posible para evitar que MTS y NT dominen el mercado. Están acelerando el desarrollo de estándares de componentes de servidor, el más prometedor de los cuales es Enterprise JavaBeans. Es una extensión de JavaBeans y define la interfaz del servidor de transacciones. Los partidarios de Enterprise JavaBeans esperan que los proveedores de software independientes escriban componentes de servidor no como componentes COM sino como Beans.
En cuarto lugar, herramientas de construcción ActiveX
Con la popularidad de los controles ActiveX, el número de herramientas de desarrollo para controles ActiveX está aumentando. Debido a que ActiveX es independiente del lenguaje, las herramientas de desarrollo tradicionales básicamente pueden construir y equipar controles ActiveX. Los más utilizados son Delphi, PowerBuilder, Visual Basic, Visual C++, Visual J++, etc.
1. Descripción básica
Los métodos para desarrollar controles ActiveX usando 3GL son: ①MFC (Microsoft Foundation Class), ②ATL (ActiveX Template Library), ③BaseCtrl framework, etc. MFC es el más clásico. Al utilizar MFC, los desarrolladores no pueden preocuparse por la interfaz, sino centrarse en las acciones del objeto. La desventaja es que el tamaño del control es grande y la DLL debe existir con el contenedor en el momento de la ejecución.
ATL puede utilizar plantillas para generar código. Es decir, no es necesario iniciar bibliotecas y DLL con el control. En ATL es necesario derivar de varias clases base que existen como plantillas. AT L también tiene algunas deficiencias, es decir, la interfaz es difícil de manejar y las interfaces necesarias en la aplicación deben realizarse por separado. Además, ATL no admite asistentes de clases. Desafortunadamente, no existe ningún asistente que sincronice automáticamente el lenguaje de descripción de objetos y los archivos de lenguaje de definición de interfaz con el código de usuario. BaseCtrl es una biblioteca sencilla. Muy similar a ATL, pero sin plantillas. De hecho, debido a que BaseCtrl es demasiado simple, Microsoft no lo admite. En BaseCtrl, hay varios controles esqueleto. BaseCtrl proporciona un modelo de desarrollo ActiveX fácil de entender, pero no es simple ni tan flexible como ATL. Actualmente, BaseCt rl es una opción "amarga" para los desarrolladores de controles ActiveX.
2. Herramientas de desarrollo
La herramienta original para crear controles ActiveX es Visual C++ de Microsoft. Puede proporcionar a los desarrolladores de ActiveX la mayor cantidad de controles. Visual J++ también puede crear controles ActiveX.
Las dos herramientas de Borland (JBuilder e IntraBuilder) también son muy llamativas. Pero sólo Delphi 3.0 y C++ Builder pueden utilizar Borl y otras herramientas para crear componentes ActiveX. Borland dijo que una de las funciones de desarrollo ActiveX de Delphi está activa internamente. Crea cualquier ventana de Delphi en forma de ActiveX. Active Inside viene con nuevos controles en la web. Delphi puede vincular controles a COM y DCOM.
PowerBuilder 5.0 es una herramienta de desarrollo cliente/servidor que se puede convertir a desarrollo ActiveX. PowerBuilder puede configurar la ventana de datos (la parte central del desarrollo de aplicaciones de Power Builder) como un control ActiveX. Para que los desarrolladores actuales de PowerBuilder puedan utilizar algunas funciones familiares, como el lenguaje de programación PowerScript.
Microsoft es la mejor herramienta para realizar controles ActivX. Por ejemplo, si utilizan Visual Basic 5.0, los desarrolladores pueden utilizar el entorno de programación visual y el lenguaje nativo Visual Basic para aplicaciones para desarrollar controles.
Verbo (abreviatura de verbo) Tecnología de objetos multimedia en red ActiveX defendida por Microsoft
De hecho, el mundo de Windows y Windows NT es el mejor entorno para la tecnología ActiveX. Pero no importa cómo Microsoft impulse su sistema operativo, no puede lograr que todas las empresas utilicen sólo Windows. Por lo tanto, Microsoft debería trabajar para que partes de las familias COM, DCOM y ActiveX estén disponibles en otros sistemas operativos. Ahora, en Macintosh, ActiveX ya es compatible, lo que también incluye soporte para controles ActiveX. Las empresas de software están trasladando estas tecnologías a varias plataformas Unix e IBM OS/390. DEC y HP también planean utilizar estas tecnologías en sus propios sistemas, también trasladando el código de Microsoft.
COM se ha convertido en una parte importante del software básico en Windows 95 y Windows NT, pero todavía hay muchas incertidumbres en su futuro. Por ejemplo, ¿puede Microsoft utilizar COM como tecnología multiplataforma y permitir que siga existiendo y desarrollándose? Para que NT Server sea adecuado para las empresas existentes, los servicios distribuidos como DCOM también deben usarse en plataformas que no sean de Microsoft. Resolver estos problemas llevará mucho tiempo. Además, los productos CORBA y RMI basados en Java se han ejecutado con éxito en entornos de múltiples sistemas operativos. Cuanto más tarde salga el DCOM multiplataforma, más adelante estarán CORBA y RMI.
¿Cuál es la perspectiva competitiva entre los controles ActiveX y JavaBeans? Ya sea que el software se ejecute en un navegador web o en otro lugar, en resumen, el software de componentes es el próximo gran avance en el desarrollo de software.
Aunque el control ActiveX actualmente lidera el camino, mientras OpenDoc se defiende, las empresas que compiten con Microsoft se unirán para competir con él. Los usuarios nunca quieren ver "dominar el mundo". Sólo en este aspecto, los JavaBeans también ocuparán un lugar en esta competencia del mercado.