| Artículos | 01 OCT 2001

ActiveX, ¿amigo o enemigo?

Tags: Histórico
Peligros y sorpresas de esta tecnología
Gonzalo Alvarez.
ActiveX permite incrustar programas plenamente funcionales dentro de las páginas web, volviéndolas mucho más dinámicas e interactivas. Sin embargo, introduce serios problemas de seguridad, ya que una vez cargados en el ordenador, si el usuario los acepta, se ejecutan con control total sobre nuestros recursos, pudiendo perpetrar cualquier tipo de fechoría, desde destruir datos hasta inocular virus.

Se oye tanto hablar de ActiveX con matices tan diferentes y a menudo aludiendo a realidades tan dispares, que resulta difícil formarse una idea clara de lo que se esconde detrás de ese nombre, esgrimido no pocas veces como un eslogan publicitario: ¿es un programa de Microsoft?, ¿la manera de activar Internet y hacer las páginas más dinámicas y divertidas?, ¿la integración de aplicaciones de escritorio profesionales en Internet?... Lo cierto es que ActiveX comparte un poco de todas estas opciones, pero es también mucho más.
ActiveX no es un lenguaje de programación como C++, VisualBasic o Java. En la práctica, no es ninguno de ellos y a la vez es todos ellos. ActiveX es más bien una tecnología, una forma de emplear el entorno de programación del ordenador para comunicarse a través de aplicaciones de manera eficiente y fiable, compuesta por muchos componentes diferentes. Los citados lenguajes y otros más pueden utilizarse para sacar partido de las tecnologías ActiveX.
Las tecnologías ActiveX conforman un marco abierto y robusto para la creación de contenido interactivo usando componentes reutilizables, guiones y aplicaciones existentes. En concreto, permiten a los proveedores de contenido y desarrolladores de aplicaciones crear páginas web dinámicas y potentes, y extensiones del servidor web con relativa facilidad. Esta hazaña se consigue gracias a los controles ActiveX, los guiones (o secuencias de comandos) Activos en el cliente y en el servidor y las interfaces de documentos Activos, así como ISAPI (Internet Server Application Programming Interface).
Aunque existen ciertos aspectos específicos de ActiveX relativos a la programación en Internet, la inmensa mayoría de tecnologías ActiveX no tiene nada que ver con Internet. Sin embargo, dado que la seguridad en la Web constituye el interés primordial de este artículo, su argumentación se centrará precisamente en esos aspectos.

Controles ActiveX
Un control ActiveX es un objeto (un fragmento modular de software) que provee una interfaz de programación configurable, de manera que realiza diversas tareas y cálculos, se comunica con otros programas, con otros módulos y con Internet, siendo fácilmente reutilizable por cualquier programa o entorno de programación que pueda contener controles ActiveX, como Internet Explorer. Constituyen una extensión de los veteranos controles OLE (Object Linking and Embedding) u OCX, optimizados para su descarga por Internet. Utilizando los métodos, eventos y propiedades expuestos por un control, los autores de páginas web pueden automatizar fácilmente sus páginas HTML.
Entre los ejemplos de controles ActiveX se incluyen los cuadros de texto, los botones de comandos, los reproductores de sonido y vídeo, visores de documentos, etc.
Para introducir un control en documentos HTML se utiliza la etiqueta <OBJECT>, seguida de los siguientes campos:
- ID: Nombre usado por el lenguaje de guiones.
- CLASSID: Identificador globalmente único para el control ActiveX.
- CODEBASE: Control a descargar.
- <PARAM>: Propiedades del control.
Un ejemplo de etiqueta OBJECT sería:
<OBJECT
ALIGN = CENTER CLASSID = “clsid:99B42120-6EC7-11CF-A6C7-00AA00A47DD2” WIDTH = 200 HEIGHT = 200 ID = MiObjeto CODEBASE = “http://www.xyz.com/ objeto.ocx#ver=4,70,0,1062”>
<PARAM NAME=”ScrollStyleX” VALUE=”Circular”>
</OBJECT>
Por supuesto, existen herramientas que permiten insertar automáticamente esta etiqueta tan críptica (especialmente el CLASSID) en una página HTML. La más sencilla, y además totalmente gratuita, es ActiveX Control Pad, que se puede descargar desde msdn.microsoft. com/workshop/components/dtctrl/setupdcp.exe.
Otras herramientas más sofisticadas son FrontPage 2000, Microsoft Internet Studio o los empaquetadores de objetos.

Documentos ActiveX
Los Documentos Activos se basan en los Objetos de Documento OLE (DocObjects, para abreviar). La tecnología de DocObjects se encuentra en el núcleo de la filosofía de “cortar y pegar” de los productos Microsoft, como Microsoft Office, que permite pegar una hoja de Excel o una tabla de Access dentro de un documento Word. Los Documentos Activos se refieren también a cualquier documento que contenga controles ActiveX, applets de Java o un Objeto Documento.
ActiveX, y sus precursores DDE (Dynamic Data Exchange), OLE (Object Linking and Embedding) y COM, constituyeron el cambio del paradigma centrado en la aplicación al nuevo paradigma centrado en los datos. Los documentos pueden ahora contener cualquier tipo de objeto, desde texto e imágenes a sonido y otros tipos todavía por inventar. Los usuarios ya no necesitan preocuparse acerca de cuál es el tipo de aplicación que están usando. Simplemente se preocupan de sus documentos.
Una utilidad obvia de esta tecnología cuando se aplica a Internet es que permite a los usuarios ver y editar documentos no-HTML mediante el navegador. Para ello, utilizan el área de cliente entera, integrando documentos existentes en el navegador o cualquier otra aplicación. Por ejemplo, se puede visualizar directamente en la ventana del navegador un documento en Word u otro tipo de documento, no necesariamente de Microsoft, como por ejemplo, PDF de Acrobat.
Además, los Documentos Activos proporcionan apoyo de impresión, fusión de menús, barras de herramientas y otras ventajas.

Guiones ActiveX
Un guión (o secuencia de comandos) no es más que un conjunto de instrucciones que se van ejecutando secuencialmente. En el contexto de ActiveX, se entiende por guión un mecanismo para enlazar rápidamente un conjunto diverso de componentes. Los guiones pueden escribirse en muchos lenguajes, ya que ActiveX se sirve de dos componentes: un host de guiones (scripting host) y un motor de guiones (scripting engine). El host es una aplicación responsable de la creación del motor. El motor, a su vez, es responsable de procesar y ejecutar los comandos del guión. Como ejemplos de hosts se puede citar Microsoft Internet Explorer o herramientas de desarrollo como FrontPage 2000. Por su parte, existen motores actualmente disponibles en variedad de lenguajes, como VBScript, JScript, Perl, PowerScript, Tcl/Tk, etc.
Los lenguajes de guiones constituyen la herramienta de desarrollo más accesible. Por ejemplo, JScript y VBScript vienen incorporados en el propio navegador, de manera que no se necesita ningún software especial para escribir guiones en estos lenguajes, basta con un editor de texto convencional. Los guiones así escritos, que se encontrarán embebidos dentro del código HTML, se pueden poner a prueba con el propio navegador, sin más que cargar la página que los contiene. Por estas razones, los guiones en conjunción con HTML constituyen la solución multiplataforma más rápida y fácil de desarrollar. En concreto, Internet Explorer viene con runtime de VBScript y JScript incorporados.

Características de ActiveX
A continuación, vamos a examinar cuáles son las dos caras de la moneda ActiveX para el de

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información