Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Español - Spanish -...

download Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Español - Spanish - Manual

of 483

Transcript of Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Español - Spanish -...

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    1/482

    Texto diseado para aquellosque deseen introducirse enel mundo del desarrollo deaplicaciones de negocio enInternet, utilizando para ellola tecnologa ASP (ActiveServer Pages).

    Se persi g ue adiestrar en eluso de: Internet InformationServer 5, Visual InterDevcomo herramienta para lagestin de proyectosbasados en ASP, Visual BasicScript, la jerarqua deobjetos ASP, y las tcnicasde acceso a datos a travs

    de ADO.

    Se requiere conocer losfundamentos deInternet/Intranet, estarfamiliarizado con lanavegacin por la web,conocer HTML y conocer elsistema operativo Windows anivel de usuario.

    PPR R OO GG R R AA MM AA CCII N N DD EE

    AA PPLLIICCAA CCIIOO N N EESS PPAA R R AA II N N TTEER R N N EETT CCOO N N AA SSPP 33

    Desarrollo de software

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    2/482

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    3/482

    Programacin de aplicaciones para Internet con ASP 3Versin 1.0.0

    2000 Grupo EIDOSwww.LaLibreriaDigital.com

    http://www.lalibreriadigital.com/http://www.lalibreriadigital.com/http://www.lalibreriadigital.com/
  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    4/482

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    5/482

    ndice

    NDICE...................................................................................................................................................5 INTRODUCCIN A ASP, ACTIVE SERVER PAGES..................................................................11

    A NTECEDES DEASP:LA ESPECIFICACINCGI .................................................................................11 DEFINICIN DEASP...........................................................................................................................12 APLICACIONESASP...........................................................................................................................13 APORTACIONES DEASP.....................................................................................................................14 R EQUERIMIENTOS DEASP 3.0...........................................................................................................15 SINTAXIS DEASP...............................................................................................................................16 OBJETOS INTEGRADOS ENASP 3.0....................................................................................................18 COMPONENTES DE SERVIDOR ............................................................................................................19 VISIN GENERAL DEASP ..................................................................................................................20 HOLA MUNDO CONASP.....................................................................................................................21

    NOVEDADES DE ASP 3.0 .................................................................................................................23

    PARA QUIN ES ESTE CAPTULO? .....................................................................................................23 MEJORAS GENERALES ENASP 3.0.....................................................................................................23 EL OBJETOR ESPONSE........................................................................................................................24 EL OBJETOSERVER ............................................................................................................................25 EL OBJETOASPERROR ......................................................................................................................28 COMPONENTE DE REGISTRO DEIIS (LOGGINGUTILITY) ..................................................................30 ACTIVEX DATA OBJECTS2.5 (ADO 2.5)..........................................................................................34 APLICACIONESASPCONIIS 5.0 .......................................................................................................38 VBSCRIPT5.0 ....................................................................................................................................40 PGINASASPCODIFICADAS..............................................................................................................42 OTROS CAMBIOS................................................................................................................................42

    LENGUAJE DE SCRIPT: VBSCRIPT.............................................................................................45 I NTRODUCCIN..................................................................................................................................45

    http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/
  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    6/482

    6

    DIFERENCIAS ENTRE LOSSCRIPTS DE CLIENTE Y DE SERVIDOR ........................................................46 CARACTERSTICAS GENERALES DEVBSCRIPT..................................................................................48 TIPOS DE DATOS DEVBSCRIPT..........................................................................................................49 VARIABLES DEVBSCRIPT.................................................................................................................50 CONSTANTES DEVBSCRIPT...............................................................................................................52 OPERADORES DEVBSCRIPT..............................................................................................................52 LITERALES DEVBSCRIPT..................................................................................................................53 ESTRUCTURAS DE CONTROL ENVBSCRIPT.......................................................................................53 PROCEDIMIENTOS DEVBSCRIPT.......................................................................................................58 TRATAMIENTO DE ERRORES ENVBSCRIPT........................................................................................59 DIRECTIVAS DE PREPROCESAMIENTO................................................................................................62 EXPRESIONES REGULARES ENVBSCRIPT..........................................................................................63 I NTRODUCCIN A LAPOO.................................................................................................................67

    Programacin Orientada a Objetos .............................................................................................. 67 Objetos...........................................................................................................................................67 Clases............................................................................................................................................. 68

    CLASES Y OBJETOS EN

    VBSCRIPT

    ......................................................................................................68 EVENTOS Y PROPIEDADES ENVBSCRIPT...........................................................................................70 OTRAS FUNCIONES ENVBSCRIPT......................................................................................................74

    Funciones para consultar variables ..............................................................................................74 Funciones utilizadas para la manipulacin de cadenas................................................................ 74 Funciones matemticas .................................................................................................................75 Funciones para dar formatos ........................................................................................................75 Funciones de fecha/hora................................................................................................................ 75 Funciones que devuelven informacin del motor de secuencias de comandos ............................. 76

    COMPONENTES DEVBSCRIPT............................................................................................................76 PRIMEROS PASOS CON ASP 3.0 ...................................................................................................79

    OBJETIVO DE ESTE TEMA...................................................................................................................79 OBJETOS INTEGRADOS, MODELO DE OBJETOS DEASP 3.0................................................................79 EQUIPO NECESARIO............................................................................................................................82 EL SERVIDOR WEB..............................................................................................................................82 LA HERRAMIENTA DE DESARROLLO..................................................................................................84

    MODELO DE OBJETOS DE ASP: EL OBJETO RESPONSE .....................................................89 DEFINICIN DEL OBJETOR ESPONSE..................................................................................................89 COLECCIONES DEL OBJETOR ESPONSE...............................................................................................89 PROPIEDADES DEL OBJETOR ESPONSE...............................................................................................93

    Buffer .............................................................................................................................................94 ContentType...................................................................................................................................95

    Expires...........................................................................................................................................96 Status .............................................................................................................................................96 CacheControl................................................................................................................................. 97 CharSet ..........................................................................................................................................97

    PICS...............................................................................................................................................98 IsClientConnected..........................................................................................................................99

    MTODOS DEL OBJETOR ESPONSE.....................................................................................................99 Clear, Flush y End.......................................................................................................................100 Write ............................................................................................................................................101

    Redirect........................................................................................................................................ 102 AddHeader...................................................................................................................................103 AppendToLog...............................................................................................................................103 BynaryWrite.................................................................................................................................104

    MODELO DE OBJETOS DE ASP: EL OBJETO REQUEST .....................................................105

    http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/http://0.0.0.0/
  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    7/482

    7

    DEFINICIN DEL OBJETOR EQUEST..................................................................................................105 COLECCIONES DEL OBJETOR EQUEST..............................................................................................106 FORMULARIOS HTML.......................................................................................................................107 COLECCIONES DEL OBJETOR EQUEST: FORM...................................................................................108 COLECCIONES DEL OBJETOR EQUEST: QUERYSTRING.....................................................................111 COLECCIONES DEL OBJETOR EQUEST: SERVER VARIABLES............................................................112 COLECCIONES DEL OBJETOR EQUEST: COOKIES.............................................................................117 COLECCIONES DEL OBJETOR EQUEST: CLIENTCERTIFICATE...........................................................120 MTODOS Y PROPIEDADES DEL OBJETOR EQUEST...........................................................................122

    MODELO DE OBJETOS DE ASP: EL OBJETO APPLICATION ............................................123 APLICACIONESASP.........................................................................................................................123 DEFINICIN DEL OBJETOAPPLICATION...........................................................................................127 COLECCIONES DEL OBJETOAPPLICATION.......................................................................................129 MTODOS DEL OBJETOAPPLICATION..............................................................................................132 EVENTOS DEL OBJETOAPPLICATION...............................................................................................133 EL FICHEROGLOBAL.ASA............................................................................................................134

    MODELO DE OBJETOS DE ASP: EL OBJETO SESSION .......................................................139 DEFINICIN DEL OBJETOSESSION...................................................................................................139 COLECCIONES DEL OBJETOSESSION................................................................................................142 PROPIEDADES DEL OBJETOSESSION................................................................................................144 MTODOS DEL OBJETOSESSION......................................................................................................147 EVENTOS DEL OBJETOSESSION.......................................................................................................148

    MODELO DE OBJETOS DE ASP: EL OBJETO SERVER........................................................151 DEFINICIN DEL OBJETOSERVER ....................................................................................................151 PROPIEDADES DEL OBJETOSERVER .................................................................................................151 MTODOS DEL OBJETOSERVER .......................................................................................................153

    CreateObject................................................................................................................................ 153 MapPath ......................................................................................................................................155 HTMLEncode...............................................................................................................................156 URLEncode.................................................................................................................................. 156 URLPathEncode ..........................................................................................................................157

    Execute.........................................................................................................................................158 Transfer .......................................................................................................................................160 GetLastError................................................................................................................................161

    MODELO DE OBJETOS DE ASP: EL OBJETO OBJECTCONTEXT.....................................165 DEFINICIN DEL OBJETOOBJECTCONTEXT.....................................................................................165 MTODOS DEL OBJETOOBJECTCONTEXT........................................................................................167 EVENTOS DEL OBJETOOBJECTCONTEXT.........................................................................................168

    MODELO DE OBJETOS DE ASP: EL OBJETO ASPERROR ..................................................171 DEFINICIN DEL OBJETOASPERROR ..............................................................................................171 PROPIEDADES DEL OBJETOASPERROR ...........................................................................................172 TRATAMIENTO DE ERRORES CON EL OBJETOASPERROR ................................................................172

    COMPONENTES DE VBSCRIPT ..................................................................................................179 COMPONENTES DEVBSCRIPT..........................................................................................................179 EL OBJETODICTIONARY..................................................................................................................180 OBJETOFILESYSTEMOBJECT...........................................................................................................184

    Mtodos para trabajar con unidades de disco ............................................................................184 Mtodos para trabajar con carpetas ........................................................................................... 185 Mtodos para trabajar con ficheros ............................................................................................187

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    8/482

    8

    EL OBJETODRIVE............................................................................................................................189 EL OBJETOFOLDER ..........................................................................................................................192 EL OBJETOFILE................................................................................................................................195 OBJETOTEXTSTREAM......................................................................................................................198

    COMPONENTES DE SERVIDOR .................................................................................................205 I NTRODUCCIN................................................................................................................................205 COMPONENTEAD R OTATOR ............................................................................................................207 COMPONENTE FUNCIONES DEL NAVEGADOR ...................................................................................211 COMPONENTE NEXTLINK .................................................................................................................214 COMPONENTECONTENTR OTATOR .................................................................................................217 COMPONENTEPAGECOUNTER .........................................................................................................220 COMPONENTECOUNTERS................................................................................................................222 COMPONENTEMYI NFO....................................................................................................................224 COMPONENTETOOLS.......................................................................................................................225 COMPONENTEPERMISSIONCHECKER ..............................................................................................227 COMPONENTESTATUS.....................................................................................................................229 COMPONENTE DE REGISTRO DEIIS..................................................................................................230 COMPONENTES DE TERCERAS PARTES.............................................................................................235

    ASP E INTERNET INFORMATION SERVER 5.0 ......................................................................241 I NTRODUCCIN................................................................................................................................241 EL SERVIDOR WEBI NTERNETI NFORMATIONSERVER5.0 ...............................................................242 I NSTALANDOIIS 5.0 ........................................................................................................................242 NOVEDADES DEIIS 5.0....................................................................................................................244 EL ADMINISTRADOR DE SERVICIOS DE INTERNET............................................................................245 ELEMENTOS DEIIS 5.0.....................................................................................................................249 ADMINISTRACIN DEL SITIO WEB....................................................................................................250

    Sitio Web......................................................................................................................................250 Directorio particular ...................................................................................................................252 Documentos .................................................................................................................................253 Operadores ..................................................................................................................................254

    Errores personalizados................................................................................................................255 Rendimiento.................................................................................................................................255 Seguridad de directorios..............................................................................................................256

    Filtros ISAPI................................................................................................................................257 Encabezados HTTP .....................................................................................................................258 Extensiones de servidor ...............................................................................................................259

    LA APLICACIN WEB........................................................................................................................260 CDONTS Y ASP................................................................................................................................271

    I NTRODUCCIN................................................................................................................................271 MODELO DE OBJETOS DECDONTS.................................................................................................273 EL OBJETO NEWMAIL.......................................................................................................................274 EL OBJETOSESSION.........................................................................................................................279 EL OBJETOFOLDER ..........................................................................................................................282 EL OBJETOMESSAGE.......................................................................................................................285

    INTRODUCCIN A ACTIVEX DATA OBJECTS (ADO)..........................................................295 I NTRODUCCIN................................................................................................................................295 OLE DB...........................................................................................................................................295 CARACTERSTICAS GENERALES DEADO.........................................................................................298 MODELO DE OBJETOS DEADO........................................................................................................299 PRINCIPALES OBJETOS DEADO.......................................................................................................300

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    9/482

    9

    UDA.................................................................................................................................................303 I NSTALACIN DESQLSERVER7......................................................................................................304

    Standard....................................................................................................................................... 304 Enterprise ....................................................................................................................................304 Desktop o SBS (Small Business Server).......................................................................................304

    ACCESO A DATOS CON ADO: CONNECTION ........................................................................309 I NTRODUCCIN................................................................................................................................309 EL OBJETOCONNECTION.................................................................................................................309 R EALIZACIN DE UNA CONEXIN....................................................................................................311 CONFIGURACIN DE LA CONEXIN..................................................................................................315 EJECUTANDO COMANDOS SOBRE LA CONEXIN..............................................................................317 TRANSACCIONES..............................................................................................................................320 COLECCIONES DEL OBJETOCONNECTION........................................................................................322 CERRANDO LA CONEXIN................................................................................................................324

    ACCESO A DOTOS CON ADO: COMMAND..............................................................................325 EL OBJETOCOMMAND.....................................................................................................................325 CREACIN DEL OBJETO COMMAND..................................................................................................326 LA COLECCINPARAMETERS..........................................................................................................329 EJECUCIN DE COMANDOS..............................................................................................................333 TRATAMIENTO DE ERRORES ENADO..............................................................................................342

    ACCESO A DATOS CON ADO: RECORDSET I.........................................................................347 EL OBJETOR ECORDSET...................................................................................................................347 TIPOS DER ECORDSET......................................................................................................................350 CREACIN Y APERTURA DE OBJETOS RECORDSET...........................................................................357 LA COLECCINFIELDS.....................................................................................................................360

    ACCESO A DATOS CON ADO: RECORDSET II.......................................................................367 R ECORRIENDO ELR ECORDSET........................................................................................................367 MODIFICACIN DELR ECORDSET.....................................................................................................373 CONSULTANDO ELR ECORDSET.......................................................................................................381 PAGINACIN DELR ECORDSET.........................................................................................................387

    ADO 2.5: RECORD...........................................................................................................................393 I NTRODUCCIN................................................................................................................................393 ACTIVEX DATA OBJECTS2.5 (ADO 2.5)........................................................................................393 EL OBJETOR ECORD.........................................................................................................................395

    Creacin y apertura del objeto Record .......................................................................................396 La coleccin Fields...................................................................................................................... 401 Manipulacin de objetos Record................................................................................................. 406 EL MTODOGETCHILDREN..............................................................................................................410

    ADO 2.5: STREAM...........................................................................................................................415 I NTRODUCCIN................................................................................................................................415 EL OBJETOSTREAM.........................................................................................................................415 CREACIN Y APERTURA DEL OBJETOSTREAM................................................................................417 MANIPULACIN DEL OBJETOSTREAM.............................................................................................420

    ASP Y VISUAL INTERDEV 6.0......................................................................................................427 I NTRODUCCIN................................................................................................................................427 PROYECTOS Y SOLUCIONES.............................................................................................................428 CREAR UN PROYECTOWEB..............................................................................................................430 EL ACCESO A DATOS A TRAVS DEVISUALI NTER DEV...................................................................435

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    10/482

    10

    Agregar una conexin a datos.....................................................................................................435 La vista de datos..........................................................................................................................440 El Diseador de Consultas ..........................................................................................................441 El Diseador de bases de datos...................................................................................................442

    CONTROLES EN TIEMPO DE DISEO.................................................................................................443 PROYECTO DE BASE DE DATOS........................................................................................................448 DESARROLLO DE APLICACIONES WEB EN EQUIPO............................................................................450 DISTRIBUIR LA APLICACIN.............................................................................................................452

    ASP Y SERVICIOS DE COMPONENTES....................................................................................455 I NTRODUCCIN................................................................................................................................455 CREANDO COMPONENTESACTIVEX SERVER ..................................................................................455 I NTRODUCCIN ACOM...................................................................................................................459 A NTECEDENTES: MICROSOFTTRANSACTIONSEVER ......................................................................460 CARACTERSTICAS DE SERVICIOS DE COMPONENTES......................................................................461 EL EXPLORADOR DE SERVICIOS DE COMPONENTES.........................................................................463 GESTIN DE TRANSACCIONES..........................................................................................................468 PGINASASPTRANSACCIONALES. EJEMPLO DE DESARROLLO......................................................470

    Ejemplo de desarrollo transaccional con ASP y Servicios de componentes............................... 471

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    11/482

    Introduccin a ASP, Active Server Pages

    Antecedes de ASP: la especificacin CGIASP no es una idea realmente nueva, encontramos un antecedente muy importante y muy utilizado enInternet denominado comnmente scritps CGI.

    Las siglas CGI se corresponden en ingls a Common Gateway Interface, es decir, interfaz de pasarelacomn. Vamos a ir viendo paso a paso que significan cada unas de estas palabras, que realmente sonlas que definen el concepto de CGI.

    La especificacin Common Gateway Interface permite a los servidores Web ejecutar y comunicarsecon otros programas, llamados programas CGI, e incorporar la salida de los mismos a los grficos,

    texto o audio enviados a un navegador Web.La programacin en CGI implica disear programas que se ejecutarn en el entorno de Internet, y msconcretamente en el entorno World Wide Web.

    El programa CGI se ejecutar dentro del entorno ofrecido por el servidor Web que lo contiene. Elservidor Web crear una informacin especial para el CGI cuando pasa a ejecutarlo, y el servidoresperar una respuesta del programa CGI como resultado de su ejecucin. Es esta comunicacin ointeraccin entre el servidor Web y el programa CGI es lo que define realmente la especificacin CGI.

    Los programas CGI tambin se suelen denominar scripts CGI, esto es debido a que los primeros programas CGI fueron escritos utilizando scripts de la shell de UNIX y Perl.

    Antes de que el programa CGI se ejecute, el servidor Web que lo contiene se encargar de crear unentorno con el que podr interactuar el programa CGI. Este entorno comprende la traduccin de

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    12/482

    Programacin de aplicaciones para Internet con ASP Grupo EIDOS

    12

    cabeceras de peticiones del protocolo HTTP (HyperText Transfer Protocol) en variables de entorno alas que podr acceder nuestro programa CGI. Estas variables de entorno contendrn una informacinmuy variada acerca del cliente que ha realizado la peticin o del propio servidor Web en el que seejecuta el programa CGI.

    Una vez que el servidor ha iniciado la ejecucin del programa CGI esperar un resultado de laejecucin del mismo. Este resultado suele ser una serie de encabezados de respuesta del protocoloHTTP y cdigo HTML. Estos encabezados y cdigo HTML sern recogidos por el servidor Web yenviados al cliente que realiz la peticin, es decir, al navegador o cliente Web.

    Despus de ver esta pequea introduccin podemos definir un programa CGI como un programa quese encuentra en un servidor Web y que recibe peticiones desde un cliente Web travs del servidorWeb. Y gracias al entorno que le ofrece el servidor Web el programa CGI puede obtener informacinsobre la peticin realizada, adems de otra informacin til, que le permitir procesar la peticin. Larespuesta a esta peticin ser generada por el programa CGI en forma de cabeceras de respuesta del protocolo HTTP y etiquetas del lenguaje HTML (HyperText Markup Language), que sern enviadas por el servidor Web al navegador Web que realiz la peticin.

    CGI no es un lenguaje de programacin sino que es una especificacin. La especificacin CGI va arealizar la funcin de interfaz o pasarela entre el servidor Web y los programas CGI, haciendo uso del protocolo HTTP y el lenguaje de hipertexto HTML.

    Un programa CGI ser aquel que cumpla la especificacin CGI, es decir, interactuar con el servidoratendiendo a unos principios establecidos por la especificacin CGI.

    CGI ya lleva siendo utilizado muchos aos en la red y todava se sigue utilizando en muchos sitiosWeb a la hora de acceder a datos o construir pginas dinmicas, pero cada vez ms los sitios Web vanadoptando la utilizacin de Active Server Pages.

    Active Server Pages (ASP) es el nombre que reciben las pginas activas de servidor, es decir, las pginas que se ejecutan en el servidor. ASP se basa en la especificacin CGI, podemos considerar queASP es una evolucin de la especificacin CGI.

    Definicin de ASPLa filosofa de ASP resulta muy sencilla, en pocas palabras se puede definir de la siguiente forma: las pginas ASP, tambin llamadas pginas activas, son pginas que contienen cdigo HTML, script decliente y un script que se ejecuta en el servidor, dando como resultado cdigo HTML. Por lo tanto alcargar una pgina ASP en nuestro navegador, en realidad no estamos cargando la pgina ASP comotal, sino el resultado de la ejecucin de la pgina ASP, es decir la salida de la pgina ASP, y como seha apuntado anteriormente se trata de cdigo HTML. Es decir, son pginas que se ejecutan en elservidor enviando como resultado al cliente cdigo HTML.

    Antes de seguir vamos a definir de forma sencilla lo que se considera un lenguaje de script o desecuencia de comandos. Un lenguaje de script es un subconjunto de otro lenguaje ms general y que seutiliza para un entorno muy determinado, en este caso el entorno es la Web.

    Una pgina ASP podr contener los siguientes elementos: texto, componentes ActiveX, cdigo HTMLy comandos de script. Este script puede ser de dos tipos: script de cliente o script de servidor. El scriptde servidor es la nueva idea que introduce ASP, se debe tener en cuenta que en el script de servidor setiene acceso a diferentes objetos y no est orientado a eventos.

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    13/482

    Grupo EIDOS 1. Introduccin a ASP, Active Server Pages

    13

    El script de servidor utilizado en ASP utiliza la misma sintaxis que el script de cliente, la diferenciaest en que con ASP el script de servidor es compilado y procesado por el servidor Web antes de quela pgina sea enviada al navegador.

    ASP no es un lenguaje de script, ASP ofrece un entorno para procesar scripts que se incorporan dentrode pginas HTML, es decir, un entorno de procesamiento de scripts de servidor.

    La propia Microsoft define ASP de la siguiente manera: "...es un entorno de secuencias de comandosen el lado del servidor que puede utilizar para crear y ejecutar aplicaciones de servidor Webdinmicas, interactivas y de alto rendimiento...".

    Realmente, ASP es un componente (asp.dll) que se instala en un servidor Web y cuya misin es la de procesar ficheros que terminan con la extensin .asp y transmitir el resultado al cliente que solicit la pgina ASP.

    El script de servidor incluido en una pgina ASP empieza a ejecutarse cuando un navegador solicita elarchivo .asp al servidor Web. El servidor Web llama entonces a ASP, el cual lee el archivo solicitadode arriba a abajo, ejecuta los comandos y enva una pgina HTML al explorador. ASP incluye unmotor de interpretacin de scripts del lado del servidor.

    Las pginas ASP son ficheros con la extensin asp. Crear un fichero .asp resulta muy sencillo, se puede crear a partir de una pgina HTML existente, simplemente renombrando el fichero .html o .htma un fichero .asp. Para hacer esta pgina ASP disponible para los usuarios de la Web, el fichero .asp sedebe almacenar en un directorio de publicacin en Internet, se debe tener en cuenta que el directoriovirtual asociado debe tener permisos de ejecucin de secuencias de comandos.

    La ltima versin de la tecnologa ASP es la versin 3.0. Esta versin es muy similar a su predecesora,y todas las nuevas caractersticas que presenta se deben a que se utiliza una nueva versin del servidorWeb (Internet Information Services 5.0), recordemos que las pginas ASP son procesadas por elservidor.

    En el tema siguiente se ofrece una comparativa de ASP 2.0 con ASP 3.0 comentando brevementetodas sus novedades, se recomienda la lectura del segundo captulo sobretodo a los alumnos que yaconozcan ASP 2.0.

    Aplicaciones ASPUna aplicacin basada en ASP consta de un directorio virtual en un servidor Web y de todos lossubdirectorios y archivos contenidos en l. Una aplicacin puede ser una pgina principal sencilla, o bien puede estar formada por un conjunto completo de pginas interrelacionadas entre s.

    Al usar aplicaciones en ASP es posible mantener un estado, es decir, se tiene la capacidad de mantenerinformacin. Dentro de una aplicacin ASP se pueden mantener dos tipos de estado:

    Estado de la aplicacin, en la que toda la informacin relativa a una aplicacin est disponible para todos los usuarios de la misma.

    Estado de sesin, en la que la informacin slo est disponible para un usuario o sesinespecficos. Una sesin por lo tanto, pertenece a un solo usuario.

    Un ejemplo prctico de una aplicacin ASP puede ser este mismo sitio Web. Almagesto estcompletamente realizado con pginas ASP constituyendo por lo tanto una aplicacin ASP, este sitio

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    14/482

    Programacin de aplicaciones para Internet con ASP Grupo EIDOS

    14

    Web demuestra los diferentes usos que puede tener la tecnologa ASP y las necesidades que puedecubrir.

    Las aplicaciones ASP no son aplicaciones al uso, ya que en realidad no se dispone de un ejecutablesino de un conjunto de pginas, imgenes y recursos, por lo tanto se trata de aplicaciones muy particulares que requieren para su ejecucin de un servidor Web que soporte las pginas ASP.

    Aportaciones de ASPEn este apartado se comentan las aportaciones que ofrece ASP desde su primera versin, es decir, setrata de aportaciones muy genricas de la tecnologa ASP.

    Para entender las aportaciones que ofrecen las pginas ASP se deben tener en cuenta una serie decaractersticas del protocolo HTTP (HyperText Transfer Protocol). Se dice que le protocolo HTTP esun protocolo sin estado, es decir, no se puede mantener un estado entre diferentes peticiones. El

    protocolo HTTP se basa en el paradigma cliente/servidor o peticin/respuesta.Se deben tener en cuenta un par de puntos a la hora de establecer la comunicacin entre clientes(navegadores Web) y servidores (servidores Web) del protocolo HTTP:

    Despus de realizar una peticin el cliente se desconecta del servidor y espera una respuesta.El servidor debe restablecer la conexin despus de que haya procesado la peticin.

    El servidor y el cliente slo se tienen en cuenta durante la conexin, despus, se olvidan el unodel otro. Por esta razn, ni el cliente ni el servidor pueden retener informacin entre diferentes peticiones o a travs de diferentes pginas Web. Sin embargo, ASP permite al servidoralmacenar informacin, o mantener el estado, entre las diferentes peticiones del cliente.

    El cliente y el servidor Web se comunican utilizando cabeceras HTTP, estas cabeceras son coleccionesde datos que intercambian el cliente y el servidor para asegurar que la transaccin es coherente ycompleta. Como peticin del usuario se enva una cabecera y el servidor interpreta esta cabecera yenva una respuesta HTTP cuyo cuerpo sera el contenido del recurso demandado por el cliente.

    ASP permite al desarrollador intervenir en todo el proceso de comunicacin del protocolo HTTP. Losobjetos integrados dentro de ASP Request y Response interactan con las peticiones y respuestas del protocolo HTTP, respectivamente.

    Dentro de los objetos integrados de ASP podemos encontrar la forma de acceder al servidor, obtenerinformacin del mismo, as como del usuario. Y tambin se permite, como se haba comentadoanteriormente, mantener el estado entre diferentes peticiones del cliente.

    Se puede considerar ASP como una nueva (aunque ya no tan nueva) aproximacin a la creacin de pginas web complejas que pueden acceder a bases de datos o a otros objetos del servidor. Ofrece losiguiente:

    Independencia del navegador, ASP puede ejecutar complejas operaciones en el servidor yenviar solamente los resultados al cliente.

    Construccin de pginas basadas en bases de datos que permiten realizar operaciones sobre las bases de datos del servidor de forma bastante sencilla.

    Es una de las soluciones ms verstiles para el desarrollo de aplicaciones en el entorno deInternet/Intranet.

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    15/482

    Grupo EIDOS 1. Introduccin a ASP, Active Server Pages

    15

    Desarrollo de complejas aplicaciones Web.

    Facilidad de uso de componentes de terceras partes ejecutndose en el servidor, es decir, se pueden utilizar componentes para liberarnos de realizar tareas complejas. Estos componentesse deben registrar en el servidor y podrn ser utilizados desde el script correspondiente. Estoscomponentes se denominan componentes ActiveX de servidor.

    Posibilidad de definir pginas ASP transaccionales para realizar todas las operacionescontenidas en la misma dentro de una transaccin.

    Una tecnologa en constante evolucin y mejora.

    A lo largo del curso se profundizar ms en todos estos puntos, aqu se han comentado simplementelos ms evidentes y tambin para poseer una visin general de lo que supone la tecnologa ASP.

    Requerimientos de ASP 3.0En este apartado se va a comentar los distintos requerimientos que presentaban cada una de lasversiones de ASP, desde la ms antigua hasta la presente versin.

    La primera versin de las pginas activas (ASP 1.0), se incorpor como un aadido o ampliacin alservidor Web del sistema operativo Microsoft Windows NT Server 4.0 llamado Internet InformationServer 3.0 (IIS 3.0). Este servidor Web era bastante interesante pero todava era demasiadorudimentario y presenta limitaciones y problemas.

    La primera versin de ASP era bastante interesante ya que se pasaba de la complejidad de los CGIs(Common Gateway Interface) a la sencillez de las pginas activas. ASP 1.0 supuso el inicio deldesarrollo de aplicaciones Web con productos basados en tecnologa Microsoft.

    La versin 2.0 de Active Server Pages la encontramos en el servidor Web de Microsoft InternetInformation Server 4 (IIS 4) y en el servidor Personal Web Server 4 (PWS 4). Ambos servidores los podemos instalar desde la extensin del sistema operativo de Windows NT denominada Windows NT4.0 Option Pack, o ms comnmente Option Pack. Esta extensin del sistema operativo no slo esaplicable a Windows NT, sino que tambin la podemos utilizar para Windows 95/98.

    Se debe sealar que el servidor IIS 4 es el servidor Web para plataformas Windows NT Server 4.0, yel servidor Personal Web Server 4.0 es el servidor Web para plataformas Windows 95/98 y Windows NT Workstation 4.0.

    IIS 4 adems de ofrecer la nueva versin de la tecnologa ASP permite configurar y administrar deforma sencilla nuestras aplicaciones ASP. Adems la figura de la aplicacin ASP se encuentra muchoms clara que en la versin 1.0 de las pginas ASP, el servidor Web nos indicar claramente el alcancede una aplicacin ASP determinada.

    ASP 2.0 es una clara y necesaria evolucin de ASP 1.0 incorporando la posibilidad de realizar pginasASP transaccionales, aadiendo para ello un nuevo objeto integrado denominado ObjectConext(objeto de contexto). ASP 2.0 ofrece un entorno ms robusto y potente que la versin anterior para eldesarrollo de aplicaciones Web.

    Y por fin llegamos al presente, ASP 3.0. Para poder utilizar ASP tenemos que disponer de cualquierade las versiones del sistema operativo Windows 2000 (Professional, Server y Advanced Server). Eneste caso no se trata nicamente de una nueva versin del servidor Web sino tambin de una nuevaversin del sistema operativo Windows.

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    16/482

    Programacin de aplicaciones para Internet con ASP Grupo EIDOS

    16

    ASP 3.0 se encuentra contenido en la nueva versin del servidor Web de Microsoft, llamado InternetInformation Server 5.0 o tambin Internet Information Services 5.0 en cualquier caso lo llamaremosIIS 5.0. El servidor Web IIS 5.0 se encuentra formando parte del sistema operativo Windows 2000como un componente ms, de esta forma Microsoft integra la funcionalidad del servidor Web dentrode su plataforma Windows 2000.

    ASP 3.0 podemos decir que es la evolucin lgica de ASP 2.0, no supone ningn cambio radical,ofrece una serie de mejoras y novedades (que se comentarn el siguiente captulo para los lectores queya conozcan ASP 2.0). Se aade un nuevo objeto integrado llamado ASPError, este nuevo objeto esutilizado para el tratamiento de errores.

    Sintaxis de ASPComo se ha comentado anteriormente ASP no es un lenguaje de script, sino que ofrece un entorno para la ejecucin de estos lenguajes que se encuentran dentro de pginas ASP. ASP posee una sintaxis para poder distinguir cada uno de los elementos que nos podemos encontrar dentro de una pginaASP.

    Encerrado dentro de los delimitadores se va a encontrar todo el cdigo de script de servidor, deesta forma el comando asigna el valor Pepe a la variable nombre; y dentro delos delimitadores se encuentran expresiones de salida, as por ejemplo la expresin enviar al navegador el valor Pepe, es decir, el valor actual de la variable, msadelante se ver una equivalencia de estos delimitadores con un mtodo de un objeto integrado deASP.

    Entre los delimitadores se puede y debe incluir varias sentencias en distintas lneas de cdigodel lenguaje de secuencias de comandos, sin embargo los delimitadores slo podemosencerrar una sentencia por lnea.

    Entre los delimitadores de ASP se puede incluir cualquier tipo de expresin vlida en el lenguaje descript principal. Por ejemplo la lnea que muestra elCdigo fuente 1genera un texto que contiene lahora actual del servidor.

    Esta pgina se actualiz a las

    Cdigo fuente 1

    En este caso el servidor Web devuelve al navegador el valor de la funcin Now de VBScript junto conel texto.

    Dentro de los delimitadores de script de servidor se pueden encontrar tambin instrucciones dellenguaje de script correspondiente, as por ejemplo puede aparecer una instruccin If...Then...Else dellenguaje VBScript como se puede apreciar en elCdigo fuente 2.

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    17/482

    Grupo EIDOS 1. Introduccin a ASP, Active Server Pages

    17

    Cdigo fuente 2

    En el cdigo anterior se comprueba si la variable nombre tiene algn valor, si lo tiene saludamos conel valor de la variable, mostrando el saludo en color verde.

    Tambin se puede incluir cdigo HTML entre las instrucciones del script. Por ejemplo la secuencia decomandos delCdigo fuente 3, mezcla HTML con una instruccin condicional y produce el mismoresultado que la secuencia delCdigo fuente 2.

    Nombre desconocidoHola amigo

    Cdigo fuente 3

    Para poder realizar una lectura ms sencilla del cdigo ASP se recomienda utilizar los delimitadoresde script de servidor encerrando varias lneas de cdigo en lugar de un par de delimitadores por cadalnea. As, en lugar de escribir el cdigo que indica elCdigo fuente 4, se debera escribir lo quemuestra elCdigo fuente 5.

    Cdigo fuente 4

    Cdigo fuente 5

    En el caso de tener lnea simple de script, los delimitadores se deben encontrar en la misma lnea.

    Cdigo fuente 6

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    18/482

    Programacin de aplicaciones para Internet con ASP Grupo EIDOS

    18

    Objetos integrados en ASP 3.0ASP en su versin 3.0 contiene siete objetos integrados que liberan al programador de la realizacinde tareas complejas. Estos seis objetos no requieren que sean instanciados siempre se encuentran

    disponibles en nuestras pginas ASP.Estos objetos son los siguientes:Application , Session , Request , Response , Server , ASPError y ObjectContext . Cada uno de estos objetos posee una serie de mtodos y propiedades para poderser utilizados por el script de servidor, adems cada objeto posee una funcin determinada, bsicamente estas funciones son las siguientes:

    Request: obtencin de informacin del cliente.

    Response: envo de informacin al cliente.

    Server: acceso a los recursos del servidor, como puede ser la creacin de componentes .

    Session: almacena informacin sobre la sesin de un usuario.

    Application: almacena informacin comn para todos los usuarios de la aplicacin ASP.

    ObjectContext: gestin de transacciones en pginas ASP.

    ASPError : contiene informacin detallada acerca del ltimo error que se ha producido.

    Cada uno de estos objetos se explicarn con una mayor profundidad en su captulo correspondiente.

    La sintaxis utilizada para poder acceder a los mtodos y propiedades de los objetos depende dellenguaje de script que estemos utilizando. Debido que el lenguaje de script por defecto de ASP esVBScript (subconjunto de Visual Basic) en este curso nos vamos a centrar en este script.

    Los objetos Request y Response contienen colecciones. Una coleccin es un conjunto de elementos deinformacin relacionados y que se accede a ellos de una misma forma. Se puede acceder a cadaelemento de una coleccin mediante el bucle For...Each. La utilizacin de colecciones se ver endetenimiento en los captulos dedicados a estos dos objetos integrados.

    Un mtodo es un procedimiento que acta sobre un objeto, la sintaxis para poder invocar un mtodode un objeto es la siguiente:

    Objeto.metodo parmetros

    Donde el tipo de parametros depender del mtodo invocado.

    Una propiedad es un atributo de un objeto. Las propiedades son caractersticas de un objeto quedescriben su estado, as por ejemplo un objeto podra tener las caractersticas tamao, nombre, color,etc. Para obtener el valor de una propiedad utilizamos la sintaxis siguiente:

    Objeto.propiedad

    Y para asignarle un valor a una propiedad de un objeto debemos utilizar la sintaxis

    Objeto.propiedad=valor Donde valor depende de la propiedad del objeto.

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    19/482

    Grupo EIDOS 1. Introduccin a ASP, Active Server Pages

    19

    Componentes de servidorASP incluye una serie de componentes ActiveX de servidor (o componentes de servidor), llamadoscomponentes ActiveX Server, anteriormente conocidos como servidores de Automatizacin. Estos

    componentes estn diseados para ejecutarse en un servidor Web y contienen una serie de funciones bastante tiles para que el programador no tenga que construirlas, una de estas funciones puede ser elacceso a bases de datos. Estos componentes los invocaremos desde nuestras pginas ASP.

    No se deben confundir los componentes de servidor con los objetos integrados en ASP.

    Para poder tener acceso a alguno de los componentes ActiveX de servidor primero se deber crear unainstancia del componente correspondiente. Una vez creada la instancia, se pueden usar los mtodosasociados al componente o establecer y leer sus propiedades.

    Los componentes ActiveX Server que incluye ASP en su versin 3.0 son los siguientes:

    Componente de acceso a bases de datos, ADO (ActiveX Data Objects). A travs de lautilizacin de este componente se puede ofrecer acceso a bases de datos desde una pginaASP, as por ejemplo, se puede mostrar el contenido de una tabla, permitir que los usuariosrealicen consultas y otras operaciones sobre una base de datos.

    Componente Ad Rotator. Este componente permite mostrar una serie de imgenes alternativascon un vnculo a otra direccin desde la imagen presentada. Este componente se suele utilizar para mostrar diferentes anuncios de forma alternativa dentro de una pgina ASP.

    Componente Funciones del explorador. A travs de este componentes podemos recuperardatos acerca del tipo de navegador del cliente y que capacidades o funciones tiene.

    Componente vnculo de contenidos. Facilita el desplazamiento lgico entre las diferentes pginas ASP de una aplicacin ASP.

    Componente Content Rotator (rotador de contenidos). Este componente permite hacerrotaciones de cadenas de contenido HTML en una pgina.

    Componente Page Counter (contador de pginas). Permite llevar una cuenta del nmero deveces que se ha accedido a una pgina determinada dentro de nuestro sitio Web.

    Componente Counters. A travs de este componente podremos almacenar, crear, incrementary consultar cualquier contador.

    Componente MyInfo. Nos permite almacenar informacin personal que ser ofrecida por eladministrador del sitio Web.

    Componente Tools. Es el denominado componente de utilidades. Ofrece una serie defunciones diversas, como la generacin de nmeros aleatorios o la comprobacin de laexistencia de un fichero en el servidor.

    Componente Permission Checker. A travs de este componente podremos determinar si a unusuario se le ha dado permisos para acceder a un fichero determinado.

    Componente Status. Este componente, de momento, nicamente est disponible para el

    servidor Personal Web Server en plataformas Macintosh, resulta extrao pero es as. Nosofrece una informacin variada acerca del estado del servidor Web.

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    20/482

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    21/482

    Grupo EIDOS 1. Introduccin a ASP, Active Server Pages

    21

    Internet Information Server: es el servidor Web en el que se ejecutarn las pginas ASP ydevolver, como resultado de la ejecucin de las mismas, cdigo HTML

    Los intrpretes de los lenguajes de script: estos intrpretes tratarn el script de servidor.

    Componentes ActiveX Server: son los componentes de servidor que se incluyen con ASP yque ya se han visto en el apartado anterior.

    Componentes de usuario: son componentes ActiveX Server desarrollados y creados porterceras partes o por nosotros mismos.

    ActiveX Data Objects: aunque estaran dentro de los componentes ActiveX Server se separandebido a su importancia y complejidad. Nos permiten realizar el acceso a bases de datos deforma potente y sencilla.

    Hola mundo con ASPUna vez realizada la introduccin a ASP y su filosofa, vamos a dejar la teora un poco de lado yvamos a escribir nuestra primera pgina ASP completa, realizando para ello el famoso programa HolaMundo.

    Primero se va a mostrar como sera el cdigo completo y a continuacin se va a ir comentando cadauna de las lneas.

    1.2.3.4.5.Hola Mundo6.7.8.9.11. Hola Mundo
    12.13.14.15.

    Cdigo fuente 7

    La ejecucin de esta pgina ASP produce la salida que muestra laFigura 2, es decir, genera eldocumento HTML, que vemos en ella.

    Figura 2. Hola mundo en el navegador .

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    22/482

    Programacin de aplicaciones para Internet con ASP Grupo EIDOS

    22

    En la primera lnea indicamos el lenguaje de script que se va a utilizar, en este caso VBScript, acontinuacin forzamos la declaracin de las variables con la instruccin Option Explicit, ya que pordefecto VBScript no obliga a declarar variables.

    Las lneas de la 3 a la 8 son cdigo HTML que no necesita ningn comentario. De las lneas 9 a la 12nos encontramos con el script de servidor junto con el cdigo HTML que va a mostrar utilizando un bucle el mensaje " Hola mundo ", el cual en cada iteracin se va aumentando de tamao.

    En la lnea 9 se declara la variable que se va a incrementar en el bucle y que va a servir para indicar eltamao de la letra, ayudndonos para ello de la etiqueta de HTML

    En las ltimas lneas, es decir, de la 13 a la 14 vuelve a aparecer solamente cdigo HTML, en estecaso necesario para indicar la finalizacin del documento.

    Si vemos el cdigo fuente desde el navegador Web observaremos lo que muestra elCdigo fuente 8.

    Hola MundoHola Mundo
    Hola Mundo
    Hola Mundo
    Hola Mundo
    Hola Mundo

    Cdigo fuente 8

    Como se puede comprobar no existe ningn rastro del cdigo ASP, ya que ha sido ejecutado por elservidor y lo que obtenemos el resultado de su ejecucin.

    Esta sencilla pgina ASP se puede descargar desdeaqu.

    Para poder ejecutar esta pgina ASP se escribir todo el cdigo en un fichero con extensin .asp queresidir en un directorio de publicacin en Internet que adems posea el permiso de ejecucin descripts.

    Para poder probar este primer ejemplo debemos tener instalado el servidor Web Internet InformationServer 5.0. El directorio de publicacin en Internet, por defecto, de este servidor esC:\Inetpub\wwwroot. Por lo tanto si creamos una subcarpeta llamada C:\Inetpub\wwwroot\prueba ycopiamos la pgina ASP llamada HolaMundo.asp a este directorio, para ejecutarla escribiremos en elnavegador http://nombreServidor/prueba/HolaMundo.asp. Se debe recordar que una pgina ASP debeser siempre ejecutada e interpretada por el servidor Web.

    Este ejemplo ha sido un primer contacto con ASP, ms adelante, en los distintos apartados de loscaptulos correspondientes se ver con ms detalle las estructuras de control, la sintaxis de VBScript,los objetos integrados de ASP con sus mtodos y propiedades, etc.

    http://ejemplos/Ejercicio1.ziphttp://ejemplos/Ejercicio1.ziphttp://ejemplos/Ejercicio1.zip
  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    23/482

    Novedades de ASP 3.0

    Para quin es este captulo?Este captulo est indicado para aquellas personas que ya conocen ASP 2.0 o por lo menos tienen unligero conocimiento de la versin anterior de ASP. De todas formas este captulo tambin puede servlido para alumnos que no tengan ningn conocimiento de ASP, aunque muchos conceptos e ideas pueden escaparse, pero que no cunda el pnico, en los siguientes captulos se entrar en ms detalle.

    Todo aquel que no se sienta con ganas o no lo vea necesario puede saltarse el presente captulo, ya quetampoco existe examen para el mismo. Adems el contenido de este captulo se volver a tratar de unaforma ms detallada a lo largo de todo el curso.

    Aqu se pretende mostrar de forma muy general las mejoras y novedades que aporta ASP 3.0 sobre laversin anterior de las pginas activas ASP 2.0, no se va a entrar en detalles y se supone que el lectortiene ya algn conocimiento de ASP 2.0.

    A continuacin vamos a ir comentando en cada apartado cada uno de los cambios y mejoras queaporta ASP 3.0, para ello se apoya en Internet Information Server 5.0.

    Mejoras generales en ASP 3.0En este epgrafe se va a reunir una serie de cambios y novedades que ofrece ASP 3.0, que son decarcter general y que afectan al rendimiento y funcionamiento de las aplicaciones ASP.

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    24/482

    Programacin de aplicaciones para Internet con ASP Grupo EIDOS

    24

    En esta nueva versin de ASP se ofrece un mejor funcionamiento y escalabilidad de la tecnologaASP, basndose en las nuevas caractersticas y mejoras de Internet Information Server 5.0.

    Se ha producido una mejora en el procesamiento de las pginas ASP por parte de la libreraASP.DLL.

    Se ofrece lo que se denomina ajuste automtico, que consiste en detectar cundo una peticinest bloqueada por recursos externos, en ese caso se proporcionan automticamente mssubprocesos para ejecutar peticiones adicionales y continuar de esta forma con el procesamiento normal de forma simultnea.

    Los objetos COM se liberan ms rpidamente y por defecto los componentes COM seejecutanout-of-process , es decir, en un espacio de memoria distinto al del servidor Web.

    Con ASP 3.0 se ofrecen los objetos COM que se ofrecan con ASP 2.0 (componentes deservidor, como Content Rotator) pero con su rendimiento mejorado, es decir, aparecen

    versiones mejoradas de los componentes anteriores. El servidor transaccional Microsoft Transaction Server (MTS) ya no existe como una entidad

    separada en Windows 2000, y pasa a formar parte de Servicios de componentes (MicrosoftComponent Services). IIS 5.0 y Servicios de componentes funcionan conjuntamente paraformar la arquitectura bsica para la creacin de aplicaciones Web.

    El objeto ResponseLos nicos objetos integrados dentro de ASP que han sufrido alguna modificacin han sido el objetoResponse, que vemos en este apartado, y el objeto Server.

    Por defecto la propiedad Buffer del objeto Response tiene el valor True (verdadero), en ASP 2.0 y 1.0esta propiedad del objeto Response tena por defecto el valor de False (falso). Debido a esto, en ASP3.0 el resultado de la ejecucin de una pgina ASP nicamente es enviado al cliente cuando setermina de procesar la pgina ASP correspondiente, o bien cuando se utilizan los mtodos Flush o Enddel objeto Response.

    Por lo tanto, a no ser que se indique otra cosa, de forma predeterminada el resultado de la ejecucin dela pgina ASP se enviar al bfer. Segn afirma Microsoft la tcnica del bfer ofrece una entrega de pginas ms eficiente al cliente.

    En el objeto Response tambin cambia la forma de utilizar la propiedad IsClientConnected, medianteesta propiedad podemos consultar si un cliente se encuentra todava conectado a nuestro servidor o porel contrario si ha finalizado su sesin con el mismo. En ASP 2.0 podamos consultar esta propiedadslo si antes habamos enviado ya alguna salida o contenido al cliente, ahora con ASP 3.0 podemosutilizar IsClientConnected antes de enviar cualquier contenido al navegador.

    En los siguientes captulos veremos en profundidad este objeto y el resto de los objetos integradosdentro de ASP, como ya se ha dicho este captulo pretende ser simplemente una comparativa entreASP 3.0 y ASP 2.0 mostrando las mejoras y novedades que existen entre ambas versiones.

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    25/482

    Grupo EIDOS 2. Novedades de ASP 3.0

    25

    El objeto ServerEste es otro de los objetos de ASP que ha experimentado cambios. Presenta dos nuevos mtodos:Transfer y Execute, que permiten controlar el control de flujo del programa, ampliando las

    capacidades de control de flujo de las pginas ASP, anteriormente slo se dispona del mtodoRedirect del objeto Response.

    En ASP 2.0 si queramos transferir la ejecucin a otra pgina ASP tenamos que utilizar el mtodoRedirect del objeto Response, pero esto supona enviar una respuesta al cliente para indicarle la cargade una nueva pgina, que es la pgina a la que pasamos la ejecucin.

    La utilizacin del mtodo Redirect es bastante costosa y problemtica ya supone un envo deinformacin ms del servidor al cliente para indicarle mediante una cabecera HTTP de redireccin quela pgina ha cambiado de localizacin, siendo la nueva localizacin la pgina que deseamos cargar.Esto es problemtico ya que en algunos navegadores como Netscape Communicator aparace unmensaje del tipoEl objeto requerido se ha movido y se puede encontrar aqu , estotambin ocurre cuando la conexin la realiza el cliente a travs de proxy.Pero ahora con ASP 3.0 podemos evitar esta redireccin, que como hemos visto, tiene lugar en elcliente, mediante los mtodos Execute y Transfer del objeto Server que permiten que la redireccintenga lugar en el servidor, quedando el cliente completamente ajeno. Ambos mtodos reciben como parmetro la ruta de la pgina a la que queremos redirigir al cliente.

    La utilizacin del mtodo Execute es muy similar a realizar una llamada a un procedimiento o funcin.Cuando lanzamos el mtodo Execute se empieza a ejecutar la pgina que indicamos por parmetro, ycuando termina la ejecucin de esta nueva pgina, el control pasa a la siguiente sentencia despus de lallamada al mtodo Execute en la pgina inicial, siguiendo a partir de aqu con la ejecucin de la pgina, es decir, el navegador del cliente recibe una salida formada por la combinacin de la ejecucinde ambas pginas.

    El mtodo Transfer se comporta de distinto modo, al lanzar este mtodo se pasa la ejecucin a lanueva pgina, pero una vez que finaliza la ejecucin de la misma no se vuelve a la pgina inicial,como ocurra con el mtodo Execute.

    En ambos mtodos se mantiene el contexto de la pgina inicial, es decir, en la nueva pgina tenemosacceso a las variables, objetos y a todos los objetos intrnsecos de ASP (Request, Session, Response...)de la pgina inicial o pgina de origen. Tambin se mantienen las transacciones entre distintas pginas,siempre que proceda, atendiendo a la directiva @TRANSACTION.

    De esta forma como la redireccin entre pginas se produce en el servidor, el navegador cree que siguerecibiendo todava la pgina original que habia demandado, incluso en la barra de direcciones delnavegador sigue apareciendo la misma URL y los botones Atrs y Adelante funcionan correctamente.

    Vamos a ofrecer un sencillo cdigo de una pgina ASP que utiliza los mtodos Transfer y Execute para ejecutar otra pgina, y as se puede ver ms claramente la utilizacin de estos dos nuevos mtodosdel objeto Server.

    Nuestra pgina, llamada PaginaInicial.asp, va a constar de un formulario con dos botones, y segn el botn que se pulse se lanzar el mtodo Execute o Transfer para ejecutar la pgina OtraPagina.asp. Elcdigo de estas dos pginas se ofrece a continuacin.

    Primero el cdigo de la pgina PAGINAINICIAL.ASP.

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    26/482

    Programacin de aplicaciones para Internet con ASP Grupo EIDOS

    26


    Cdigo fuente 9

    Y ahora el cdigo de la pgina ASP llamada OTRAPAGINA.ASP.

    Se est ejecutando la pgina OtraPagina.asp
    Esta pgina se ha cargado con el mtodo

    EXECUTE

    TRANSFER
    La variable Request.ServerVariables("SCRIPT_NAME") sigue teniendo el valor:
    Termina la ejecucin de OtraPagina.asp

    Cdigo fuente 10

    Si ejecutamos la pgina PAGINAINICIAL.ASP y pulsamos cada uno de sus botones, vemos eldistinto comportamiento de los mtodo Execute y Transfer, en el primer caso se intercala el resultadoejecucin de ambas pginas, y en el segundo paso una vez que se ha terminado de ejecutar la segunda pgina finaliza tambin la ejecucin de la secuencia de comandos, sin retornar a la pgina inicial. Lassiguientes figuras muestran estas dos situaciones.

    La Figura 3muestra la pgina PAGINAINICIO.ASP cuando todava no se ha pulsado ningn botn.En la Figura 4se muestra cuando se ha pulsado el botn Execute. Y en laFigura 5cuando se ha pulsado el botn Transfer.

    En esteenlace se pueden obtener las pginas ASP de este ejemplo.

    Otro nuevo mtodo que ofrece el objeto Server, y que est relacionado con el tratamiento de errores,es el mtodo GetLastError. Mediante el uso del mtodo GetLastError podemos tener acceso a toda lainformacin referente al ltimo error que se ha producido en la pgina ASP actual. Pero es necesarioaclarar que su utilizacin no es similar al tratamiento de errores que realizbamos con la sentencia On

    Error Resume Next y el objeto Err de VBScritp, que preguntbamos por la propiedad Number delobjeto Err para averiguar si se haba producido algn error, el mtodo GetLastError se puede utilizar

    http://ejemplos/server.ziphttp://ejemplos/server.ziphttp://ejemplos/server.zip
  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    27/482

    Grupo EIDOS 2. Novedades de ASP 3.0

    27

    nicamente dentro de una pgina de error personalizada, es decir, cuando el error ya se ha producido ylo ha detectado el servidor Web.

    Mediante Internet Information Services 5 podemos indicar las pginas de error personalizadas y es enestas pginas dnde podemos hacer uso de este mtodo.

    El mtodo GetLastError devuelve un nuevo objeto de ASP llamado ASPError, son las propiedades deeste nuevo objeto las que nos permiten acceder de forma detallada a toda la informacin referente alerror que se ha producido. Este nuevo objeto lo trataremos con ms detalle en el siguiente apartado.

    Figura 3

    Figura 4

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    28/482

    Programacin de aplicaciones para Internet con ASP Grupo EIDOS

    28

    Figura 5

    El objeto ASPErrorComo ya hemos visto en el apartado anterior, este es un nuevo objeto del modelo de objetos incluidodentro de ASP 3.0. Tendremos acceso al objeto ASPError a travs de la llamada al mtodoGetLastError del objeto Server. La funcin de este objeto es la de ofrecer de forma detallada toda la

    informacin disponible del ltimo error que se ha producido.El objeto ASPError nicamente dispone de una serie de propiedades de slo lectura, que contienen lainformacin relativa al ltimo error que se ha producido. Estas propiedades se comentan de forma breve en laTabla 1.

    Propiedad Descripcin

    ASPCode Un entero generado por IIS.

    ASPDescription Una cadena que es una descripcin detallada del error si estrelacionado con ASP.

    Category Cadena que indica si se trata de una error interno de ASP, del lenguajede secuencia de comandos o de un objeto.

    Column Entero que indica la posicin de la columna del archivo ASP quegener el error.

    Description Breve descripcin del error.

    File Nombre del archivo ASP que se estaba procesando cuando se produjoel error.

    Line Lnea del archivo ASP que gener el error.

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    29/482

    Grupo EIDOS 2. Novedades de ASP 3.0

    29

    Number Cdigo de error estndar de COM.

    Source Devuelve el cdigo fuente real, si est disponible, de la lnea que causel error.

    Tabla 1

    En elCdigo fuente 11se muestra un sencillo cdigo de ejemplo que hace uso del objeto ASPError, yque podra pertenecer a una pgina de error personalizada de IIS 5.0. Primero se obtiene una referenciaal objeto ASPError mediante el mtodo GetLastError del objeto Server, y a continuacin se muestralos valores de las propiedades del objeto ASPError para informar al cliente acerca del error que se ha producido.

    The page cannot be displayedDetalles del error que se ha producido
    Cdigo de error ASP:
    Nmero de error:
    Cdigo fuente que lo ha producido:


    Categora del error:
    Fichero en el que se producido el error:
    Lnea y columna en la que se ha producido el error:

    ,
    Descripcin del error:

    Cdigo fuente 11

    Figura 6

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    30/482

    Programacin de aplicaciones para Internet con ASP Grupo EIDOS

    30

    Un ejemplo de la ejecucin del cdigo anterior se puede ver en laFigura 6, y se produce cuando hayun error de ASP, es decir un error interno de servidor del tipo 500;100.

    En el captulo dedicado al objeto ASPError comentaremos en detalle el esquema de tratamiento deerrores desde ASP 3.0 e IIS 5.0.La pgina para el tratamiento de errores se puede obtener en esteenlace.

    Componente de registro de IIS (Logging Utility)Otras de las novedades de ASP 3.0, abandonado ya los objetos integrados en ASP, es que ofrece unnuevo componente de servidor (componente ActiveX de servidor). El nuevo componente de servidores denominado componente de registro o programa de registro de IIS. Mediante este componentetenemos acceso a la informacin y manipulacin de los ficheros de registro (log) generados por el

    servidor Web IIS 5.0.Este componente, al igual que todos los existentes en ASP 2.0, se instala conjuntamente con elservidor Web Internet Information Server 5.0. El fichero DLL que contiene a este nuevo componentees logscrpt.dll.

    Para instanciar un componente de registro debemos utilizar la sentencia que muestra elCdigo fuente12.

    Set objRegistro=Server.CreateObject("MSWC.IISLog")

    Cdigo fuente 12

    Es importante sealar que el usuario que tiene acceso a la secuencia de comandos ASP que crea lainstancia del componente de registro debe autenticarse como Administrador u Operador en el servidordonde se ejecuta IIS, si es un usuario annimo, el componente de registro de IIS no funcionarcorrectamente. Para manipular los ficheros de registro de IIS el componente IISLog ofrece una seriede mtodos que se muestran en laTabla 2.

    Mtodo Descripcin

    AtEndOfLog Indica si se leyeron o no todos los registros del archivo. CloseLogFiles Cierra todos los archivos de registro abiertos.

    OpenLogFile Abre un archivo de registro para lectura o escritura.

    ReadFilter Filtra los registros del archivo segn la fecha y la hora.

    ReadLogRecord Lee el siguiente registro disponible del archivo de registro actual.

    WriteLogRecord Escribe un registro en el archivo actual.

    Tabla 2

    http://ejemplos/Asperror.ziphttp://ejemplos/Asperror.ziphttp://ejemplos/Asperror.zip
  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    31/482

    Grupo EIDOS 2. Novedades de ASP 3.0

    31

    Para obtener la informacin del registro actual el componente IISLog ofrece veinte propiedades deslo lectura que se corresponden con los distintos campos de un registro de un archivo de registro.Para obtener la informacin del registro actual el componente IISLog ofrece veinte propiedades deslo lectura que se corresponden con los distintos campos de un registro de un archivo de registro.

    Propiedad Descripcin

    BytesReceived Nmero de bytes recibidos del navegador como una peticin.

    BytesSent Nmero de bytes enviados al navegador como una respuesta.

    ClientIP Direccin IP del cliente.

    Cookie Indica los contenidos de cualquier cookie enviada en la peticin.

    CustomFields Un vector de cabeceras personalizadas que se aadieron a la peticin. DateTime La fecha y hora de la peticin en formato GMT.

    Method El tipo de operacin, tal como puede ser GET o POST.

    ProtocolStatus El mensaje de estado devuelto al cliente, por ejemplo 200 OK.

    ProtocolVersion Una cadena con la versin del protocolo utilizado, por ejemplo HTTP/1.1.

    Referer La URL de la pgina que contiene el enlace que inici la peticin, si estdisponible.

    ServerIP La direccin IP del servidor Web.

    ServerName El nombre del servidor Web.

    ServerPort El nmero de puerto por el que se recibi la peticin.

    ServiceName Nombre del servicio, como puede ser el servicio FTP (MSFTPSVC) o Web(W3SVC).

    TimeTaken El tiempo de procesamiento total para devolver y crear la pgina devuelta.

    URIQuery Cualquier parmetro aadido a la cadena de consulta (QueryString) de laURL en la peticin.

    URIStem La URL que demand el cliente.

    UserAgent La cadena de agente de usuario (tipo de navegador) enviada por el cliente.

    UserName Nombre de inicio de sesin del usuario si no ha accedido de formaannima.

    Win32Status Cdigo de estado Win32 despus de haber procesado la peticin.

    Tabla 3

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    32/482

    Programacin de aplicaciones para Internet con ASP Grupo EIDOS

    32

    Se puede configurar el tipo de registro que queremos en nuestro servidor a travs de IIS 5.0, de estaforma podremos aadir o eliminar de nuestro fichero de registro los campos descritos anteriormente.Para ello acudiremos a las propiedades del sitio Web y en la pestaa sitio Web pulsaremos el botnPropiedades contenido en el epgrafe de Habilitar registro. Se debe seleccionar uno de los formatos deregistro que se corresponden con un fichero de registro, por lo tanto la opcin registro ODBC no seravlida.

    Figura 7

    En elCdigo fuente 13se muestra la utilizacin de este nuevo objeto ActiveX de servidor. En estesencillo cdigo se utiliza el componente de registro para mostrar algunos de los campos contenidos en

    el fichero de registro.

    Fecha/HoraIP del cliente

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    33/482

    Grupo EIDOS 2. Novedades de ASP 3.0

    33

    MtodoURL

    Cdigo fuente 13

    Se ha utilizado un filtro para recuperar la informacin del fichero de registro referente al servicio Weby nicamente de las ltimas 24 horas. Tambin se puede observar que se utiliza una directivaMETADATA, ms tarde comentaremos su utilidad y sintaxis, de momento diremos nicamente quenos permite incluir las constantes definidas en la librera que contiene al componente de registro.

    La informacin que se va a mostrar del fichero de registro va a ser la fecha y hora de la peticin, ladireccin IP del cliente que ha realizado la peticin, el mtodo que se ha utilizado y la URLcorrespondiente. En laFigura 8se puede ver un ejemplo de ejecucin de la pgina anterior.

    Figura 8

    El nombre del fichero de registro variar segn sea nuestra configuracin del registro en el sitio Webcorrespondiente, la ubicacin de estos ficheros de registro suele ser el directorioc:\winnt\system32\logfiles\w3svc1 para el servicio Web.

  • 8/13/2019 Libro - Programacion De Aplicaciones Para Internet Con Asp 3 - Grupo Eidos - Espaol - Spanish - Manual

    34/482

    Programacin de aplicaciones para Internet con ASP Grupo EIDOS

    34

    Esta pgina ASP que utiliza el componente de registro se puede utilizar nicamente restringiendo elacceso annimo a la propia pgina o al directorio que la contiene a nivel de permisos de NTFS, encaso contrario no podremos acceder al fichero de registro, ya sea para leer o escribir datos.

    ActiveX Data Objects 2.5 (ADO 2.5)Junto con ASP 3.0 se ofrece la nueva versin de los componentes de servidor para el acceso a datos, esdecir, ActiveX Data Objects 2.5 (ADO 2.5).

    Lo ms destacable es que ADO 2.5 ampla su modelo de objetos con dos objetos ms: Record yStream.

    Hasta ahora mediante ADO accedamos sobre todo a datos estructurados como puede ser un conjuntode registros de una tabla en una base de datos, pero tambin nos puede interesar acceder a datos que nosean tan homogneos como puede ser un sistema de ficheros o un sistema de correo, en este caso

    estaremos ante datos semi-estructurados.Una caracterstica nueva que forma parte de los datos semi-estructurados es lo que se denominaInternet Publishing. La versin 2.1 de ADO ya ofreca el proveedor OLE DB para Internet Publishing, pero con una funcionalidad muy limitada. Ahora en su nueva versin, ADO ofrece la funcionalidadcompleta.

    Mediante el proveedor OLE DB para Internet Pub