viernes, 19 de noviembre de 2010

Common Gateway Interface

Common Gateway Interface mejor conocido por sus siglas "CGI", es una importante herramienta que permite al usuario solicitar datos de un programa ejecutado en un servidor web, permite la transferencia de datos entre el cliente y el programa.En una aplicacion CGI, el servidor web pasa las instrucciones del cliente a un programa externo a este.

Una de las ventajas de un CGI, es que puede ser creado por cualquier lenguaje de programacion que cree un archivo ejecutable, como pueden ser Java, Python, C++, Perl, etc. El CGI es comunmente usado para para contadores, bases de datos, motores de búsqueda, formulários, generadores de email automático.
El funcionamiento del CGI es sencillo, primero los script estan almacenados en un servidor, despues son llamados, se ejecutan y dan la informacion al usuario.

Aqui se muestra como interactua la ejecucion de un CGI




Estructura de un CGI:
  • Leer la forma de entrada del usuario.
  • Hacer lo que se desee con los datos.
  • Escribir la respuesta HTML a STDOUT.
Aunque los CGI se puedan programar en cualquier lenguaje, tambien existen otros lenguajes llamados de secuencias de comandos, como el lenguaje Perl, que no necesitan de esta operacion (compilar), siendo un lenguaje mas sencillo para este tipo de aplicaciones, ya que Perl es el lenguaje mas usado por los ususarios para la creaciones de CGI.

Pasos fundamentales para la creacion de un CGI:
  1. Escribir el CGI en el lenguaje deseado, (no hay que olvidar que Perl es el mas usado en este aspecto).
  2. Se debe de colocar el CGI en el servidor, estos archivos normalmente acostumbran a responder a nombres como "cgi-bin", "cgi-local", esto lo hacen para mayor seguridad en los archivos.
  3. Para que el CGI pueda funcionar, se debe de mandar a funcionar desde una pagina web, mediante un enlace.
  4. Despues de esto el programa CGI se conecta a la base de datos a la que esta asociada, despues la base de datos responde al CGI aportando todo lo que el CGI contenga.
  5. Una ves recibidos los datos al CGI, crea un HTML para crear una interfaz, que incluye la informacion extraida de la base de datos.




Razones para el uso de CGI:
  • Es un metodo muy rapido cuando se emplean demaciados codigos.
  • Es compatible con casi todos los sistemas operativos actuales.
  • Compatible con todos los clientes.
  • Se puede emplear cualquier lenguaje de programacion.
Razones por el cual no usar CGI:
  • Su tecnologia es un poco obsoleta.
  • No mantiene un estado.
  • Integracion debil entre el servidor y el CGI.
Enlace
Fuente: www.maestrosdelweb.com/editorial/cgiintro/
es.wikipedia.org/wiki/Interfaz_de_entrada_común

2 comentarios:

  1. * Su tecnología es un poco obsoleta.

    ¿Por ejemplo?

    * No mantiene un estado.

    Esto es inherente al protocolo HTTP. No importa la tecnología que uses: HTTP no está orientado a sesión, por lo que tendrás que utilizar técnicas que la imiten. Las cookies y las SESSIONID en los URL o en los campos ocultos de los formularios son las técnicas clásicas que crean esa sesión.

    * Integración débil entre el servidor y el CGI.

    ¡Genial! Así no hay peligro de que el programa CGI, si tiene un error, cuelgue al servidor web. Lo que realmente querrías decir es que el CGI es un proceso externo al servidor, por lo que se ve obligado a ejecutarlo como proceso aparte. Esto está resuelto desde hace muchos años con módulos que integran los servicios CGI dentro del servidor web (mod_python, mod_php, mod_ruby, mod_perl, en el caso del servidor Apache). O teniendo siempre en ejecución el motor del servidor de aplicaciones (caso del Tomcat en Java o del Perl persistente).

    ResponderEliminar