Tecnología ActiveX

http://personal.redestb.es/juanperez/activex.htm

Fundamentos de la Tecnología ActiveX

Los antecedentes de la tecnología ActiveX se remontan a la tecnología Object Linking and Embedding (OLE versión 1.0 y 2.0), que se puede traducir por Objetos Vinculados e Incrustados. Nacio a partir de lo que se denominaba DDE, Dynamic Data Exchange o Intercambio dinámico de Datos, la cual se implemento en aplicaciones de Microsoft (Excel, Access, etc).

La idea básica de todas estas tecnologías es diseñar aplicaciones que puedan intercambiar datos y compartir código, de forma que sean accesibles unas desde dentro de otras. En concreto los controles OLE actúan en forma de pequeños módulos de aplicaciones, listos para ser incluidos por los programadores en aplicaciones finales, de los cuales sabemos como utilizarlos pero no sabemos como realizan su trabajo, internamente.

La tecnología subyacente en ActiveX basada en OLE y COM (Component Object Model), aunque se trata de una herramienta de programación general, fue desarrollada con vistas a implementar páginas iNet (Internet e Intranets) más interactivas y en las que se pudiera emplear diversos lenguajes de programación ya perfectamente establecidos (Java, Visual Basic, Visual C++, Borland C++, Delphi, .... y por supuesto CA-Visual Objects 2.0). El objetivo es conjugar lo mejor de los dos mundos: programación tradicional y para internet; a la vez que atraer a programadores ya experimentados en el uso de controles OCX (controles OLE) y aprovechar una gran cantidad de código ya escrito (cerca de mil controles OCX comercializados) para su utilización e las redes iNet.

ActiveX, consta de dos partes diferenciadas: el servidor y los clientes. La plataforma servidora debe contener los controles ActiveX o la referencia de donde se encuentran y, caso de no estar ya en la plataforma cliente, transferirlos a ésta, registrarlos en su sistema y ejecutar el código asociado. En la actualidad, los controles ActiveX son propietarios de las plataformas que trabajen bajo los sistemas operativos Windows 32-bits (Windows 95 y Windows NT), pero está desarrollandose su soporte para Macintosh (MacOS) y, se prevé que llegue a buen término, a multiples plataformas UNIX.

Los controles ActiveX, desde la perspectiva del programador, se pueden utilizar en lenguajes habituales en Internet, incluyendo Java, JavaScript y, por supuesto Visual Basic Scripting Edition, además de todos los tradicionales que sean capaces de manejar controles OLE (Compiladores de C/C++ de Microsoft, Borland, Symantec o Watcom, Sybase Optima++ y Powerbuilder, Microsoft Visual Basic, Borland Delphi, CA-Visual Objects 2.0, etc..).

Modo de trabajo de los ActiveX

Las características de trabajo de los ActiveX se centran en:

·         Un módulo de código programado en un lenguaje, normalmente de bajo nivel, como C/C++. Se implementan propiedades (algo así como variables, bien referentes a su apariencia externa o de conjuntos de datos) y métodos de acceso, definición y procesamiento de esas propiedades.

·         Los módulso tienen unas características de autonimía propia. Con ello, deben ser código binario (compilado) que sea capaz de definir cuando iniciar y cuando terminar su ejecución.

·         El código generado ha de tener la capacidad de interactuar con otros módulos ActiveX y/o ejecutables finales. Esto es, recibirá entradas de ellos y podrá enviar datos de salida hacia ellos. Como comentabamos en las bases del estandar OLE, se definen dos niveles: servidor y cliente. Un servidor es aquel que recibe peticiones de los clientes, ejecuta las operaciones pertinentes y devuelve datos procesados. Un cliente puede acceder a los datos de un a aplicación servidora y gestionar su información como si de datos propios se trataran.

·         Un mismo control ActiveX se encargará de realizar todas las operaciones necesarias con cuantas aplicaciones se lo demanden. Es decir, residirá en un archivo que se cargará, en memoria y podrá servir de base a varias aplicaciones cliente, incluso dentro de un sistema de red.

·         La actualización del código de un control ActiveX no debe suponer una reprogramación de las aplicaciones clientes (aquellas que lo utilicen). debe mantenerse una compatibilidad con versiones anteriores, de forma que las mejoras afecten al cómo se procesa la información, pero no al método de acceder a ella y cómo se devuelve a los clientes.

·         Una diferencia sustancial entre los controles OCX (controles OLE) tradicionales y los nuevos controles ActiveX se refiere a la seguridad para el usuario. Los controles ActiveX deben ser oficialmente certificados por Microsoft (Authenticode) o mediante algún método de autentificación, del que el usuario final sea consciente del nivel de seguridad (o riesgo, como quiera verlo) que asume al utilizarlo, o permitir que lo utilicen aplicaciones que ejecuten.

Programación con ActiveX para Internet

Hay que tener en cuenta que en estos momentos, sólo pueden visualizarse páginas Internet con controles ActiveX mediante Microsoft Internet Explorer 3.x o superior. Ha de esperar a las próximas versiones del navegador de Netscape para poder utilizarlo con dichos controles. Alternativamente, se puede usar el plug-in de la empresa NCompass Labs Inc., que permite usar controles ActiveX desde Navigator.

La principal dificultas de programar con controles ActiveX, insertados en páginas Web, es conocer detalles acerca de los registros, propiedades y métodos de los controles. Si utiliza entornos de desarrolo Microsoft Visual J++, la dificultad se verá sustancialmente atenuada, pero si desea usar lenguajes script, al estilo de JavaScript, puede suporner un serio problema,ya que habrá que disponer de la documentación completa del control (muchas veces no facilmente accesible) e ir al registro de Windows para saber su código de registro (Regedit.exe).
Afortunadamente Microsoft pone en nuestras manos una notable herramienta, de libre acceso a través de Internet, que se denomina
Microsoft ActiveX Control Pad su atractivo fundamental, que no es único, es que nos facilita la labor de elucidación de códigos y la integración asistida de controles ActiveX en páginas para iNet.

La estructura del tag de inserción de objetos ActiveX, en la forma <OBJECT..> ....... </OBJECT>, es:

<OBJECT ID=......

CLASSID=...
CODEBASE=...
ALIGN=...
BORDER=...
WIDTH=...
HEIGht=...
...
<PARAM NAME=... VALUE=...>
...

</OBJECT>

donde:

·         ID: Un identificador único, que podremos especificar según nuestra conveniencia (no puede contener espacios en blanco), que servirá para referirnos a los parametros y acceder a los valores de propiedades, cuando trabajemos con código script, Java u otros.

·         CLASSID: Contiene la clave del control ActiveX que ha de registrarse en el ordenador cliente, al estilo de CLASSID="CLSID:D7053240-CE69-11CD-A777-00DD01143C57". Este código de valor es el que está en el registro de Windows. Utilizando RegEdit, puede elucidarlo buscando la clave de registro CLSID para el archivo OCX que contenga el control ActiveX. El uso Microsoft ActiveX Control Pad facilita enormemente la labor, ya que lo incluye de forma automática.

·         CODEBASE: Aquí podremos indicar, en forma de una cadena URL, en que lugar se encuentra el control ActiveX, caso de necesitar el cliente descargarlo en su ordenador. Si no se especifica nada, se supone se encuentra en el URL base del documento.

·         WIDTH y HEIGHT: Fija el ancho y le alto que ocupará el control ActiveX en la página html.

·         ALIGN: Fija el modo de alinear el control, en la página html.

·         BORDER: Fija el tipo de borde que aparecerá en el contorno del Control ActiveX

·         Parametros/Propiedades: Aqui se fijan las propiedades (properties) características del control ActiveX. Hemos de disponer de la documentación técnica del control para conocer los tipos de datos y posibles valores. Si utiliza ActiveX Control Pad, se le mostrará una ventana flotante para definir todos estos parámetros y se creará automáticamente la referencia con la sintaxis correcta. El formato general es <PARAM NAME=... VALUE=...>.

 

Bibliog.: PC WORLD Práctico nº 132. Jaime Peña Tresancos.



Pagina Principal


© Copyright 1.997, Grupo de Programación VISUAL OBJECTS.
Webmasters: Juan Pérez Cutillas, Jesus Fernández Jiménez.
Fecha de la ultima actualización:
30 mayo, 1997.
[email protected] , [email protected]

 

Hosted by www.Geocities.ws

1