La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "Aplicaciones Internet con Tecnologías Microsoft (ASP y ADO) Resumen."— Transcripción de la presentación:

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

2 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

3 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 navegador ECMA - European Computer Manufacturers Association

4 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.

5 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).

6 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).

7 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.

8 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.

9 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: con la opción RUNAT=Server

10 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

11 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.

12 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.

13 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.

14 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.

15 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.

16 VBScript Se puede usar tanto para ejecución en el Navegador (cliente) como en el Servidor. – (Cliente) – – (Servidor) – (Servidor en línea)

17 VBScript El lenguaje permite definir: –Variables (todas de tipo Variant). –Constantes. –Funciones. –Procedimientos. –Incrustar Objetos. El lenguaje es Orientado a Objetos.

18 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.

19 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.

20 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.

21 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

22 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.

23 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 o de tags ‘Definir una variable Dim x <% ‘Definir una variable Dim x %>

24 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”

25 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.

26 Operadores Matemáticos Operador + - * / \ ^ mod & Descripción Suma Resta Multiplicación División de Punto Flotante Division Entera Exponenciación Residuo Concatenación

27 Operadores Comparación Operador <> < <= > >= Descripción Distinto de (no igual a) Menor a Menor o igual a Mayor a Mayor o igual a

28 Operadores Lógicos Operador not and or xor eqv imp Descripción Negación Conjunción Disyunción Exclusión Equivalencia Implicación

29 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

30 Instrucciones Condicionales Instrucción Select Case Select Case expresión_prueba [Case lista_expresiones1 [bloqueInstrucciones1]] [Case lista_expresiones2 [bloqueInstrucciones2]]. [Case Else [bloqueInstruccionesN]] End Select

31 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

32 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.

33 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

34 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]

35 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

36 Arreglos e Iteraciones 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

37 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.

38 Arreglos e Iteraciones Sub Boton1_OnClick() Dim PalosBaraja(2) Dim i Dim str PalosBaraja(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) Next texto.value = str End Sub

39 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.

40 Procedimientos Definición de un SUB Sub NombreProc()...Instrucciones End Sub Definición de una Función Function NombreFunc()...Instrucciones End Function

41 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

42 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.

43 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

44 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.

45 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)

46 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.

47 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

48 Opción Include Clave para construir páginas ASP eficientes y para tener porciones de código reutilizable. 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. incluirá un archivo localizado en el directorio donde esta el guión que contiene include.

49 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.

50 Componentes ActiveX Creación –Se utiliza la función CreateObject() Dim obj ‘Variable para guardar el objeto Set 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.

51 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.

52 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

53 Objetos DOM DOM convierte los elementos HTML en objetos propiamente dichos. Ejemplo. Si tenemos un botón HTML definido por: entonces: str = boton1.value asigna “Ejecutar” a str Objetos DOM tienen métodos que se pueden usar para dar comportamiento dinámico a las páginas web.

54 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

55 Utilización de ASP

56 Interacción Web Interacción Web esta conformada por: –Conexión (usando el URL) –Solicitud (Request). –Procesamiento. –Respuesta (Response). –Terminación.

57 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.

58 Configuración ASP T T P H Navegador Web Servidor Web (IIS*) Fuente de Datos ITP Aplicaciones (Aplicación) Servidor WebServidor de Aplicaciones Database Server Herramientas de Desarrollo Active Server Pages (Asp.dll) Request Response *Componentes ActiveX de IIS 5.0 (ADO, FSO, AdRotator, etc.)

59 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

60 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

61 Intercambio de Datos Elemento de HTML –Reúne y organiza la información –Contiene campos definidos por el subtag –Se pueden definir campos de tipo: TextPassword CheckboxRadio HiddenFile SubmitReset ButtonImage TextArea

62 Intercambio de Datos Sintaxis básica de –Se envía el contenido con botón Submit o con hipervínculos

63 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

64 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.

65 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 Ingrese algo: Para obtener el valor usamos: s = Request.Form(“MiCampo”) Solo se envía una forma a la vez.

66 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.

67 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)

68 Alcance de Variables Procedimiento Página Sesión Aplicación

69 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.

70 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.

71 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.

72 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.

73 Estructura de Aplicación /Raiz_Aplicación Default.htm (o Default.asp) Global.ASA /Clases /Contenido /Medios /Temas /Datos /DLL /ArchApoyo

74 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.

75 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”

76 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.

77 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.

78 Paquete HTTP puede contener Cookies Servidor Web Página HTML Navegador http://help.netscape.com/kb/client/970226-2.html http://www.htmlgoodies.com/cookie.html

79 Uso de Cookies Servidor Web Aplicación Response.Cookies Request.Cookies

80 El viaje de las Cookies Aplicación Servidor Web HTTP Página HTML Página HTML Navegador Response.Cookies Request.Cookies

81 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.

82 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.

83 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

84 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í.

85 Administrador ODBC

86 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)

87 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.

88 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.

89 Acceso a Fuentes de Datos

90 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.

91 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

92 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).

93 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.

94 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.

95 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.

96 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.

97 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).

98 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.

99 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.

100 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

101 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.

102

103 Acceso a Datos ADO utiliza instrucciones SQL para recuperar los datos. Se puede trabajar con datos obtenidos de varias tablas en forma simultánea.

104 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.

105 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, Opciones Donde: 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.

106 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

107 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

108 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.

109 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.

110 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

111 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

112 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

113 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

114 Instanciación RDS.DataControl En el guión ASP se incluye el siguiente marcador: 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

115 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"

116 Obtención de Datos Con la instancia así creada se pueden obtener datos de un servidor remoto mediante: 1.Propiedad URL With oRDC.URL = “http://Diplomado/VerClientes.asp?País=Alemania”http://Diplomado/VerClientes.asp?País=Alemania.Refresh End With

117 Obtención de Datos 2.Propiedades Server/Connect/Sql With oRdc.Server = http://localhosthttp://localhost.Sql = “Select * From Clientes” & _ “Where” País = ‘Alemania’”.Connect = "Provider=MSDASQL;” & _ “Data Source=Neptuno;” & _ “User Id=sa;Password=“.Refresh End With

118 Obtención de Datos 3.Propiedades Server/Connect/Sql y el RDS default Handler With oRdc.Server = http://localhosthttp://localhost.Handler = “MSDFMAP.Handler”.Connect = “Neptuno”.Sql = “Clientes”.Refresh End With Las secciones “Neptuno” y “Clientes” se definen en el archivo MSDFMAP.ini

119 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’”

120 Asociación a Datos Se pueden usar los resultados del RDS Data Control a componentes visuales. (Por ejemplo una tabla html)

121 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.

122 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.

123 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

124 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.

125 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

126 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.

127 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.

128 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.

129 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 “ ” por sus equivalentes HTML &lt y &gt. Convierte varios caracteres ASCII a su representación HTML.

130 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.

131 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.

132 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. permite incrementar a 150 segundos

133 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.

134 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.

135 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.

136 Objeto Err Métodos: –Raise: Permite generar un error. Err.Raise(Number,Source,Description,HelpFile,Help Context) –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 error El guión sigue ejecutando a pesar del error

137 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.

138 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.

139 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.

140 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.

141 Control de Acceso En cada página ASP <% 'Control de Seguridad If Session("OkUsuario") = False THEN Response.Redirect Application("ArchErrorAcceso") End If '******************************************* %> En global.asa: Sub Application_OnStart Application(“ArchErrorAcceso”) = “EjErrorAcceso.htm” End Sub

142 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

143 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.

144 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).

145 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)www.activex.org Hay esfuerzos para llevarla a MAC y Unix.

146 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.

147 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

148 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.

149 ActiveX Se puede invocar la ejecución de componentes ActiveX desde una interacción web del usuario. Se utiliza el tag para identificar el objeto. Sintaxis: <OBJECT RUNAT=Server SCOPE APPLICATION|SESSION ID= NombreInstancia PROGID=“librería.objeto”> Podemos crear un objeto compartido por toda la aplicación en Global.asa

150 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 de HTML y viceversa. Se harán páginas ASP para probar el funcionamiento del ActiveX.

151 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”)

152 Creación ActiveX con VB 1.- Creación Nuevo Proyecto Dll

153 Creación ActiveX con VB 2.- Definición del Referencia a Objetos ASP

154 Creación ActiveX con VB 3.- Definición del proyecto (componente)

155 Creación ActiveX con VB 4.- Definición de Clases

156 Creación ActiveX con VB 5.- Definición de Métodos y Propiedades

157 Creación ActiveX con VB 6.1- Creación de la Componente como DLL

158 Creación ActiveX con VB 6.2- Opciones Creación de la DLL

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


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

Presentaciones similares


Anuncios Google