Volver a la portada de Duiops
Volver al
Web de Duiops


Portada | Aplicaciones Server-Side y Backend | Active Server Pages (ASP)

Active Server Pages (ASP)

Arriba Siguiente

(en construcción)

Está probado que las ASP son una de las principales técnicas usadas en el WEB y en las aplicaciones de Intranet desarrolladas hoy. Si necesitas acceder a una base de datos, las ASP te permiten una manera fácil y flexible para hacer eso. Una Página de Servidor Activa reside, como el nombre indica, en el servidor. Son muy simples en concepto: archivos que están ejecutándose en el servidor, los cuales contienen tanto HTML como código de script. La ASP es flexible; soporta VBScript, Java y JavaScript. Una Página de Servidor Activa puede ser llamada desde cualquier página HTML así como de otras páginas ASP. Las Páginas de Servidor Activas usan la extensión .asp

Esta tecnología fue desarrollada para usar en servidores NT corriendo el Microsoft IIS, pero resultó tan potente que muchas compañías ahora ofrecen tecnología ASP también para otros entornos. Chilisoft, un líder en tecnología ASP para terceros, ofrece ASP para muchos entornos UNIX y servidores WEB alternativos.

Simple de aprender y a pesar de todo muy potente en su capacidad, ASP tiene en cuenta formularios y contenido, acceso a bases de datos, actualización de contenido, y personalización en una base por usuario. ASP no es un lenguaje o una aplicación; mejor dicho, es más una tecnología para desarrollar páginas WEB interactivas.

 

EMPEZANDO

Para usar ASP, necesitas un entorno que lo soporte. No hay herramientas o editores especiales que se requieran, solo soporte ASP server-side, el cual es nativo en Windows NT y opcional en muchos otros sistemas.

El método más simple para crear páginas ASP es sólo crear una página HTML y luego cambiar la extensión del archivo a ASP; esto te permite usar cualquier editor para hacer una Página de Servidor Activa.

Hay muchas herramientas disponibles para automatizar e integrar La ASP y el proceso de scripting. Estas herramientas están comentadas más adelante en el tema. Una ASP puede ser una simple porción de código o una compleja y sofisticada.

NOTA

ASP y HTML Dinámico suena similar en términos de capacidad para crear páginas activas o dinámicas. De hecho, los dos hacen mucho de la misma manera. De todas formas, el código ASP es interpretado y luego convertido a HTML en el servidor antes de enviar los resultados de vuelta al navegador. El HTML Dinámico es interpretado por el cliente. ASP es una tecnología server-side y HTML es una tecnología client-side.

 

SCRIPTING DE TIPO CLIENT-SIDE CONTRA TIPO SERVER-SIDE

Scripting añade vida a tu página WEB o aplicación de Intranet. Puede hacer de una página estática una página interactiva para el usuario con datos de fuera. El scripting generalmente funciona en el cliente o en el servidor. El scripting client-side está incrustado dentro de una página HTML, y el scripting server-side se encuentra en muchos casos en una ASP.

El scripting client-side tiene muchos usos. Para tus aplicaciones de discusión de bases de datos en el WEB, una de las aplicaciones más útiles del scripting client-side es la validación de datos de entrada. Un script client-side es ideal para comprobar rangos y datos e incorporar lógica al proceso de entrada de datos en un formulario. El client-side scripting se usa también para proporcionar animación y validar usuarios.

El scripting client-side para validación y otras tareas está reemplazando a los scripts CGIs que se usan para estas tareas. El beneficio es que no se genera tráfico de red con la mayoría de los scripting client-side.

El scripting server-side se incrusta a veces en Páginas de Servidor Activas. Esto es donde el acceso de datos y el proceso pesado puede ser mejorado, optimizando las prestaciones del servidor y mejorando el tiempo de respuesta al usuario.

A continuación dos listados, el primero muestra un ejemplo de script de tipo client-side. Este script se usa para calcular una media aritmética en una página. Compara ese listado con el segundo, el cual es un script de tipo server-side usando ASP. El script server-side es parte de una página ASP compleja.

<SCRIPT LANGUAJE="VBScript">

<!--
Function DoAverage(visit,days)
Dim Total
Total = (visit*days)/2
DoAverage = Total
End Function
!-- >

</SCRIPT>

 

Set Cn1 = CreateObject( "ADODB.Connection.1.5" )
Cn1.ConnectionString = "DRIVER={Microsoft ODBC for Oracle};SERVER=MME;UID=mme;PWD=mme;"
Cn1.Open

Source = "SELECT * FORM MME.PATIENT WHERE PATIENT.ID = MEDORDER.PATIENT AND ((PATIENT.NEXTDOSE Is Not Null AND (MEDORDER.DISCONTINUETIME>TO_DATE('"&CurrentTime &*','MM-DD-YYY HH24:MI:SS')))"
Set Rs1 = Create Object( "ADODB.Recordset.1.5" )
Rs1.Open Source, Cn1, adOpenForwardOnly

 

VARIABLES Y OBJETOS DE LAS ASP

Las ASP usan un modelo de objetos similar al que se encuentra en Visual Basic.

Los siguientes son los objetos básicos usados en el ASP:
bulletObjeto Request  este objeto se usa para recuperar información entrada en un formulario o para identificar a un usuario.
bulletObjeto Response: hay varias propiedades y métodos disponibles para el objeto Response. Todos están usados para hacer que las cookies realicen su trabajo. Puedes redireccionar usuarios, formatear el valor de una cookie, terminar el proceso ASP, y escribir la salida a HTTP como una cadena y más.
bulletObjeto Session: el objeto session genera una sesión ID que es almacenada como una cookie para mantener la pista de la sesión de cada usuario. Controla los tiempos de salida y otra información sobre una sesión de usuario.
bulletObjeto Application: mientras un objeto Session es específico para el usuario, el objeto Application cubre a todos los usuarios de una aplicación basada en ASP.
bulletObjeto Server. El objeto Server es el interfaz para activar componentes de servidor. Estos son componentes de automatización OLE. Los componentes Active server incluyen elementos críticos talos como acceso a datos, acceso a archivos, links a contenido y capacidades del navegador.

 

TÉCNICAS Y COMPONENTES DE SERVIDOR ACTIVO

Tanto VBScript como JavaScript son lenguajes de scripting elegidos que han ganado importancia dentro del ASP. Mientras comparten muchas capacidades, existen algunas diferencias. Son estas diferencias las que determinan la elección de un lenguaje de scripting. Deberías notar que no es una elección de todo o ninguno; deberías mezclar lenguajes de scripting en la misma aplicación si se necesita. Esto es porque todos los scripts están precedidos de la etiqueta <LANGUAGE>.

El JavaScript está soportado en casi todos los navegadores, el VBScript está solo soportado en los navegadores Microsoft. Si la dependencia del navegador es un factor importante, la elección es JavaScript.

La estrecha relación de VBScript con Internet Explorer y los sistemas operativos de Microsoft ofrece al VBScript un mayor número de posibilidades. Puedes interactuar con el sistema operativo con el VBScript y los controles ActiveX. El JavaScript no está diseñado para interactuar con el sistema operativo. Tu aplicación específica necesita ayuda de la elección del lenguaje de scripting.

Este listado muestra una ASP que contiene un VBScript y lógica compleja que también llama a otras ASP dentro de la página- Este ejemplo incluye diferentes tipos de lógica, loops y otras construcciones.

<%@ LANGUAGE=VBScript%>
<%Option Explicit%>
<!--#include File="adovbs.inc"-->

<HTML>
<META http-Equiv="Refresh" CONTENT="180">
<TITLE>Emar</TITLE>
<body>
<%
Dim Source, Connect, Rs1, Cn1, Rs2
dim x, CurrentTime, count, Color
CurrentTime = Month(now()) & "-" & Day(now()) & "-" & year(now()) & " " & hour(now()) & ":" & minute(now()) & ":" & second(now())

Set Cn1 = CreateObject( "ADODB.Connection.1.5" )Cn1.Connection
String = "DRIVER={Microsoft ODBC for Oracle}SERVER=Emar;UID=mme;PWD=mmee;"Cn1.Open

Source = "SELECT PATIENT.ID, PATIENT.FIRSTNAME, PATIENT.LASTNAME, PATIENT.NETXDOSE, PATIENT.ROOM, PATIENT.BED FROM MMS.MEDORDER MEDORDER, MMS.PATIENT PATIENT WHERE PATIENT.ID = MEDORDER.PATIENT AND ((PATIENT.NEXTDOSE Is Noy Null) AND (MEDORDER.NEXTDOSE Is Null) AND (MEDORDER.DISCONTINUETIME Is Null)) OR (MEDORDER.DISCONTINUETIME>TO_DATE('"& CurrentTime &"','MM-DD-YYY HH24:MI:SS')))"
Set Rs1 = CreateObject( "ADODB.Recordset.1.5" )
Rs1.Open Source, Cn1, adOepnForwardOnly

'Set Rs2 = CreateObject( "ADODB.Recordset.1.5" )

If Rs12.BOF AND Rs1.EOF then
    Response.Write "There Are No Patients to show"
else
%>

    <SCRIPT language=VBScript>
    Sub Test(IDNUMBER)
        document.location = "information.asp?ID=" & IDNUMBER
    end sub
    </SCRIPT>
    <TABLE border=1 bgcolor=gray bordercolor=gray bordercolorlight=white bordercolordark=black align=center cellpadding=0 cellspacing=0 maxlength=0>
    <TR>
<%
    for x = 1 to 5
        do until Rs1.EOF or count = 7

            Source = "SELECT * FROM MEDORDER WHERE PATIENT ='" & Rs1("ID") & "'"' AND discontinuetime > TO_DATE('" & CurrentTime & "', 'MM-DD-WWW H24:MI:SS')
AND nextdose IS NOT NULL"
'            Rs2.Open Source, Cn1, adOpenForwardOnly
'            if not (Rs2.BOF and Rs2.EOF) then
                count = count + 1
                Color = "Gray"
                %>
                <TD bgcolor='<%Response.Write Color%>' width=200 align=center height=100 onClick="test('<%response.write Rs1("ID")%>')">
                <FONT Name=Arial SIZE=4 Color=Blue>
                <%Response.write Rs1("LastName")%><BR>
                <%Response.write Rs1("FirstName")&><BR></FONT>
                <FONT Name = Arial SIZE=2 Color=blue>RM:
                <%Response.write Rs1("Room")%>
                Bed:
                <%Response.write Rs1("Bed")%><BR>
                    <BR>
                <%Response.write Rs1("NEXTDOSE")
'            end if
'            Rs2.close
            Rs1.MoveNext
        loop
        count = 0
        %>
    </FONT>
        <TR>
<%
    next
    Rs1.Close
    Cn1.Close
    Set Cn1 = Nothing
    Set Rs1 = Nothing
    set Rs2 = nothing
    %>
    </TR>
    </TABLE>
    </body>
    </HTML>
<%
enf if
%>

 

BASES DE DATOS Y ASP

Los Active Data Objects (ADO) a traído la clave a la estrategia de acceso a datos de Microsoft. Es el primer método de acceso a datos universal que soporte múltiples tecnologías de bases de datos y entornos de programación. Puedes usar ADO en un puro VB, Java, C++, u otra aplicación, así como en una .ASP es adaptable a cualquier entorno.

Hay otras tecnologías de acceso a datos las cuales pueden serte familiares. La primera es Data Access Objects (DAO). Este fue el primer estándar de Microsoft para VB, Access, y otras entornos basados en JET. DAO se sigue utilizando mucho hoy día. No se adapta bien al WEB y ofrece mejores resultados en las aplicaciones tradicionales de cliente-servidor usando JET.

Remote Data Objects (RDO) fue el precursor de ADO y se utiliza todavía mucho hoy. RDO es maduro y soporta muchos sistemas de diferentes de administración de bases de datos relacionales (Relational Database Management Systems, RDBMSs) a través de Open Database Connectivity (ODBC). RDO también incluye varias herramientas para crear y administrar queries.

ADO mejora el fundamento del RDO e incluye características especiales para las aplicaciones basadas en Web. ADO hace el proceso de programación más simple y más potente que DAO y RDO, segun la jerarquía.

ADO es la elección ideal para el acceso a datos con el Internet Information Server de Microsoft (IIS). Es un lenguaje independiente y, cuando se usa con Remote Data Service (RDS), expondrá los datos a cualquier cliente vía server-side scripting.

Los métodos de acceso a datos como ADO requieren un proveedor de datos. Este puede tomar varias formas. ODBC es uno de ellos. Uno mejor es Object Linking and Embedding Database (OLEdb). OLEdb está basado en COM, ofreciendo acceso fácil a una ancha variedad de fuentes de datos. Cualquier proveedor OLEdb puede exponer datos a ADO.

Una de as calidades convincentes de ADO es que es mucho más amigable que RDO o DAO en el que no tienes que construir una jerarquía. El siguiente listado es un código de ejemplo de conexión de datos. Si eres un administrador de bases de datos, querrás comparar este código a DAO o RDO.

Set Cn1 = CreateObject( "ADODB.Connection.1.5" )
Cn1.ConnectionString = "DRIVER={Microsoft ODBC for Oracle};SERVER=MME;UID=mme;PWD=mme;"
Cn1.Open
Source = "SELECT * FORM MMS.PATIENT"
    Set Rs1 = Create Object( "ADODB.Recordset.1.5" )
Rs1.Open Source, Cn1, adOpenForwardOnly

Los objetos ADO incluyen el objeto Connection, el cual controla la conexión a la base de datos:

Set Cn1 = CreateObject( "ADODB.Connection.1.5" )
Cn1.ConnectionString = "DRIVER={Microsoft ODBC for Oracle};SERVER=MME;UID=mme;PWD=mme;"

El objeto Command se usa para ejecutar un comando específico en una base de datos. No tienes que construir una jerarquía de objetos para llevar a cabo un comando:

Set Cmd1 = New ADODB.Command
Set Cmd1.ActiveConnection = Conn1
Cmd1.CommandText = "SELECT * FROM Authors WHERE AU_ID < ?"

Set Param1 = Cmd1.CreateParameter(, adInteger, adParamInput, 10)
Param1.Value = 10
Cmd1.Parameters.Append Param1
Set Param1 = Nothing

Set Rs1 = Cmd1.Execute()

El objeto Recordset se usa para manipular files en la base de datos. Un Recordset puede contener los resultados de un query. El tipo de cursor es también parte del objeto Recordset.

Source = "SELECT * FROM MMS.PATIENT"
    Set Rs1 = CreateObject( "ADODB.Recordset.1.5" )
Rs1.Open Source, Cn1, adOpenForwardOnly

El objeto Fields hace referencia a una columna particular de un recordset. Usa este objeto para cambiar los contenidos de un campo (field):

Dim F as variant

F = Rs1.Fields.Item("Au_ID").Value
F = Rs1.Fields.Item(0).Value
F = Rs1.Fields("Au_ID").Value
F = Rs1.Fields(0).Value
F = Rs1("Au_ID").Value
F = Rs1(0).Value
F = Rs1!Au_ID

El objeto Property se usa para determinar que propiedades especificas están soportados por el proveedor OLEdb. Ona de estos incluye soporte para funciones avanzadas tales como transacciones.

El objeto Parameter es el vehículo para aprobar parámetros. Estos pueden ser pasar a un procedimiento de almacenado, un query, o la base de datos (ver el siguiente listado).

 

EN CONSTRUCCIÓN DESDE AQUÍ

 

Arriba Siguiente


 © 1997-2009 Duiops (http://www.duiops.net)
 Prohibida la reproducción parcial o total de los textos o las imágenes.

 Para comentarios, usar las direcciones e-mail de contacto