UNIVERSIDAD YACAMBU
ESPECIALIZACION EN REDES Y TELECOMUNICACIONES
CURSO DE NIVELACION
ISAPI
Franzo Alain Vera Moreno
C.I: 11.199.390.
e-mail: fvera@cantv.com.ve; favm4@hotmail.com
ISAPI (Aplicacion de Servidor de Internet Programa Interfaz) es un API (Interfaz de Programación de Aplicaciones) o conjunto de funciones que el servidor Web, puede realizar del lado del servidor siempre. Fue desarrollado originalmente como Programa de Proceso, y adoptado por Microsoft como su servidor de estandarte API.
La ISAPI a diferencia de las interfaces de puerto de enlace o Common Gateway interface (CGI) están siempre cargados y tienen una interfaz funcional de acceso a métodos de una ejecutable, mientras que los CGI en realidad simulan dicho comportamiento en forma similar a como lo realizan los objetos intermedios de una ISAPI.
Características.-
Las ISAPIS son la capa intermedia de una aplicación de tres capas, es la correspondiente a los objetos de negocios, donde nosotros podemos poner procesamiento extra en el servidor Web para que los datos recogidos de la DBMS se muestren en forma apropiada, rápida y segura.
Los programas escritos usando ISAPI son compilados como bibliotecas de enlace dinámico (Dynamic Link Library- DLL). Estos archivos almacenan rutinas ejecutables, que normalmente cumplen una función o conjunto de funciones específicas, ya que son cargados por el servidor Web cuando éste se inicia y son usadas en la medida que los programas los necesitan. Dichos programas se vuelven residentes en memoria, por lo que se ejecutan mucho más rápido que las aplicaciones CGI, debido a ello requieren menos tiempo de uso de CPU al no generar procesos separados.
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.
Las DLLs de aplicaciones ISAPI deben estar construidas con capacidad multitarea (multithread) dado que podrán recibir múltiples peticiones de ejecución simultáneamente.
Ventajas.-
Resulta sencillo escribir una lógica empresarial en un servidor y un código
de acceso a datos utilizando lenguajes de secuencia de comandos como
Visual Basic, Scripting Edition (VBScript) y JavaScript, además de una
herramienta de desarrollo como Microsoft Visual InterDev. También proporciona
una alternativa de altas prestaciones a los ejecutables CGI.
La dificultad que conlleva la reutilizacion, el mantenimiento y la extension de la lógica difundida en distintas paginas, dificultad que se hace más evidente a medida que aumenta el tamaño del sitio.