Serie de conferencias ASP (7) Uso de componentes y objetos
Autor:Eve Cole
Fecha de actualización:2009-05-30 19:59:15
Los componentes ActiveX son la clave para crear potentes aplicaciones web. Los componentes proporcionan objetos que se utilizan en scripts para realizar tareas. ASP también proporciona objetos integrados que se pueden utilizar en scripts. Este tema analiza cómo utilizar los objetos proporcionados por los componentes, así como los objetos integrados proporcionados directamente por Active Server Pages.
Acerca de los componentes
Un componente ActiveX es un archivo que contiene código que realiza una tarea o un conjunto de tareas. Los componentes pueden realizar tareas comunes para que usted no tenga que crear el código para realizar esas tareas usted mismo. Por ejemplo, un componente de teletipo puede mostrar las últimas cotizaciones de acciones en una página web. ASP viene con componentes listos para usar, como el componente de acceso a la base de datos. Obtenga componentes opcionales de desarrolladores externos. O puedes escribir tu propio componente.
Puede aprovechar los componentes como elementos básicos para secuencias de comandos y aplicaciones basadas en Web. Solo sepa cómo acceder al objeto proporcionado por el componente. Incluso un scripter novato puede escribir scripts sin entender cómo funcionan los componentes. En resumen, los componentes le permiten escribir scripts potentes sin tener que aprender a programar.
Si es desarrollador de aplicaciones web, puede encapsular la lógica empresarial escribiendo componentes. Por ejemplo, puede escribir un componente para calcular el impuesto sobre las ventas de un producto. Luego, se puede llamar a este componente en scripts que procesan pedidos de ventas. Calcular las tasas impositivas de forma independiente durante el procesamiento del pedido le permite actualizar solo el componente cuando el impuesto sobre las ventas cambia en algún lugar, sin tener que cambiar todo el proceso de procesamiento. Los componentes se pueden escribir en cualquier lenguaje que admita el modelo de objetos componentes (COM), como C, C++, Java o Visual Basic. Si está familiarizado con la programación COM, el componente ActiveX es el servidor de automatización. Para ejecutarse en un servidor web, los componentes ActiveX no pueden tener elementos de interfaz gráfica de usuario, como la función MsgBox de Visual Basic.
Los componentes son reutilizables. Una vez que un componente está instalado en un servidor web, se puede llamar desde un script ASP, una aplicación ISAPI, otro componente en el servidor o un programa escrito en otro lenguaje compatible con COM.
Un componente de instancia que genera un objeto de componente es un código ejecutable contenido en una biblioteca de vínculos dinámicos (.dll) o un archivo ejecutable (.exe). Un componente puede proporcionar uno o más objetos y sus métodos y propiedades. Para utilizar un objeto proporcionado por un componente, cree una instancia del objeto y asigne a esta nueva instancia un nombre de variable. Se pueden crear instancias de objetos utilizando el método Server.CreateObject de ASP. A continuación, utilice las instrucciones de asignación de variables del lenguaje de secuencias de comandos para nombrar la instancia del objeto. Al crear una instancia de objeto, debe proporcionar el nombre registrado (PROGID) de la instancia. Para los componentes básicos proporcionados por ASP, el PROGID del objeto se puede obtener en la página de referencia.
Por ejemplo, el componente Ad Rotator de ASP recorre anuncios gráficos. El componente Ad Rotator proporciona un objeto llamado Ad Rotator, cuyo PROGID es "MSWC.AdRotator". Para crear una instancia de un objeto Ad Rotator, utilice el siguiente comando:
VBScript:
<% Establecer mis anuncios = Server.CreateObject("MSWC.AdRotator") %>
JScript:
<% var MisAnuncios = Server.CreateObject("MSWC.AdRotator") %>
Si ya está muy familiarizado con VBScript o JScript, notará que no existen funciones de lenguaje de scripting para crear nuevas instancias de objetos, como CreateObject en VBScript o New en JScript. Debe utilizar el método Server.CreateObject de ASP; de lo contrario, ASP no puede realizar un seguimiento del uso de objetos en lenguajes de secuencias de comandos.
También se pueden crear instancias de objetos utilizando la etiqueta HTML <OBJECT>. Debe proporcionar el valor del servidor para el atributo RUNAT y también proporcionar el grupo de atributos ID para el nombre de la variable que se utilizará en el lenguaje de secuencias de comandos. El objeto se puede identificar mediante el nombre de registro (PROGID) o el número de registro (CLSID). El siguiente ejemplo crea una instancia del objeto Ad Rotator utilizando el nombre registrado (PROGID):
<OBJECT RUNAT=ID del servidor=Mi anuncio PROGID="MSWC.AdRotator"></OBJECT>
El siguiente ejemplo crea una instancia del objeto Ad Rotator utilizando el número de registro (CLSID):
<OBJECT RUNAT=ID del servidor=Mi anuncio
CLASSID="Clsid:1621F7C0-60AC-11CF-9427-444553540000"></OBJECT>
Creación de un objeto a partir de una clase Java Los componentes ActiveX escritos en el lenguaje Java se pueden enviar como clases Java en lugar de DLL. Para usar Server.CreateObject para crear una instancia de un objeto de clase Java, la clase debe registrarse como un componente COM usando el programa Javareg. Luego puede usar Server.CreateObject con PROGID o CLSID.
Si la instancia del objeto no necesita acceder a los objetos integrados de ASP ni participar en transacciones, puede llamar a la clase Java directamente utilizando el mecanismo más simple proporcionado por el monitor Java. Debe utilizar la máquina virtual de Microsoft para Java 2.0 (proporcionada por la distribución de Internet Information Server y Personal Web Server) para utilizar el monitor Java.
Si desea utilizar un monitor para crear una instancia de un objeto, debe utilizar el comando GetObject de VBScript o JScript y proporcionar el nombre completo de la clase java en el formato java:nombredeclase. El siguiente ejemplo de VBScript genera una instancia de un objeto Date de Java.
<%
fecha oscura
Establecer fecha = GetObject("java:java.util.Date")
%>
<p> La fecha es <%= date.toString() %>
Los objetos generados llamando a GetObject en lugar de Server.CreateObject no pueden acceder a los objetos integrados de ASP y no pueden participar en transacciones.
Utilizar objetos integrados en ASP
ASP proporciona objetos integrados que realizan tareas. Por ejemplo, el objeto Solicitud almacena referencias de tablas HTML.
Llamar a métodos de objetos Los métodos son actividades que se pueden realizar sobre o utilizando un objeto. La sintaxis general para llamar a un método es:
Parámetros de objeto.método
Los parámetros varían de un método a otro.
Por ejemplo, puede utilizar el método Write del objeto integrado Response para enviar información al navegador siguiendo las siguientes instrucciones:
<% Respuesta. Escribe "Hola Mundo" %>
Tenga en cuenta que algunos lenguajes de secuencias de comandos no admiten la sintaxis Object.Method. Si el idioma que está utilizando no admite esta sintaxis, debe realizar una entrada en el registro para poder utilizar ese idioma como lenguaje de secuencias de comandos principal.
Configuración de las propiedades del objeto Las propiedades son valores característicos que describen un objeto. Las propiedades definen las características de un objeto (como el tipo de objeto) o el estado de un objeto (como habilitado o deshabilitado). La sintaxis general es:
Objeto.Propiedad
Los valores de propiedad se pueden leer y configurar. Para algunos objetos, también se pueden agregar nuevas propiedades.
Por ejemplo, el componente Ad Rotator tiene una propiedad Borde, que especifica si el anuncio tiene un borde y el grosor del borde. La siguiente expresión no especifica ningún borde:
<% MisAnuncios.Borde = 0 %>
Puede utilizar la directiva de salida ASP para mostrar los valores actuales de determinadas propiedades. Por ejemplo, el siguiente comando devolverá VERDADERO si el navegador todavía está conectado al servidor:
<%= Respuesta.IsClientConnected %>