1 Indice Common Gateway Interface (CGI) * ¿Qué es? * Ventajas * Desventajas * Documento Html vs Programa CGI * Aplicaciones La aplicacion (consultas sobre una base de datos) Bibliografia
2 CGI: Common Gateway Interface El protocolo CGI define la forma en que se realizan los intercambios de información entre los clientes y servidores HTTP, y entre estos y las aplicaciones CGI.
Como un programa CGI es un ejecutable, es equivalente a dejar al mundo ejecutar un programa en tu sistema .
3 Ventajas del CGI su sencillez, ya que es muy fácil de entender, además de ser un lenguaje de programación independiente, ya que los escritos CGI pueden elaborarse en varios lenguajes.
es un estándar para usarse en todos los servidores Web, y funcionar bajo una arquitectura independiente, ya que ha sido creado para trabajar con cualquier arquitectura de servidor Web.
4 Desventajas su eficiencia, debido a que el Servidor Web tiene que cargar el programa CGI y conectar y desconectar con la base de datos cada vez que se recibe una requisición
5 Documento HTML vs Programa CGI Un documento en HTML que la Web se trae es estático, es decir, se mantiene constante: un fichero de texto que no cambia. Un programa CGI, por otro lado es ejecutado en tiempo real, así que puede generar información dinámica.
6 Aplicaciones del CGI Permiten recoger y procesar la información que proviene de los formularios HTML. Pueden interpretar las pulsaciones de un usuario sobre un mapa activo. Sirven para generar dinámicamente información, a partir de valores dependientes del entorno Pueden realizar sofisticadas búsquedas sobre una base de datos.
7 La aplicacion Programar un Cgi para realizar consultas sobre una base de datos para saber las notas de los alumnos
8 La aplicacion Ofrecer un formulario para interrogar la base de datos
9 La aplicacion Representar los resultados de la consulta en una tabla
10 Base de datos 2 ficheros que residen en el servidor: Uno de los alumnos Otro de las categorias de los alumnos
11 Base de datos Fichero de alumnos
12 Base de datos Fichero de las categorias de alumnos
13 Definiciones de tipos Categoria de Alumnos
14 Definiciones de tipos Alumnos
15 Lectura de ficheros 2 funciones:
– leerBDCat :: FilePath -> IO BDCat para leer las categorias
– leerBDAlumno :: FilePath -> IO BDAlumno para leer los alumnos
16 leerBDCat :: FilePath -> IO BDCat
17 leerBDAlumno :: FilePath -> IO BDAlumno
18 perteneceA :: String -> String -> Bool
19 tablaAlumno :: BDAlumno -> BDCat -> Orden -> Cgi ()
20 tabla :: Int -> [(String,String,Float)] -> Html ()
21 dibujar :: Int -> [(String,String,Float)] -> Html()
22 informacion::BDAlumno -> BDCat -> [(String,String,Float)]
23 Funciones de comparacion y ordenacion
24 Funciones de busqueda buscarAlumno :: [String] -> BDAlumno -> Int -> Condicion -> BDAlumno
25 Fuciones de busqueda buscarAlumno_cat :: [String] -> BDAlumno ->Int -> Condicion -> BDAlumno
26 Funciones de busqueda buscarAlumno_todos :: [String] -> BDAlumno -> Condicion -> BDAlumno
27 Funciones de busqueda incluidoEn :: [String] -> String -> Bool incluido_parcial :: [String] -> String -> Bool
28 Funciones de busqueda busqueda :: [String] -> Int -> Condicion -> Orden -> Cgi()
29 Fucniones de manejo de categorias
30 practica :: Cgi ()
31 Bibliografia http://cdec.unican.es/libro/CGI.htm (CGI en detalles)
http://www.pangea.org/pacoc/manuales/manual5.htm (tutorial online de CGI)
http://www.lcc.uma.es/~pepeg/ap/cgis.html (practica propuesta)
module AP.Cgi.Lib.HTML (modulo implementado en nuestra facultad)