ASIGNATURA: HERRAMIENTAS WEB PARA LA CIENCIA Y LA TECNOLOGÍA
RESUMEN
TRABAJO 3

AUTOR: ILONA POLLI G.

 

ISAPI

 

¿Qué es ISAPI?

ISAPI (Internet Server Application Program Interface) (Interfaz de Programa de Aplicación para servidores Internet ) es la interfaz propuesta por Microsoft como una alternativa más rápida que el CGI, y ya está incluida en el Servidor Microsoft Internet Information (IIS).

Así como los escritos CGI, los programas escritos usando ISAPI habilitan un usuario remoto para ejecutar un programa, busca información dentro de una base de datos, o intercambia información con otro software localizado en el servidor.

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.

Uno de los programas ISAPI más usados es el HTTPODBC.DLL que se usa para enviar y/o devolver información hacia y desde las bases de datos, a través de ODBC.

 

Extensiones y Filtros ISAPI:

Hay 2 formas de programas de ISAPI - las extensiones y los filtros.

Extensiones de ISAPI: ser directamente de un URL tal como http://www.youdomain.com/isapi.dll. Si se asume que se han fijado los permisos apropiados (el permiso las escrituras y Executables y el IUSR_MachineName tiene el permiso del ejecutar NTFS) que el DLL funcionará. Un buen ejemplo de una extensión del ISAPI son las  extensiones del servidor del Frontpage.

Filtros ISAPI: Un filtro ISAPI es básicamente una librería dinámica (DLL) reemplazable, que el servidor llama cuando se produzca una petición por parte de un cliente. Cuando el filtro se carga por primera vez, éste comunica al servidor el conjunto de notificaciones que atenderá. Así que, después de que se produzca esta asignación, si se genera un determinado evento que el filtro puede procesar, el servidor lo llamará para que lo atienda.

En un mismo servidor es posible tener varios filtros. El orden de prioridades entre ellos se establece mediante la prioridad fijada con anterioridad en el filtro y, si existen varios filtros con la misma prioridad, entonces se asignará prioridad máxima al filtro que se cargó por primera vez, asignando de forma consecuente prioridad mínima al último filtro cargado.

Dependiendo de las opciones elegidas, el filtro puede actuar en varias operaciones del servidor. Por ejemplo, se puede actuar mientras se leen datos de cualquier tipo desde el cliente, cuando se están procesando las cabeceras, mientras se establecen las comunicaciones en un puerto seguro, o cualquier otra fase que se produzca en el procesado de consultas HTTP.

Mediante la utilización de filtros ISAPI es posible mejorar notablemente el servidor ya que permite la inclusión de esquemas de autorización personalizados, compresión, encriptación, análisis de tráfico, etc.

Sin embargo, los filtros ISAPI no son más que una mejora dentro del servidor que, pese a ser importante, no es suficiente.

La evolución de las anteriores tecnologías ha dado lugar a las denominadas páginas activas.

 

 

Campo de Aplicación y Alcance

            ISAPI es una alternativa a los ejecutables CGI, de mayor eficacia que éstos . Un servidor HTTP responde a una petición de ejecución de CGI desde un ‘browser’ creando un nuevo proceso y pasando a continuación los datos recibidos desde el browser mediante variables de entorno y la stdin. Los resultados recogidos por la aplicación CGI estarán disponibles en la stdout del nuevo proceso. El servidor HTTP crea tantos procesos como peticiones de ejecución del CGI recibe, por lo que este sistema tiende a consumir mucho tiempo y a requerir grandes cantidades de memoria RAM, poniendo en peligro e rendimiento global del servidor HTTP.

A diferencia de este sistema, las aplicaciones ISAPI son DLLs (Dynamic Link Libraries) que se cargan en el mismo espacio de direcciones que el propio servidor HTTP, lo cual supone que todos los recursos disponibles para éste lo están también para aquéllas. Hay por tanto una sobrecarga mínima asociada con la ejecución de estas aplicaciones, ya que cada petición de ejecución no requiere montar un nuevo proceso.

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

Cgi contra ISAPI

Desarrollar un programa del cgi implica el crear de un EXE con lenguajes de programación de C, de C++, y/o del Perl. Este archivo de EXE será ejecutado y terminado para cada petición recibida, causando un uso excesivo de la memoria, siempre que los usuarios golpeen la misma página repetidamente otra vez.

Este uso excesivo de la memoria que podría traer el servidor totalmente abajo, se ha solucionado bajo extensiones de ISAPI. Una extensión de ISAPI es un archivo regular del DLL que expone 3 funciones especiales que es llamado por el proceso que llama (es decir, IIS) y por lo tanto, será cargado a la memoria una vez, no importa cómo muchos clientes van a utilizarla al mismo tiempo.

 

INFOGRAFIA:

http://www.codeproject.com/isapi/isapi_extensions.asp

What an ISAPI extension is?

 

En que consiste una extensión ISAPI.

 

http://www.codeproject.com/isapi/profiling_isapi.asp

Improving the performance of ISAPI Applications – Profiling the ISAPI DLL’s

Diferencia entre filtros y extensiones ISAPI

 

 

http://www.iis-resources.com/modules/wfsection/article.php?articleid=9

What is ISAPI, and what are ISAPI Filters and Extensions?

CGI contra ISAPI

 

http://mipagina.cantv.net/gamendez/isapi111.htm

ISAPI

Campo, aplicación y alcance de ISAPI

 

http://www.uca.edu.sv/investigacion/bdweb/tecnolog.html#Interfaz%20de%20Programación%20de%20Aplicaciones%20del%20Servidor%20Internet%20(ISAPI)

Tecnologías para la Integración de Bases de Datos en el Web

 

Descripción de Interfaz ISAPI

 

http://www.idg.es/pcworld/articulo.asp?id=37864

Programación para Internet, intranets y extranets

 

Descripción de Filtros ISAPI