Objetos integrados, modelo de objetos de ASP 3.0

ASP nos proporciona una serie de objetos integrados, a los que siempre tenemos acceso sin necesidad
de instanciarlos, son objetos que constituyen lo que se denomina el modelo de objetos de ASP. Estos
objetos son bastante interesantes ya que gran parte de la programación de aplicaciones ASP se basa en
la utilización de los mismos.

Estos objetos ponen a disposición del programador una serie de métodos y propiedades que pueden ser
utilizados desde el script de servidor, es decir, son directamente accesibles y manipulables desde
VBScript. Cada uno de estos objetos cubre unas funciones determinadas.

Antes de comenzar a explicar cada unos de los objetos integrados se considera necesario repasar el
concepto de objeto, método y propiedad dentro del entorno de la programación orientada a objetos y
desde el punto de vista que nos interesa, es decir desde las páginas activas de servidor.

Un objeto es un componente que posee una serie de comportamientos y que tiene un estado. El estado
de un objeto se encuentra definido por sus propiedades y sus comportamientos a través de los
métodos. Un objeto puede contener otros objetos.

Cada objeto tiene unas propiedades que definen sus atributos. Las propiedades de un objeto nos
indican algo sobre el objeto o sus contenidos. Las propiedades diferencian un objeto de otro y
determinan su estado y características. Los métodos que poseen los objetos definen su comportamiento
interno y frente a otros objetos.

Los objetos integrados además de poseer métodos y propiedades, también ofrecen colecciones. Una
colección es un grupo de objetos del mismo tipo. Un objeto y una colección son ambos contenedores,
pero de distinto tipo. Un objeto contendrá cero o más colecciones de diferente tipo, mientras que una
colección contendrá cero o más objetos de naturaleza similar.

Por ejemplo, ASP ofrece el objeto Request que contiene diferentes propiedades y colecciones de
distinto tipo. Una de estas colecciones es la colección Form, esta colección contiene información sobre
los elementos del formulario que se ha enviado. Aquí se puede observar la diferencia entre objetos y
colecciones en ASP, un objeto puede siempre contener otro nivel de información variada pero las
colecciones no.

La mayoría de los objetos integrados de ASP proporcionan colecciones. Una colección es una
estructura de datos, similar a una matriz, que almacena cadenas, números, objetos y otros valores. A
diferencia de las matrices, las colecciones se amplían y reducen automáticamente al recuperar o
almacenar elementos. La posición de un elemento también cambia al modificar la colección. Es
posible tener acceso a un elemento de una colección por su clave de cadena única, por su índice
(posición) en la colección o si se iteran todos los elementos de la colección.

El acceso a las colecciones, su sintaxis y utilización la veremos según vayamos avanzando en el
temario con distintos ejemplos.

Todas las colecciones ofrecen una serie de métodos comunes a todas ellas y son los siguientes:
• Count: devuelve número de elementos contenidos en la colección.
• Item: devuelve el elemento que se corresponde con el índice o cadena clave que se pasa por
parámetro.
• Key: devuelve el nombre de una clave dado su índice.
• Remove: elimina un elemento determinado de la colección, del que indicamos su clave o
índice. La colección debe ser de escritura.
• RemoveAll: elimina todos los elementos presentes en una colección. Al igual que el método
anterior requiere que la colección sea de escritura.

Las colecciones comienzan en el índice 1, a diferencia de los arrays que empiezan en el índice cero.

Antes de poder utilizar un objeto se debe instanciar, es decir, crear el objeto y asignárselo a una
variable que va a representar una instancia de ese objeto, en realidad, hasta que no se instancia un
objeto, el objeto no existe. Pero en el caso de los objetos integrados no hay que instanciarlos, se puede
considerar que son creados al iniciar la ejecución la aplicación ASP.


Los objetos que pertenecen al modelo de objetos de ASP 3.0 son siete, y a continuación se comenta de forma breve el significado de cada uno de ellos.

• Response: mediante este objeto podremos enviar datos al cliente que recibirá en HTML y
controlar la salida que el usuario va a recibir en su navegador Web. En el tema anterior ya
hemos utilizado este objeto para escribir diferentes resultados en la página ASP.

• Request: este objeto lo vamos a utilizar para recuperar información del usuario. El objeto
Request se utiliza sobretodo para recuperar información de formularios y de las cadenas de
consulta (QueryString) del cliente (el navegador Web), toda esta información se guarda dentro
de las colecciones del objeto Request, que veremos detenidamente en su momento. Podemos
decir que el objeto Response y Request son complementarios, ya que el primero lo utilizamos
para enviar información al navegador y el segundo para obtener información del mismo.

• Application: este objeto representa a la aplicación ASP y es utilizado para almacenar
información a nivel de aplicación, es decir, variables globales que son comunes a toda la
aplicación ASP. En el capítulo correspondiente veremos de forma detallada el significado de
una aplicación ASP y la forma en la que podemos crearla desde Internet Information Server
5.0 (IIS 5.0). Este objeto tiene dos eventos asociados al inicio de la aplicación ASP y a la
finalización de la ejecución de la aplicación.

• Session: representa una sesión de un usuario (navegador Web) con una aplicación ASP, es
utilizado para almacenar información específica de cada usuario conectado a una aplicación
ASP. La información contenida en el objeto Session es particular para cada usuario y no se
puede intercambiar.

• Server: mediante este objeto podemos acceder a los recursos del servidor Web, permite crear
objetos registrados en el servidor y que pueden ser de diverso tipo, desde objetos
pertenecientes a componentes de servidor que se ofrecen con ASP hasta componentes
desarrollados por nosotros mismos o terceras partes. Este objeto es de difícil clasificación y
muchas veces se define como un objeto de utilidades.

• ObjectContext: este objeto nos permite gestionar nuestras páginas ASP transaccionales, este
objeto viene de la integración del servidor Web Internet Information Server 5.0 con el Servicio
de componentes de Windows 2000. Este objeto posee dos eventos que se corresponden con el
éxito o fallo de la transacción.A través del objeto ObjectContext podremos abortar una
transacción o llevarla a cabo, en el tema correspondiente trataremos en profundidad las
transacciones.

• ASPError: es un nuevo objeto de ASP 3.0 y va a contener toda la información detallada del
último error que se haya producido en la aplicación ASP correspondiente. Este objeto es el
único al que no se puede acceder directamente sino que se obtiene a partir de un método otro
objeto integrado, el objeto Server.