ActiveX

ActiveX es un término que hace referencia a un conjunto de tecnologías independientes del lenguaje, que permiten que los componentes de software escritos en diferentes lenguajes funcionen juntos en entornos de red. Los componentes desarrollados bajo esta tecnología se denominan ActiveX.

Su fundamento es tratar de hacer que estos componentes sean reutilizables. Para ello, utiliza un modelo orientado a objetos para definir una jerarquía de componentes, entre los que pueden existir relaciones de dependencia. Cada componente (objeto) se caracteriza por un comportamiento, que se puede alterar a través de sus métodos, propiedades o la interacción con otros objetos.

¿Qué son los controles ActiveX?

Se trata de pequeñas aplicaciones capaces de interactuar con el usuario, realizar cálculos o representar datos, y que se insertan en páginas web a través de las etiquetas <OBJECT> y <PARAM>, que se corresponden a las operaciones de inserción del componente y paso de sus parámetros de ejecución.

¿Qué diferencia hay entre controles y componentes ActiveX?

Los elementos desarrollados con esta tecnología pueden aplicarse tanto en el lado cliente como en el lado servidor. Esta es la diferencia fundamental entre un control ActiveX, que se ejecuta localmente en nuestra aplicación, de un objeto ActiveX, que utiliza un “automation interface” (o interfaz automatizada) para que otras aplicaciones o herramientas de programación puedan utilizarlo.

Se denomina formalmente componente al objeto ActiveX y no al control. Un componente tiene la ventaja de que se trata de un estándar prácticamente universal, multiplataforma y, por tanto, independiente de las aplicaciones y sus lenguajes.

En esta guía de referencia obviaremos los controles (en clara desventaja) frente a las posibilidades que nos ofrecen los objetos de servidor, al poder combinarse, a través de ASP, con scripts y páginas HTML para poder crear webs profesionales. Su funcionamiento precisa la instalación del objeto en la máquina sobre la que se ejecute, y suele encontrarse bajo archivos de extensión OCX o DLL.

¿Cómo utilizo un componente en mi web?

Para poder utilizar un objeto, deberá enlazarlo con su página web a través de programación en un lenguaje de script, directamente, o a través del uso de ASP (Active Server Pages).

En cualquiera de los casos, deberá introducir cierto código para poder usar el objeto, una vez instalado en el servidor sobre el que vaya a ejecutarse. Se trata, principalmente de una línea en la que crea una “instancia” del objeto que va a usar, y el resto de código que utiliza los métodos y propiedades de la instancia que acaba de crear. Por ejemplo, si escribimos en una página ASP, el código debe quedar de la forma:

<%
Set OBJETO = Server.CreateObject(IDENTIFICADOR)
OBJETO.Metodo(Argumentos)
.......
%>

El parámetro “IDENTIFICADOR” es un identificador único del componente que suele darse en la forma Vendedor.Componente.

Los valores “OBJETO.Metodo(Argumentos)” referencian a las funciones, y parámetros que necesitan las mismas para su llamada, que incorpora el componente que estamos usando.

Por ejemplo, el componente Acceso a bases de datos utiliza objetos de datos de ActiveX (ADO) para proporcionar un fácil acceso a la información almacenada en una base de datos (o en otra estructura de datos en forma de tabla), que cumpla con el estándar ODBC (Open DataBase Connectivity).

A continuación se muestra el código que tendría que colocar en su página ASP para poder usar este objeto:

<%
'Aquí creamos la instancia del objeto
Set miconexion = Server.CreateObject("ADODB.Connection")

'Ahora usamos la instancia y sus propiedades para nuestros fines
'Indicamos al objeto la cadena de conexión
miconexion.ConnectionString = "DSN=midsn"

'Se abre la base de datos
miconexion.Open
' .......
'........

'Se cierra la base de datos
miconexion.Close
%>

Puede encontrar una especificación más detallada y ejemplos sobre este componente en el apartado de Bases de datos.

¿Cómo puedo crear mis propios componentes?

Si tiene algo de experiencia en programación de aplicaciones, puede que le resulte interesante desarrollar sus propios objetos para temas específicos.

Los componentes ActiveX (al ser independientes del lenguaje) pueden ser creados con casi todas las herramientas tradicionales de desarrollo (que soporten automatización).

Entre las más conocidas están el lenguaje C++, con los asistentes que se suministran junto a las librerías de clases MFC o OWL, ambas provistas con aplicativos como el Visual C++ (en particular MFC ActiveX ControlWizard) y Borland C++ respectivamente. Sin embargo, tal vez le resulte más sencillo el uso de otros aplicativos como Visual Basic o Delphi.

El enlace natural de estos componentes con las páginas HTML se realiza mediante scripts. Por ello, una vez creado el componente, podrá enlazarlo en su web directamente a través de scripts o con el uso de páginas ASP.

¿Dónde puedo encontrar componentes ActiveX?

Si busca por Internet encontrará numerosísimos componentes para similar número de utilidades. Aunque no todos los encontrará de manera gratuita (algunos son comerciales), podrá obtener versiones de prueba con las que podrá decidir si le interesa o no adquirir una licencia para su uso.

Dado que los componentes se ejecutan en el lado servidor, si precisara utilizar algún componente (que no estuviera instalado) en los equipos de arsys.es, debería enviarnos el archivo asociado (ocx o dll) para que lo instalemos (registremos) y pueda así hacer uso del mismo.

Si va a hacer uso de programación con ASP, existen una serie de componentes de servidor predefinidas, de las que puede obtener información en el apartado de Objetos ASP.

Puede visitar el siguiente sitio web donde encontrará información y algunos componentes: ActiveX.org.