Resumen

Todas las páginas de una intranet tienen una dirección URL única que la identifica. Los exploradores de Web solicitan una página mediante el envío de una dirección URL a un servidor Web. El servidor utiliza la información de la dirección URL para encontrar y mostrar la página.

La sintaxis de las direcciones URL es una secuencia específica de protocolo, y ruta de acceso a la información solicitada. El protocolo es el método de comunicación utilizado para tener acceso a la información; por ejemplo, el Protocolo de transporte de hipertexto (HTTP), FTP y gopher. El nombre de dominio del Host está dentro del Sistema de Nombres de Dominio (DNS) del equipo que contiene la información. La ruta de acceso es el camino a la información solicitada dentro del equipo.

Una dirección URL también puede contener información que el servidor Web debe procesar antes de devolver una página. Los datos se agregan al final de la ruta de acceso. El servidor Web pasa los datos a un programa o a un archivo de comandos para su procesamiento y devuelve los resultados en forma de una página Web.

Un servidor Web responde a la petición de un explorador de Web devolviendo una página HTML. La página devuelta puede ser de tres tipos: una página HTML estática, una página HTML dinámica o una página de lista de directorio.

 

Paginas Estáticas 

 

Las páginas estáticas son páginas HTML fijas ya preparadas antes de la petición. El servidor Web devuelve las páginas HTML al usuario, pero no realiza ninguna acción especial. El usuario pide una página estática escribiendo una dirección URL (en la siguiente figura) o haciendo clic en un vínculo que apunte a una dirección URL. La petición de dirección URL se envía al servidor y éste responde devolviendo la página HTML estática.

 

Paginas Dinámicas

Las páginas dinámicas se crean como respuesta a las peticiones de los usuarios. Un explorador de Web recopila información presentando una página con cuadros de texto, menús y casillas de verificación que el usuario completa o activa. Cuando el usuario hace clic en un botón de un formulario, los datos procedentes del formulario se envían al servidor Web. El servidor pasa los datos a un archivo de comandos o una aplicación para su procesamiento, o bien consulta o envía datos a una base de datos. Entonces, el servidor devuelve los resultados al usuario en forma de una página HTML.

 


 La siguiente figura muestra cómo un usuario puede enviar una consulta a una aplicación de API de Internet Server (ISAPI) que suma dos números. El usuario escribe los dos números que se van a sumar y después hace clic en un botón, lo que hace que los dos números se envíen al servidor Web. El servidor Web llama a la aplicación ISAPI para sumar los números y devuelve el resultado al usuario en forma de una página HTML.

Interfaz de Programa de Aplicación para Servidores Internet “ISAPI”

La Interfaz de programación de aplicaciones para servidores de Internet (ISAPI) es una Interfaz de Programación de Aplicaciones (API) de extensión del servidor de gran rendimiento compatible con Microsoft Internet Information Server(IIS) y Servicios Web punto a punto. ISAPI permite que haya respuestas dinámicas a las peticiones del Protocolo de transporte de hipertexto (http por sus siglas en Ingles), en lugar de simplemente devolver archivos HTML estáticos.

Esta interfaz fue originalmente desarrollada por PROCESS SOFTWARE, y adoptada por Microsoft en 1997 como su API server estándar por ser una alternativa más rápida que la Interfaz de puerto de enlace CGI (El Common Gateway Interface), y a está incluida en el Servidor Microsoft Internet Information (IIS).

Los programas escritos usando la interfaz ISAPI son compilados como bibliotecas de enlace dinámico (DLL - Dynamic Link Library), ya que son cargados por el servidor Web cuando éste se inicia. Dichos programas se vuelven residentes en memoria, por lo que se ejecutan mucho más rápido que las aplicaciones CGI, debido a que requieren menos tiempo de uso de CPU al no iniciar procesos separados.

La interacción entre el servidor y una determinada DLL de la aplicación ISAPI se realiza mediante una extensión control block (ECB), en  lugar de hacerlo, como  en  el caso de CGI mediante variables de entorno y las stdin/stdout.

Las DLLs de aplicaciones ISAPI deben ser construidas con capacidad multitarea (MULTITHREAD) dado que podrán recibir múltiples peticiones de ejecución.

Escribiendo un filtro de ISAPI

Un filtro ISAPI es una biblioteca reemplazable de enlace dinámico a la que el servidor llama a cada petición http. Cuando el filtro es cargado le dice al servidor en que tipo de Notificaciones esta interesado. Luego en el momento que ocurra el evento seleccionado, El filtro es llamado y permite procesar dicho evento. Estos filtros son suficientemente poderosos como para permitir la compresión de datos, Análisis de trafico u otros análisis requeridos, Encriptación de datos, Esquemas de autenticación de clientes entre otras de sus aplicaciones.

Múltiples filtros pueden ser instalados. Las ordenes de notificación se basan en la prioridad especificada por el  filtro y es entonces que la orden se carga en el registro para cualquier lazo. Es de notar que una vez que el filtro ha expresado interes en una petición, recibirá la data sin importar que sea de un archivo,  una aplicación CGI o una aplicación ISAPI. 

Fortalezas de ISAPI

·       Mayor Rapidez: El conjunto de interfaces que componen ISAPI fueron diseñadas para proveer a los desarrolladores de aplicaciones de una manera poderosa de extender la funcionalidad de los IIS. La principal ventaja sobre otras tecnologías de aplicación disponibles  es que usa llamadas a funciones DLL(DYNAMIC-LINK LIBRARY) para comunicarse con extensiones, en lugar de variables de ambiente y E/S estándar. Hay mucha sobrecarga(OVERHEAD) cuando se inicia un nuevo proceso en plataformas WIN32, y las llamadas a librerías DLL eliminan la necesidad de nuevos procesos, reduciendo así el tiempo de ejecución.

·       El más alto rendimiento: Las extensiones apropiadamente planeadas y desarrolladas por ISAPI pueden activar cualquier otra tecnología de aplicación en la Web disponibles actualmente para IIS. 

·       Bajo Nivel de Control: Desde una extensión ISAPI o un filtro, se puede tener acceso al arreglo completo de funciones API de Win32. Por lo tanto se puede crear un conjunto de tareas que trabajen para la extensión ISAPI con el fin de agilizar el procesamiento usando las funciones de tareas de Win32 para acceder a la funcionalidad de las tareas nativas del windows 2000.

Muchas veces , las extensiones y los filtros ISAPI están mejor posicionados para resolver los cuellos de botella críticos en su aplicación, especialmente si se espera la escalabilidad como algo importante para su aplicación, debido a los altos volúmenes de trafico. Por lo que si al usuario le gusta crear su propia aplicación Web de búsqueda sobre las  IIS, ISAPI será la mejor opción si el rendimiento rápido es una meta importante.

Debilidades de ISAPI

En muchos casos, ISAPI le puede proveer con las mejores soluciones de Rendimiento posibles existen algunas debilidades a tener en cuenta:

·       El desarrollo requiere más tiempo: Debido a que las extensiones y los filtros ISAPI son escritas usualmente en C o C++, el tiempo de desarrollo es más largo que por decir un ejemplo una pagina ASP.

·       Las ganancias de Escalabilidad no son necesariamente automáticas: Como sea las extensiones y los filtros ISAPI generalmente correrán más rápido  que sus contrapartes de componentes ASP, no hay garantía de escalabilidad perfecta.

·       ISAPI opera bajo la total ayuda de la infraestructura IIS: Ciertamente la total ayuda en la programación de  abstracciones , mas notablemente la sesión de abstracción, se encuentran ausentes en la programación ISAPI el cual es de menor nivel que el scripting. Además las interacciones con objetos COM deben ser también manejadas cuidadosamente –Mas cuidadosamente que si se estuviera creando una aplicación de Web fuera de los componentes del servidor y los ASP scripts.

Es de notar que si estas debilidades hacen mayor peso en la balanza que los beneficios de escoger a ISAPI para una aplicación de componentes Web, entonces quizás el scripting y los componentes de servidor COM serán mas apropiados para el usuario.


Última Actualización: 03JUL02

[Principal]     [Papers]     [Infografia]