Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

159
Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen

Transcript of Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Page 1: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Aplicaciones Internet con Tecnologías Microsoft

(ASP y ADO)

Resumen

Page 2: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Que es un Guión? (Script)• Forma de añadir elementos programáticos

de control a HTML

• Averiguar datos útiles– Navegador que se esta usando– Validación de datos

• Trabajar con applets y controles

• Interactuar con el usuario

Page 3: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Lenguajes de Guiones

• Los más populares son:– ECMAScript (antes JavaScript, JScript). Estándar

ECMA-262– VBScript

• Otros ejemplos– Perl– REXX– SpeedScript (Servidor)

• Necesita soporte del navegadorECMA - European Computer Manufacturers Association

Page 4: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Qué es ASP?

• Active Server Pages - ASP es un ambiente de aplicaciones abierto, sin compilador, en el cual se puede combinar HTML, guiones y componentes servidor ActiveX reutilizables para crear soluciones, basadas en Web, dinámica y poderosas.

• Active Server Pages permite usar guiones en el servidor IIS con soporte nativo tanto para VBScript como para Jscript.

Page 5: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Compatibilidad

• Windows XP professional y server con Web Services (IIS).

• Windows NT 4.0 o 2000 server con IIS.• Windows NT 4.0 o 2000 workstation con Peer

Web Services.• ChiliSoft ASP 3.6 con Apache o IIS en máquinas

Unix - Linux• Windows 9x con Personal Web Server (puede

ser necesario bajar las componentes ASP de Internet).

Page 6: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Ejecución de ASP

• Se procesa antes de enviar la página al navegador.

• Se ejecuta cuando el navegador pide un archivo .asp al servidor Web.

• Tecnología ASP construida directamente en servidor Web (IIS).

• El servidor Web invoca ASP (asp.dll) para procesar el archivo .asp (de arriba abajo).

Page 7: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Ejecución

• ASP ejecuta los guiones que encuentre en el archivo .asp.

• ASP formatea la salida como una página Web estándar (HTML).

• La salida HTML es entregada al servidor Web.

• Servidor Web envía la salida al navegador.

Page 8: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Utilización de ASP

• Cree un archivo con extensión .asp.

• Puede contener cualquier combinación de HTML, guiones (VBScript o JScript), llamados a componentes (controles Activex o Applets).

• Se puede actualizar salvando el contenido. Se interpreta a la siguiente invocación.

Page 9: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Invocación ASP

• Dos formas de ejecutar un guión en el Servidor:– En línea. El motor de interpretación de

guiones en el servidor lo ejecuta en el orden que aparece en la página ASP. Se invoca mediante tags <% %>.

– Insertando el guión entre tags: <SCRIPT></SCRIPT> con la opción RUNAT=Server

<SCRIPT LANGUAGE=VBScript RUNAT=Server>

Page 10: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Bueno y qué? (CGI)

• Con CGI (Common Gateway Interface)– se puede hacer lo mismo, pero:

• ASP es una ISAPI que:– Corre como un servicio (proceso) del IIS.– Utiliza tecnología multihilos optimizada.– Optimizado para soporte a múltiples usuarios.

ISAPI - Internet Server Application Program Interface

Page 11: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Bueno y qué? (CGI)• ASP vs CGI

– ASP es más rápido y fácil de implementar.– Se puede separar el diseño de la

programación de acceso a base de datos y aplicaciones.

– Programador: genera código.– Diseñador: solo diseña sin preocuparse por

acceso a BD u otros detalles.

Page 12: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Modelo de Objetos ASP

• Siete Objetos estándar para uso global:– Request - para pedir información al usuario.

Información HTTP enviada por el navegador a una página ASP vía IIS.

– Response - información HTTP producida por el servidor para ser enviada al navegador vía IIS.

Page 13: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Modelo de Objetos ASP

– Server - para representar y controlar al Internet Information Server (IIS).

– Session - almacenar y cambiar variables y parámetros de la interacción del usuario con la aplicación ASP en el servidor Web.

– Application -compartir información de aplicación y de control durante el tiempo de vida de la aplicación.

Page 14: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Modelo de Objetos ASP

– ObjectContext - representa el contexto del un objeto registrado dentro de MTS (Micrsoft Transaction Server).

– ASPError - Contiene la información sobre una condición de error al ejecutar un guión ASP.

Page 15: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

VBScript.• Visual Basic Script (VBScript): lenguaje de

guiones por omisión para ASP.• VBScript es un subconjunto de Visual Basic

para Aplicaciones.• Se implementa como un interpretador rápido

y portable.• Para uso en navegadores Web y

aplicaciones que usan controles ActiveX™, Java Applets, y servidores OLE Automation.

Page 16: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

VBScript

• Se puede usar tanto para ejecución en el Navegador (cliente) como en el Servidor.– <SCRIPT Language=VBScript> (Cliente)– <SCRIPT Language=VBScript

RUNAT=Server>– <%@ Language=VBScript> (Servidor)– <% %> (Servidor en línea)

Page 17: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

VBScript

• El lenguaje permite definir:– Variables (todas de tipo Variant).– Constantes.– Funciones.– Procedimientos.– Incrustar Objetos.

• El lenguaje es Orientado a Objetos.

Page 18: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

OO en VBScript

• Permite la creación de clases (Class) e instanciación de objetos de una clase (New).

• Permite la definición de propiedades privadas y públicas.

• Permite definir métodos asociados a las clases.• Define un evento Class_Initialize que se activa

al crear un objeto de una clase.

Page 19: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Limitaciones de VBScript

• Soporta explícitamente un solo tipo de datos (Variant).

• Es un lenguaje interpretado.• No puede usar directamente la API de Windows.• Hay diferencias sintácticas en algunas funciones

internas.• No se puede usar para crear controles ActiveX.

Page 20: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Tipos de Datos Variant

• Variant: tipo de dato especial que representa todos los tipos de datos conocidos.

• Un Variant puede representar un String, un Integer, un Object, etc.

• Versátil pero no permite la seguridad de tipo la cual no existe en VBScript.

• El contenido determina el tipo de una variable en un momento determinado.

• Cualquier variable puede ser de cualquier tipo.

Page 21: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Definición de Variables

• Hay tres formas de definir variables:– Declaración implícita: Se usa la variable

• i = 1

– Declaración explícita: Se usa Dim• Dim nombre

– En la definición de una Clase con las palabras Public o Private

• Private DatoInterno• Public DatoExterno

Page 22: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Instrucciones

• Hay instrucciones para:– asignar valores.– realizar operaciones matemáticas.– que ejecuten otras instrucciones, etc.

• VBScript requiere:– Una instrucción por línea.– Se utiliza _ (underscore) al final de una línea

como carácter de continuación.

Page 23: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Comentarios

• VbScript toma como comentario todo texto que este a continuación de un apostrofe (‘).

• Solo se pueden colocar comentarios en líneas dentro de tags <SCRIPT> o de tags <% ... %>

<SCRIPT LANGUAGE=VBScript>‘Definir una variableDim x

</Script>

<% ‘Definir una variableDim x

%>

Page 24: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Asignación de Valor

• Se usa el signo igual (=)DIM v

v = 2

• Se puede asignar cualquier tipo de dato (todas son Variant)DIM v

v = 2

v = “Antes era entero, ahora soy cadena”

Page 25: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

VBScript - Cliente

• Realizar trabajo sin interacción con Servidor– Validación.– Selección entre valores válidos.– Cálculos.– Ayudas al usuario.

• Usar siempre el subtipo.

Page 26: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Operadores Matemáticos

Operador

+

-

*

/

\

^

mod

&

Descripción

Suma

Resta

Multiplicación

División de Punto Flotante

Division Entera

Exponenciación

Residuo

Concatenación

Page 27: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Operadores Comparación

Operador

<>

<

<=

>

>=

Descripción

Distinto de (no igual a)

Menor a

Menor o igual a

Mayor a

Mayor o igual a

Page 28: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Operadores Lógicos

Operador

not

and

or

xor

eqv

imp

Descripción

Negación

Conjunción

Disyunción

Exclusión

Equivalencia

Implicación

Page 29: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Instrucciones Condicionales

• Ejecutan ciertas instrucciones dependiendo del resultado de una expresión:

• Instrucción If– If...Then– If...Then...Else– If...Then...ElseIf...Else

• Las instrucciones If se terminan con End If

Page 30: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Instrucciones Condicionales

• Instrucción Select CaseSelect Case expresión_prueba

[Case lista_expresiones1

[bloqueInstrucciones1]]

[Case lista_expresiones2

[bloqueInstrucciones2]]

.

.

[Case Else

[bloqueInstruccionesN]]

End Select

Page 31: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Concatenación de Cadenas

• El operador de concatenación es el &c = “Hoy el día ” & “estuvo muy soleado”

• También se puede utilizar el signo +c = “Hoy el día ” + “estuvo muy soleado”

• Cuidado: que sucede en:c = “Hoy el día ” + 25 o en

c = “Hoy el día ” & 25

Page 32: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Arreglos e Iteraciones

• Un arreglo es un grupo de variables con el mismo nombre.

• Cada miembro es un elemento.

• Se declara como cualquier variable indicando entre paréntesis el número de elementos.Dim colores (2) ‘ Arreglo de 3 elementos

• El primer elemento tiene índice 0.

Page 33: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Arreglos e Iteraciones

• Función LBound determina el límite inferior de un arreglo.

• Función UBound determina el límite superior de un arreglo.Dim PalosBaraja(3)

LBound(PalosBaraja) devuelve 0

UBound(PalosBaraje) devuelve 3

Page 34: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Arreglos e Iteraciones

• Instrucciones de Iteración en VBScript.– Do [{While | Until} condición]

[instrucciones][Exit Do][instrucciones]

Loop

– Do[instrucciones][Exit Do][instrucciones]

Loop [{While | Until} condición]

Page 35: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Arreglos e Iteraciones

• Instrucciones de Iteración en VBScript.– For contador = inicio To fin [Step incremento]

[instrucciones][Exit For][instrucciones]

Next – While condición

[instrucciones]Wend

Page 36: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Arreglos e Iteraciones<SCRIPT LANGUAGE=VBScript>

Sub Boton1_OnClick()

Dim PalosBaraja(2)

Dim i

Dim str

PalosBaraja(0) = “Oros”

PalosBaraja(1) = “Copas”

PalosBaraja(2) = “Espadas”

For i = 0 to UBound(PalosBaraja)

str = str & “ : “ + PalosBaraja(i)

texto.value = str

Next

End Sub

</Script>

Page 37: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Arreglos e Iteraciones

• Se puede re dimensionar un arreglo mediante la palabra clave ReDim.

• Si no se utiliza la palabra Preserve se borrará toda la información del arreglo.

Page 38: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Arreglos e Iteraciones<SCRIPT LANGUAGE=VBScript>

Sub Boton1_OnClick()Dim PalosBaraja(2)Dim iDim strPalosBaraja(0) = “Oros”PalosBaraja(1) = “Copas”PalosBaraja(2) = “Espadas”ReDim Preserve PalosBaraja(3)PalosBaraja(3) = “Bastos”For i = 0 to UBound(PalosBaraja)str = str & “ : “ + PalosBaraja(i)Nexttexto.value = strEnd Sub

</Script>

Page 39: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Procedimientos

• Un conjunto de instrucciones al cual se asigna un nombre. Para ejecutar las instrucciones se usa el nombre.

• En VBScript existen dos tipos de procedimientos:– Sub: no devuelve un valor al terminar la

ejecución– Function: devuelve un valor al terminar la

ejecución.

Page 40: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Procedimientos

• Definición de un SUB<SCRIPT LANGUAGE=VBScript>

Sub NombreProc()

...Instrucciones

End Sub

</SCRIPT>

• Definición de una Función<SCRIPT LANGUAGE=VBScript>

Function NombreFunc()

...Instrucciones

End Function

</SCRIPT>

Page 41: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Procedimientos de Evento

• Procedimientos que el Navegador o IIS ejecutan en forma automática.

• Nosotros realizamos la programación.

• Ejecutan en respuesta a un evento que ocurre en un programa, objeto o página web.Sub NombreElemento_OnNombreEvento()

[ Instrucciones]

End Sub

Page 42: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Eventos en el Servidor

• Asociados con los Objetos Application y Session hay dos eventos que ocurren en el servidor ASP.– OnStart se dispara cuando comienza una

aplicación ASP o una sesión ASP.– OnEnd se dispara cuando termina la

aplicación o la sesión ASP.

Page 43: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Alcance de Variables

• VBScript admite alcance de variables.

• El tiempo de existencia y la visibilidad de una variable dependen del lugar donde se define.

• Existen dos tipos de alcance– Variables locales– Variables de guión

Page 44: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Alcance de Variables

• Variables locales:– Se declaran dentro de un procedimiento (Sub

o Function).– Existe mientras el procedimiento está activo.– Se eliminan de memoria al terminar el

procedimiento.– El valor que tenían asignado desaparece.

Page 45: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Alcance de Variables

• Variables de guión:– Se declaran fuera de un procedimiento (Sub o

Function).– Existen mientras la página está siendo

procesada.– Se pueden ver desde cualquier otro lugar de

la página.– Pueden referenciarse dentro de cualquier

procedimiento (Sub o Function)

Page 46: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Código Reutilizable

• Segmentos de Código genérico que podemos usar en muchas páginas HTML o ASP.– P.ej. Función para verificar el dígito de control

de un NIT dado.– Determinar que un valor ingresado este en

una lista de valores válidos.

• El código genérico se inserta en la página donde se invoca.

Page 47: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Código Reutilizable

• Ventajas– Menor esfuerzo de codificación.– Código de mejor calidad.– Construir librería de componentes Funciones o

Subprogramas (Function o Sub).– Consistencia.– Componentes depuradas.

• Dos mecanismos para hacerlo:– Opción Include– Retrollamada

Page 48: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Opción Include

• Clave para construir páginas ASP eficientes y para tener porciones de código reutilizable.<!--#include virtual=“/unarchivo.inc”-->

incluirá cualquier archivo del sitio (en este caso unarchivo.inc está en el directorio raíz del servidor web). Se debe dar el nombre de la trayectoria (path) del archivo.

<!--#include file=“unarchivo.inc”-->incluirá un archivo localizado en el directorio donde esta el guión que contiene include.

Page 49: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Componentes ActiveX

• Se puede usar en el VBScript de páginas ASP objetos localizados en librerías ActiveX DLL y EXE.

• Estas librerías están en código compilado (ejecutan más rápido).

• Proveen servicios que no se pueden realizar en VBSript.

• IIS 5.0 incluye varios componentes ActiveX.

Page 50: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Componentes ActiveX

• Creación– Se utiliza la función CreateObject()

Dim obj ‘Variable para guardar el objetoSet obj = CreateObject(“Libreria.Objeto”)

- Las propiedades y métodos del objeto ActiveX se referencian en VBScript de la misma forma que para Clases.

– Para usar CreateObject()• Se debe utilizar la palabra clave SET.• Librería.Objeto deben ir entre comillas por ser una

cadena de caracteres.

Page 51: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Objetos DOM

• El navegador y las páginas en él incluyen una gran cantidad de objetos que se pueden utilizar en guiones del lado cliente.

• Son parte de DOM (Document Object Model) definido por W3C (World Wide Web Consortium).

• Soportado por Internet Explorer y por Netscape Navigator.

Page 52: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Objetos DOM

• DOM es una representación de todos los objetos en un navegador.

• DOM es voluminoso y parte de HTML dinámico (DHTML).

• Objetos para muchas cosas desde el historial hasta un campo de una página.

• Algunos Objetos Web importantes:– Objeto Window

– Objeto Document

– Objetos de elementos individuales HTML

Page 53: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Objetos DOM

• DOM convierte los elementos HTML en objetos propiamente dichos.

• Ejemplo.Si tenemos un botón HTML definido por:<INPUT type=“button” value=“Ejecutar” name=boton1>entonces:str = boton1.valueasigna “Ejecutar” a str

• Objetos DOM tienen métodos que se pueden usar para dar comportamiento dinámico a las páginas web.

Page 54: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Objetos en el Servidor

• Componente FileSystemObject (FSO)– Componente ActiveX incluida en IIS 5.0– Utiliza la sintaxis objeto.metodo con un rico conjunto

de propiedades, métodos y eventos para trabajar con unidades de disco, carpetas y archivos

– Algunos usos:• Determinar número, tipo tamaño y espacio libre de unidades

de un computador• Crear y gestionar carpetas en el sistema de archivos• Abrir archivos de texto para lectura y escritura

Page 55: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Utilización de ASP

Page 56: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Interacción Web

• Interacción Web esta conformada por:

– Conexión (usando el URL)

– Solicitud (Request).

– Procesamiento.

– Respuesta (Response).

– Terminación.

Page 57: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Comunicación Cliente-Servidor

• Encapsulada en dos objetos diferentes igualmente importantes– Request := representa al navegador de

Internet en el computador del cliente.

– Response := representa al servidor y se encarga de devolver la información procesada de acuerdo con la petición del cliente.

Page 58: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Configuración ASP

TTP

HNavegador

Web

ServidorWeb

(IIS*)

Fuente deDatos

ITPAplicaciones

(Aplicación)

Servidor Web Servidor de Aplicaciones

Database Server

Herramientasde Desarrollo

Active Server Pages(Asp.dll)

Request

Response

*Componentes ActiveX de IIS 5.0 (ADO, FSO, AdRotator, etc.)

Page 59: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Objeto Request

• Encapsula la información que el cliente envía a un servidor en una interacción Internet.

• Contenedor con información muy variada• Objeto exclusivo de IIS y ASP• La información enviada es estándar W3C

Page 60: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Objeto Request

• Permite trabajar en forma más fácil y rápida con CGI.

• Se asigna la información a variables de ambiente:

• Especificación CGI completa:– http://www.w3.org/CGI

Page 61: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Intercambio de Datos

• Elemento <FORM> de HTML– Reúne y organiza la información– Contiene campos definidos por el subtag <INPUT>– Se pueden definir campos de tipo:

• Text Password• Checkbox Radio• Hidden File• Submit Reset• Button Image• TextArea

Page 62: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Intercambio de Datos

• Sintaxis básica de <FORM><FORM Name=Nombre Action=URL

Method=POST|GET>

</FORM>

– Se envía el contenido con botón Submit o con hipervínculos

Page 63: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Métodos Get y Post

• Get– Añadido al final del URL– Limitado en tamaño (255 caracteres)– Se utiliza generalmente con la forma inicial

(vacía)

• POST– Se envía en salida estándar y se recibe en

entrada estándar– Pocas limitaciones de tamaño– Se usa para formas diligenciadas

Page 64: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Pares Nombre=Valor

• Forma como HTML estructura la información enviada al servidor

• El navegador conforma los pares, los agrupa y los envía en una solo texto.

Page 65: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Obtención de Datos

• En ASP se usa la colección FORM del objeto Request

str = Request.Form(NombreElemento)• El nombre del elemento es el especificado en

atributo Name del tag <INPUT><FORM Name=MiForma>

Ingrese algo: <INPUT Name=MiCampo Type=Text>

</FORM>

• Para obtener el valor usamos:s = Request.Form(“MiCampo”)

• Solo se envía una forma a la vez.

Page 66: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Aplicación ASP

• Grupo de Páginas ASP inter dependientes.

• Puede estar conformada por páginas estáticas (.html) o dinámicas (.asp)

• Las páginas conforman un todo mayor.• Facilita el paso de información entre

páginas.• Permite definir variables con un alcance

superior al de página.

Page 67: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Aplicación ASP

• Las variables definidas con alcance de página desaparecen con ella.

• No pueden pasar de una página a otra.

• Dos niveles de alcance superiores a página.– Sesión – Aplicación

• IIS asigna un número de identificación a cada Sesión (Session.SessionID)

Page 68: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Alcance de Variables

Procedimiento

Página

Sesión

Aplicación

Page 69: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Global.ASA

• Archivo especial de una aplicación ASP.• Permite declarar variables de sesión y de

aplicación con independencia de alguna página.

• Las variables existen para cualquier sesión o en toda la aplicación.

• ASP busca Global.ASA para obtener la información global.

Page 70: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Procedimientos de Eventos

• Evento Start: Se ejecuta al comenzar una aplicación o una sesión

• Pueden ser capturados y procesados en Global.asa

• Application_OnStart: captura el evento Start al comenzar la Aplic.

• Session_OnStart: Captura el evento Start cuando se inicia una sesión con la Aplic.

Page 71: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Procedimientos de Eventos

• Evento End: Se ejecuta al terminar una aplicación o una sesión

• Application_OnEnd: captura el evento End al finalizar la Aplicación.– Application termina cuando se detiene IIS o

al reemplazar Global.ASA

• Session_OnEnd: captura el evento End cuando finaliza la Sesión.– El usuario abandona.– Se excede el tiempo permitido.

Page 72: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Estructura de Aplicación

• Basada en estructura directorio\ subdirectorio.

• El directorio raíz debe registrarse como directorio virtual en IIS.

• Existe una estructura “estándar” recomendada.

• Estructura consistente, clara y fácil de usar.

Page 73: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Estructura de Aplicación

/Raiz_AplicaciónDefault.htm (o Default.asp)

Global.ASA

/Clases

/Contenido

/Medios

/Temas

/Datos

/DLL

/ArchApoyo

Page 74: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Problema de “Estado”

• Interacciones Web no conservan Estado.– “Estado”: capacidad de guardar información

al transcurrir el tiempo

• Una interacción Web:– Cliente llama al servidor solicitando una

página– Servidor procesa y devuelve la página– La conexión se cierra– Se pierde toda memoria en ambos.

Page 75: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Soluciones

• Estado entre páginas de una sesión– Utilizando variables de Sesión:

Session(“CodCliente”) = 123456

• Estado para todos los usuarios de una aplicación:– Utilizando variables de Aplicación:

Application(“NomEmpresa”) = “Diplomado”

• Estado entre sesiones de un usuario– Utilizando “Cookies”

Page 76: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Cookies

• Un paquete de información comprartido entre un navegador y el servidor Web.– Definidas en el estándar HTTP.– Permite guardar un registro breve de

información en disco del equipo cliente.– La página ASP (servidor) envía las “cookie”

en el encabezado.– Pueden estar deshabilitadas en el navegador.

Page 77: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Cookies

• Continuación– Tienen fecha de vencimiento (duración).– Si el vencimiento se extiende mas allá de la

sesión se guarda en el disco (Cliente).– Se guarda el URL del Servidor.– El navegador envía todas las “cookies”

vigentes recibidas de un servidor en las siguientes interacciones con él.

– Una página ASP puede tomar la información que necesite.

Page 78: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Paquete HTTP puede contener Cookies

Servidor Web

PáginaHTML

Navegador

http://help.netscape.com/kb/client/970226-2.htmlhttp://www.htmlgoodies.com/cookie.html

Page 79: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Uso de Cookies

Servidor Web

Aplicación

Response.Cookies

Request.Cookies

Page 80: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

El viaje de las Cookies

AplicaciónServidor Web

HTTP

PáginaHTML

PáginaHTML

Navegador

Response.Cookies

Request.Cookies

Page 81: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Qué es ADO?

• ActiveX ™Data Objects - ADO es un conjunto de objetos que permite a las aplicaciones acceder y manipular datos en forma consistente por medio de un proveedor OLE DB.

• ADO permite acceder a diferentes Fuentes de Datos, no necesariamente Bases de Datos

• Ventajas: alta velocidad, facilidad de uso, bajo consumo de memoria y poco consumo de disco.

Page 82: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Qué es ADO?

• Características– Los objetos ADO se crean en forma

independiente.• DAO (Data Access Object) y RDO (Remote Data

Objects) requerían moverse en una jerarquía.• Solo se crean y controlan los objetos necesarios.

– Permite invocar a Procedimientos almacenados con o sin parámetros.

Page 83: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Qué es ADO?

• Características (cont.)– Diferentes tipos de cursores incluyendo

cursores específicos de la fuente.– Soporta límite de filas leídas y otros objetivos

en consultas para optimizar desempeño.– Soporta múltiples conjuntos de registros

retornados por procedimientos almacenados– Objetos con libertad de enlaces para

aplicaciones web eficientes

Page 84: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

ADO, ODBC y OLE DB

• Objeto Connection (ADO) necesita un proveedor que le suministre los datos.

• Se usa un proveedor OLE DB.• OLE DB es una tecnología nueva que

mejora a ODBC.• ODBC (Open DataBase Conectivity)

estándar que permite que bases de datos de diferentes fabricantes parezcan iguales entre sí.

Page 85: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Administrador ODBC

Page 86: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

OLE DB

• OLE DB empieza donde ODBC termina– ODBC solo trabaja con bases de datos

• Existen otras Fuentes de Datos:– Servidor de correo (e-mail)– Servidor de índices– Servidor de Directorios, etc

• Un dato es un dato sin importar su origen y debe operarse sobre él de la misma manera

• UNIVERSAL DATA (Visión Microsoft)

Page 87: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

OLE DB

• Conjunto estandarizado de objetos y métodos que expone una fuente de datos específica.

• Se trabaja siempre con los mismos objetos y métodos sin importar la fuente de datos.

• Aísla de los detalles propios de cada fuente de datos.

Page 88: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Proveedores OLE DB

• OLE DB interactúa con la fuente por medio de un Proveedor OLE DB

• Es un mecanismo que traduce estructuras de datos a un estándar común.

• Se requiere conocer la identificación o cadena del proveedor OLE DB.

Page 89: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Acceso a Fuentes de Datos

Page 90: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Objetos ADO

• Connection – Información de conexión con el proveedor de datos

• Command – Información sobre un comando, tal como una consulta sql, definiciones de parámetros, etc.

Page 91: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Objetos ADO

• Error – Información ampliada sobre una condición de error detectada por el proveedor.

• Field – Información sobre una sola columna de un Recordset. – El objeto Recordset tiene una colección

Fields para contener todos los objetos Field

Page 92: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Objetos ADO

• Parameter – Un parámetro para un objeto Command.

• Property – Una característica de un objeto ADO definida por el fabricante del proveedor OLE DB.

• Recordset – Un conjunto de registros y un cursor a esos registros retornados por una consulta (query).

Page 93: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Trabajo con ADO

• El proceso básico se resume en cuatro pasos:

1. Conectarse a la fuente de datos.2. Definir la información que se desea recuperar.3. Recuperar y manipular los datos recibidos.4. Visualizar la información.

• Se trabaja básicamente con los objetos Connection, Recordset y Command.

Page 94: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Conexión

• Se utiliza un objeto Connection.• Se crea este objeto utilizando la función

CreateObject().• Requiere un parámetro que es una

cadena identificando el objeto a crear• Parámetro constituido por:

– Nombre de librería de Objetos.– Un punto seguido por el nombre del objeto.

Page 95: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Conexión

• La librería ADO se llama ADODB• La librería ADO reside en un ActiveX DLL o en

un ActiveX EXE.• Para finalizar la conexión y el vínculo a la fuente

de datos se usa el método Close.

Page 96: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Conexión

• La cadena de Conexión le da al objeto Connection la información necesaria para vincularse a la fuente de datos.

• Compuesta por una serie de pares Nombre=Valor separados por un punto y coma.

• Identifica la fuente de datos, el tipo de proveedor OLE DB, identificación de usuario y contraseña si es necesaria.

• Puede ser diferente o tener otros parámetros según el proveedor OLE DB.

Page 97: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Acceso a Datos

• Accedemos a los datos por medio de un objeto Connection con un vínculo abierto a una fuente de datos.

• Los datos se devuelven en un objeto Recordset el cual es una colección de registros (filas).

• Cada registro esta compuesto por campos (columnas).

Page 98: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Acceso a Datos

• Se debe ejecutar una instrucción SQL sobre la fuentes vinculada al objeto Connection.

• La instrucción SQL se pasa como parámetro del método Open del objeto Recordset.

Page 99: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Acceso a Datos

• Cinco pasos para extraer datos de una fuente y visualizarlos en la página– Crear un objeto Recorset con CreateObject.– Crear una instrucción SQL para la información a

acceder.– Declarar un objeto Connection como conexión activa

para el Recordset.– Usar el método Open del Recordset pasando la

instrucción SQL.– Recorrer el Recordset y crear el HTML para

formatear la salida al navegador .

Page 100: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Acceso a Datos

• La información de un Recordset está organizada en campos (Fields).

• Para acceder a un campo específico de un registro del Recordset se utiliza:rs(“NombreDeCampo”)

Donde rs es un nombre de variable que representa al Recordset

Page 101: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Acceso a Datos

• Para los ejemplos usaremos la base de datos Neptuno.mdb que se instala con el producto Access de Microsoft.

• La siguiente dispositiva muestra el diagrama ER (Entidad-Relación) para esta base de datos.

• Diagrama obtenido el producto ERwin de Computer Associates.

Page 102: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.
Page 103: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Acceso a Datos

• ADO utiliza instrucciones SQL para recuperar los datos.

• Se puede trabajar con datos obtenidos de varias tablas en forma simultánea.

Page 104: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Escritura

• Se utiliza el Objeto Command de ADO• Command representa una instrucción a

ejecutar en la fuente de datos.• Sirve para añadir nueva información o

para modificar la existente.• Se define la instrucción SQL y se asigna a

la propiedad CommandText del objeto Command.

• Se llama al comando Execute.

Page 105: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Acceso a Tabla Completa

• Recordset.Open permite abrir una tabla completa sin usar SQL.– La sintaxis completa es:Recordset.Open Origen, Conexión, TipoCursor,

TipoBloqueo, OpcionesDonde: es el origen de los datos cuando se

desea la tabla complete es el nombre de la tabla.

Conexión: objeto Connection activo a una fuente de datos.

Page 106: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Acceso a Tabla Completa

Tipo Cursor: Constante que indica el tipo de cursor a usar así:

adOpenForwardOnly (por omisión)

adOpenKeySet

adOpenDynamic

adOpenStatic

TipoBloqueo: Constante VB que indica el tipo de bloqueo de registro a usar así:

adLockReadOnly

adLockPessimistic

adLockOptimistic

adLockBatchOptimistic

Page 107: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Acceso a Tabla Completa

Opciones: Constante VB que indica como interpretar el parámetro Origen así:

adCmdText = intrucción SQL.

adCmdTable = nombre de una tabla.

adCmdStoredProc = nombre de un procedimiento almacenado.

adCmdUnknown = Comando específico del proveedor OLE.

• Incluir: ADOVBS.INC<!-- #INCLUDE VIRTUAL=“/ADOVBS.INC” -->

Page 108: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

RDS-Remote Data Services

• Tecnología Microsoft para acceso a datos remotos.

• RDS Permite:– Llevar del servidor al cliente uno o mas Recordsets

ADO desconectados.– Utilizando protocolos HTTP, HTTPS o DCOM.– Añadir, modificar o eliminar registros en el recordset

local del cliente.– Devolver los cambios al servidor remoto cuando el

usuario termina sus operaciones.

Page 109: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

RDS-Remote Data Services

• RDS Permite (cont)– Los cambios son aplicados a la fuente de

datos.– En caso de error se avisa a la máquina

cliente.– El usuario final puede resolver los conflictos

presentados.

Page 110: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Como Obtener RDS

• Es parte de Microsoft Data Access Components (MDAC).

• MDAC incluye el núcleo de:– ADO– RDS– ODBC– OLEDB

• Además:– ODBC Drivers– OLEDB Providers

Page 111: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Como Obtener RDS

• Está contenido y se instala con:– Aplicaciones de Microsoft que instalan MDAC

(P.ej.: Internet Explorer)– Al instalar el sistema operacional Windows

2000– Mediante el archivo ejecutable

MDAC_TYP.EXE se descarga desde http://www.microsoft.com/data

Page 112: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Componentes Claves de RDS

• Del lado Cliente:– RDS Data Control. Componente no visual,

unida a Datos (data binding).– Se usa para obtener datos de un servidor

remoto mediante:• Propiedad URL (llama a página ASP)• Propiedades Server/Connect/Sql y opcionalmente

Handler. Usa RDS Data Space en cliente para llamar RDS DataFactory en el servidor.

• Propiedad SourceRecordSet

Page 113: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Componentes Claves de RDS

• Del lado Servidor:– RDS contiene un objeto de negocios del lado

servidor (ActiveX DLL) llamado RDSServer.DataFactory.

• Envía comandos a una fuente de datos y devuelve el resultado vía Internet o una Intranet

• RDSServer.DataFactory es la componente ActiveX DLL por omisión que puede usarse para pasar datos a una pagina web con poca programación

Page 114: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Instanciación RDS.DataControl

• En el guión ASP se incluye el siguiente marcador:<OBJECT ID="DC1" WIDTH="1" HEIGHT="1"

CLASSID="CLSID:BD96C556-65A3-11D0-983A-00C04FC29E33">

</OBJECT>Métodos:Cancel, CancelUpdate, CreateRecordset, MoveFirst,

MoveLast, MoveNext, MovePrevious, Refresh, Reset, SubmitChanges

Propiedades:Connect, ExecuteOptions, FetchOptions, FilterColumn,

FilterCriterion, FilterValue, ReadyState, Recordset, Server, SQL, SortColumn, SortDirection, SourceRecordset

Page 115: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Instanciación RDSServer.DataFactory

• En el guión ASP se incluye el siguiente marcador:<OBJECT ID="DS1" WIDTH="1" HEIGHT="1" CLASSID="CLSID:BD96C556-65A3-11D0-983A-00C04FC29E36"

</OBJECT>

Page 116: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Obtención de Datos

• Con la instancia así creada se pueden obtener datos de un servidor remoto mediante:

1. Propiedad URLWith oRDC

.URL = “http://Diplomado/VerClientes.asp?País=Alemania”

.Refresh

End With

Page 117: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Obtención de Datos

2. Propiedades Server/Connect/SqlWith oRdc

.Server = http://localhost

.Sql = “Select * From Clientes” & _ “Where” País = ‘Alemania’”

.Connect = "Provider=MSDASQL;” & _ “Data Source=Neptuno;” & _

“User Id=sa;Password=“

.Refresh

End With

Page 118: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Obtención de Datos

3. Propiedades Server/Connect/Sql y el RDS default HandlerWith oRdc

.Server = http://localhost

.Handler = “MSDFMAP.Handler”

.Connect = “Neptuno”

.Sql = “Clientes”

.Refresh

End With

Las secciones “Neptuno” y “Clientes” se definen en el archivo MSDFMAP.ini

Page 119: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Obtención de Datos

• Archivo MSDFMAP.ini– Localizado en el directorio \Winnt o en \

Windows.

[connect Neptuno]

Access = ReadWrite

Connect = "Provider=MSDASQL;Data Source=Neptuno;User Id=sa;Password=“

[sql Clientes]

Sql = “Select * From Clientes Where País = ‘Alemania’”

Page 120: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Asociación a Datos

• Se pueden usar los resultados del RDS Data Control a componentes visuales. (Por ejemplo una tabla html)

<table ID=“miTabla” DATASRC=“#oRDS” DATAPAGESIZE=“15” bordercolor=“white” bgcolor=“#DADFE0”>

Page 121: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Otros Aspectos ASP

• Existe una variedad de Objetos útiles

• Permiten mejorar la capacidad de reutilización y la robustez del código.– Objeto Dictionary.– Otras propiedades y métodos del objeto

Server.– Objeto Err para manejar situaciones de

excepción.

Page 122: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Objeto Dictionary

• Permite trabajo más fácil y simple con pares Nombre=Valor.

• Comportamiento muy similar a objeto Collection.

• A cada Valor que se asigne al objeto Dictionary se le asigna una Clave para referenciarlo fácilmente.

• El objeto Dictionary está en la Librería Scripting.

Page 123: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Objeto Dictionary

• Debe crearse (instanciarse) el objeto Dictionary asi:Dim dct ‘ variable para Directory

Set dct = CreateObject(“Scripting.Dictionary”)

• Para crear una clave y su valor:Dct.Add “Nombre”, “Jose”

• Para referenciar el valor asociado a una Clave.str = dct(“Nombre”) ‘str contendrá Jose

Page 124: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Objeto Dictionary

• Para recorrer el objeto Dictionary:For Each VarClave In ObjetoDictionary

str = ObjetoDictionary(VarClave)Next

• Dictionary tiene una colección Keys que representa todas las entradas en el diccionario.

• Se recorre de forma similar al objeto Dictionary.

Page 125: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Objeto Server

• Además de las propiedades y métodos ya utilizados hay otros muy útiles:– Método Server.Transfer– Método Server.Execute– Método Server.HTMLEncode– Método Server.MapPath– Propiedad Server.ScriptTimeout

Page 126: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Server.Transfer

• Llama a otra página ASP y pasa todos los objetos y variables de la página que llama.

• La página puede ser de otra Aplicación pero debe residir en el mismo servidor

• Invocación:Server.Transfer(NuevaPagina)Donde NuevaPagina es URL de la página llamada

• El control no regresa a la página que llama.

Page 127: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Server.Execute

• Ejecuta código en otra página ASP y devuelve control a la página que llama.

• Sirve para crear rutinas (guiones) que pueden llamarse desde muchas otras páginas (reutilización de código).

• Invocación:Server.Execute(RutaPagina).Donde RutaPagina es el URLde la página que contiene

el código.

• La página debe residir en el mismo servidor.

Page 128: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Transfer vs Execute

• Ambos métodos pasan los objetos y variables a la página ASP invocada.

• Transfer no devuelve control a la página que invoca; Execute sí.

• El código localizado en una página utiliza transfer nunca se ejecutará.

• Execute permite crear Subrutinas y Transfer aplicaciones.

Page 129: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Método HTMLEncode

• Permite enviar al navegador cadenas de texto sin que este interprete los tags HTML que contenga la cadena.

• Reemplaza los caracteres especiales como “<” o “>” por sus equivalentes HTML &lt y &gt.

• Convierte varios caracteres ASCII a su representación HTML.

Page 130: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Método URLEncode

• Los URL tienen un formato específico.– Un URL no puede tener espacios– No puede tener signos +– No puede contener signos &– Etc.

• Se puede pasar información a otra página ASP usando la cadena de consulta en el URL (caracteres después de ?).

• URLEncode permite trabajar normalmente con URLs y codificarlos antes de enviarlos.

Page 131: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Método MapPath

• Permite obtener la trayectoria física real de una trayectoria relativa o virtual.

• Invocación: Server.MapPath(ruta) donde ruta es la ruta relativa o

virtual cuya trayectoria queremos saber.

Si ruta empieza por / o \ se considera virtual y se busca desde directorio raíz del servidor.

Si no se considera relativa a la carpeta donde reside la página ASP que invoca MapPath.

Page 132: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Propiedad ScriptTimeout

• Por omisión una página ASP no se ejecutará en el servidor por más de 90 segundos.

• El servidor finaliza todo guión que exceda este tiempo y emite un mensaje de error.

• Un guión con acceso a BD podría exceder este tiempo.<% Server.ScriptTimeout = 150 %> permite incrementar

a 150 segundos

Page 133: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Manejo de Errores

• Los errores son inevitables y por lo tanto debemos manejarlos adecua-damente.

• La capacidad de detectar y manejar un error aumenta la confiabilidad de nuestro código.

• Los errores en ASP se pueden identificar y podemos escribir código para actuar consecuentemente.

Page 134: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Objeto Err

• Es un objeto global interno de VBScript.• Se llena cada vez que el guión provoca un

error.• Propiedades:

– Description: Devuelve o establece una descripción del error en lenguaje amigable.

– HelpContext: Devuelve o establece el número de identificación de contexto que es la ubicación del tema en el archivo de ayuda asociado.

Page 135: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Objeto Err

• Propiedades:– HelpFile: Devuelve o establece la trayectoria

del archivo de ayuda que provee información de ayuda al usuario. Archivo WinHelp o HTML.

– Number: Devuelve o establece un número específico que identifica el error.

– Source: Devuelve o establece el nombre del objeto que crea el error.

Page 136: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Objeto Err

• Métodos:– Raise: Permite generar un error.

Err.Raise(Number,Source,Description,HelpFile,HelpContext)

– Clear: Elimina todos los valores y datos del objeto Err.

• Como capturar el objeto Err?On Error Resume Next. Indica al motor de

guiones que ignore el errorEl guión sigue ejecutando a pesar del error

Page 137: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Objeto Err

• La invocación es única. No permite bifurcaciones. (No hay On Error GoTo como en VB).

• La invocación está sujeta a las mismas reglas de alcance de variables. (página o procedimiento específico).

• Al invocar On Error Resume Next en un procedimiento el objeto Err queda local a ese procedimiento.

Page 138: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Objeto Err

• Solo capturaremos los errores que ocurran en el procedimiento.

• Para hacer un procedimiento de manejo de errores único necesitamos pasar el objeto Err como argumento al procedimiento.

• Pasamos entonces una instancia de Err y el procedimiento puede detectar sus propios errores.

Page 139: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Control de Acceso

• Tópico relacionado con Seguridad.• Generalmente tenemos una página de

inicio de sesión donde:– Pedimos un código de Usuario– Solicitamos una Contraseña (password)– Validamos el usuario– Si es válido pasamos a la página principal– Si no lo es vamos a una página de error

• Problema. Después de enviar página de inicio se ve el URL de la página principal.

Page 140: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Control de Acceso

• Si invalidamos la contraseña el usuario podría entrar usando directamente el URL de la página principal.

• Solución:– Creamos una variable de Sesión que indique que el

usuario es válido. (Permanece activa durante toda la sesión)

– Antes de mostrar una página miraremos esta variable.

• Si no existe o tiene valor Nulo tenemos un usuario inválido

– Al terminar la sesión la variable desaparece.

Page 141: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Control de Acceso

• En cada página ASP<%

'Control de SeguridadIf Session("OkUsuario") = False THEN Response.Redirect Application("ArchErrorAcceso")End If'*******************************************

%>

• En global.asa:Sub Application_OnStart

Application(“ArchErrorAcceso”) = “EjErrorAcceso.htm”

End Sub

Page 142: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Que es ActiveX?

• Tecnología de empaquetamiento de componentes para la Web.

• Unidades de código ejecutable basadas en la especificación COM (Component Object Model) (.exe, .dll, .ocx).

• Descendientes más compactos de VBX y OCX.• Suministra una forma de empaquetar

componentes y utilizarlas en aplicaciones, en particular navegadores Web

Page 143: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Beneficios

• Capacidad de acceder, mediante un guión de servidor, a funcionalidad contenida en componentes ActiveX.

• Permite aplicaciones más robustas al ensamblarlas con componentes probados y estandarizados.

• Existen miles de componentes disponibles en el mercado.

Page 144: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Beneficios

• Permite acceso rápido a bases de datos (hemos visto ADO).

• Se puede controlar otras aplicaciones Microsoft por medio de guiones ActiveX. Se podría insertar Excel en una pagina Web.

• Pueden programarse en cualquier lenguaje moderno (C++, VB, Java, etc).

Page 145: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Desventajas

• Actualmente ActiveX solo funciona en una sola plataforma (Windows) y un solo navegador (Internet Explorer).

• Se pierde la portabilidad de las aplicaciones.

• Tecnología de dominio público desde Octubre de 1996. (www.activex.org)

• Hay esfuerzos para llevarla a MAC y Unix.

Page 146: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Para que ActiveX?

• ASP es una gran tecnología pero tiene limitaciones.

• Se pueden construir componentes ActiveX para superarlas y extender ASP.

• Se ejecutan en el servidor (eficiencia)• Se tiene un mayor grado de control de

tipos y de errores.• Facilita la reutilización de software.

Page 147: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

ActiveX

• Las componentes ActiveX se almacenan en librerías de Objetos de dos clases: .dll y .exe.

• .dll: librería que ejecuta en el mismo espacio de trabajo del programa que la usa.

• .exe librería que se ejecuta en su propio espacio de trabajo(*).

(*) porción de memoria que pertenece a un programa

Page 148: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

ActiveX

• Encapsulan todo su funcionamiento interno.

• Interactuamos con las componentes por medio de las propiedades, métodos y eventos del objeto.

• Se pueden utilizar las componentes ActiveX sin importar el lenguaje en que estén escritas.

Page 149: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

ActiveX

• Se puede invocar la ejecución de componentes ActiveX desde una interacción web del usuario.

• Se utiliza el tag <object></object> para identificar el objeto. Sintaxis:<OBJECT RUNAT=Server SCOPE APPLICATION|SESSION

ID= NombreInstanciaPROGID=“librería.objeto”></OBJECT>

• Podemos crear un objeto compartido por toda la aplicación en Global.asa

Page 150: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Creación ActiveX con VB

• Objetivo: Crear una componente ActiveX que podamos invocar desde ASP.

• Esta componente permitirá tomar un área de texto convertirá los CRLF a tags <BR> de HTML y viceversa.

• Se harán páginas ASP para probar el funcionamiento del ActiveX.

Page 151: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Creación Activex con VB

• Proyecto (ActxDipl) y una clase (ConvTextArea). Referenciar en ASP igual a componentes Microsoft:Set Obj = Server.CreateObject(“Proyecto.Clase”)

• En nuestro caso usaremos:Set Obj = Server.CreateObject(“ActxDipl.ConvTextArea”)

Page 152: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Creación ActiveX con VB1.- Creación Nuevo Proyecto Dll

Page 153: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Creación ActiveX con VB2.- Definición del Referencia a Objetos ASP

Page 154: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Creación ActiveX con VB3.- Definición del proyecto (componente)

Page 155: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Creación ActiveX con VB4.- Definición de Clases

Page 156: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Creación ActiveX con VB5.- Definición de Métodos y Propiedades

Page 157: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Creación ActiveX con VB6.1- Creación de la Componente como DLL

Page 158: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Creación ActiveX con VB6.2- Opciones Creación de la DLL

Page 159: Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen.

Registro de ActiveX

• Se debe registrar la componente ActiveX en el servidor antes de utilizarla. (regsvr32)