Universidad Yacambu

Gerencia Mención: Sistemas de Información

   Curso: Herramientas Web para la Ciencia y Tecnología

 RESUMEN TRABAJO 3: ISAPI

 Autor: Ing. Laura Marcela Monsalve Herrera


Infografía

ISAPI

Internet Server Application Programming Interface - ISAPI (Interfaz de Programación de Aplicaciones del Servidor Internet). Es una tecnología que permite extender las funcionalidades de Internet Information Service y los servicios web punto a punto; por ello, las ISAPI son una alternativa al uso de scripts CGI en Servidores Web de Microsoft.

ISAPI fue desarrollado originalmente por Process Software y Microsoft la adoptó como su API Server Estándar, complementando o reemplazando los CGI, para hacer extensiones en servidores web. Actualmente las ISAPI son soportadas por muchos servidores Web bajo plataforma Windows.

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. 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.

En la siguiente imagen podemos ver el comportamiento de las ISAPI:

Ventaja del ISAPI

  • Mayor Rapidez: Es decir se ejecutan más rápido que las aplicaciones CGI.

  • El más alto rendimiento: las 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. Con lo que se puede agilizar el procesamiento usando las funciones de tareas de Win32 para acceder a las tareas nativas del windows 2000.

Desventaja del ISAPI

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, comparado con el tiempo en crear una página ASP.

Las ganancias de Escalabilidad no son necesariamente automáticas. 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.


Aplicaciones ISAPI

Las ISAPI están constituidas de dos componentes: Extensiones y Filtros. Estos son los dos únicos tipos de aplicaciones que pueden ser desarrolladas usando ISAPI.

Extensiones: las ISAPI Extensions son verdaderas aplicaciones que se ejecutan en ISS, estas se puede cargar y llamar a través de un servidor HTTP. Las extensiones de servidor de Internet, también denominadas aplicaciones de servidor de Internet (ISA), mejoran las capacidades de los servidores compatibles con ISAPI. Las aplicaciones ISA se invocan desde una aplicación de explorador y ofrecen una funcionalidad similar a la de una aplicación de interfase de puerta de enlace común (CGI), aunque su rendimiento es considerablemente mejor.

Filtros: 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 qué tipo de Notificaciones está 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 tráfico u otros análisis requeridos, Encriptación de datos, Esquemas de autenticación de clientes entre otras de sus aplicaciones. Cuando se implementan los filtros ISAPI, todas las peticiones y respuestas deben pasar por ellos, por lo que puede verse afectado el rendimiento del sitio.


APIs similares

Después de que Netscape introdujera NSAPI, Microsoft desarrollo ISAPI y la Apache Software Foundation desarrolló el API Apache. Las tres API tienen ciertas similitudes. Las tres permiten a las aplicaciones ejecutarse dentro de un proceso de servidor.


Bibliografía

Infografía


Ing. Laura Monsalve
eMail: laura@laura.com.ve