Programación de Servidores WEB

32
1 Programación de Programación de Servidores WEB Servidores WEB Realizado por : Realizado por : Amine Kerzazi Amine Kerzazi

description

Programación de Servidores WEB. Realizado por : Amine Kerzazi. Indice. Common Gateway Interface (CGI) * ¿Qué es? * Ventajas * Desventajas * Documento Html vs Programa CGI * Aplicaciones La aplicacion (consultas sobre una base de datos) - PowerPoint PPT Presentation

Transcript of Programación de Servidores WEB

Page 1: Programación de Servidores WEB

11

Programación de Servidores Programación de Servidores WEBWEB

Realizado por : Amine Realizado por : Amine KerzaziKerzazi

Page 2: Programación de Servidores WEB

22

IndiceIndice

Common Gateway Interface (CGI)Common Gateway Interface (CGI) * ¿Qué es?* ¿Qué es? * Ventajas* Ventajas * Desventajas* Desventajas * Documento Html vs Programa CGI* Documento Html vs Programa CGI * Aplicaciones* Aplicaciones La aplicacion (consultas sobre una base de La aplicacion (consultas sobre una base de

datos)datos) BibliografiaBibliografia

Page 3: Programación de Servidores WEB

33

CGI: Common Gateway CGI: Common Gateway Interface Interface

El protocolo CGI define la forma en El protocolo CGI define la forma en que se realizan los intercambios de que se realizan los intercambios de información entre los clientes y información entre los clientes y servidores HTTP, y entre estos y las servidores HTTP, y entre estos y las aplicaciones CGI. aplicaciones CGI.

Como un programa CGI es un Como un programa CGI es un ejecutable, es equivalente a dejar al ejecutable, es equivalente a dejar al mundo ejecutar un programa en tu mundo ejecutar un programa en tu sistema .sistema .

Page 4: Programación de Servidores WEB

44

Ventajas del CGIVentajas del CGI

su sencillezsu sencillez, ya que es muy fácil de , ya que es muy fácil de entender, además de ser un lenguaje entender, además de ser un lenguaje de programación independiente, ya de programación independiente, ya que los escritos CGI pueden que los escritos CGI pueden elaborarse en varios lenguajes. elaborarse en varios lenguajes.

es es un estándarun estándar para usarse en para usarse en todos los servidores Web, y funcionar todos los servidores Web, y funcionar bajo una arquitectura independiente, bajo una arquitectura independiente, ya que ha sido creado para trabajar ya que ha sido creado para trabajar con cualquier arquitectura de con cualquier arquitectura de servidor Web. servidor Web.

Page 5: Programación de Servidores WEB

55

DesventajasDesventajas

su eficienciasu eficiencia, debido a que el , debido a que el Servidor Web tiene que cargar el Servidor Web tiene que cargar el programa CGI y conectar y programa CGI y conectar y desconectar con la base de datos desconectar con la base de datos cada vez que se recibe una cada vez que se recibe una requisición requisición

Page 6: Programación de Servidores WEB

66

Documento HTML vs Programa Documento HTML vs Programa CGICGI

Un documento en HTML que la Un documento en HTML que la Web se trae es estático, es decir, Web se trae es estático, es decir, se mantiene constante: un se mantiene constante: un fichero de texto que no cambia. fichero de texto que no cambia.

Un programa CGI, por otro lado es Un programa CGI, por otro lado es ejecutado en tiempo real, así que ejecutado en tiempo real, así que puede generar información puede generar información dinámica. dinámica.

Page 7: Programación de Servidores WEB

77

Aplicaciones del CGIAplicaciones del CGI

Permiten recoger y procesar la Permiten recoger y procesar la información que proviene de los información que proviene de los formularios HTML. formularios HTML.

Pueden interpretar las pulsaciones de Pueden interpretar las pulsaciones de un usuario sobre un mapa activo. un usuario sobre un mapa activo.

Sirven para generar dinámicamente Sirven para generar dinámicamente información, a partir de valores información, a partir de valores dependientes del entorno dependientes del entorno

Pueden realizar sofisticadas Pueden realizar sofisticadas búsquedas sobre una base de datos. búsquedas sobre una base de datos.

………………

Page 8: Programación de Servidores WEB

88

La aplicacionLa aplicacion

Programar un Cgi para realizar Programar un Cgi para realizar consultas sobre una base de datos consultas sobre una base de datos para saber las notas de los alumnospara saber las notas de los alumnos

Page 9: Programación de Servidores WEB

99

La aplicacionLa aplicacion

Ofrecer un formulario para interrogar Ofrecer un formulario para interrogar la base de datos la base de datos

Page 10: Programación de Servidores WEB

1010

La aplicacionLa aplicacion

Representar los resultados de la Representar los resultados de la consulta en una tablaconsulta en una tabla

Page 11: Programación de Servidores WEB

1111

Base de datosBase de datos

2 ficheros que residen en el 2 ficheros que residen en el servidor:servidor:

• Uno de los alumnos Uno de los alumnos • Otro de las categorias de los Otro de las categorias de los

alumnosalumnos

Page 12: Programación de Servidores WEB

1212

Base de datosBase de datos

Fichero de alumnosFichero de alumnos

Page 13: Programación de Servidores WEB

1313

Base de datosBase de datos

Fichero de las categorias de alumnosFichero de las categorias de alumnos

Page 14: Programación de Servidores WEB

1414

Definiciones de tiposDefiniciones de tipos

Categoria de AlumnosCategoria de Alumnos

Page 15: Programación de Servidores WEB

1515

Definiciones de tiposDefiniciones de tipos

AlumnosAlumnos

Page 16: Programación de Servidores WEB

1616

Lectura de ficherosLectura de ficheros

2 funciones:2 funciones:

- - leerBDCat :: FilePath -> IO BDCatleerBDCat :: FilePath -> IO BDCat

para leer las categoriaspara leer las categorias

- - leerBDAlumno :: FilePath -> IO leerBDAlumno :: FilePath -> IO BDAlumnoBDAlumno

para leer los alumnos para leer los alumnos

Page 17: Programación de Servidores WEB

1717

leerBDCat :: FilePath -> IO leerBDCat :: FilePath -> IO BDCatBDCat

Page 18: Programación de Servidores WEB

1818

leerBDAlumno :: FilePath -> IO leerBDAlumno :: FilePath -> IO BDAlumnoBDAlumno

Page 19: Programación de Servidores WEB

1919

perteneceA :: String -> String -> perteneceA :: String -> String -> BoolBool

Page 20: Programación de Servidores WEB

2020

tablaAlumno :: BDAlumno -> BDCat -> Orden -> Cgi tablaAlumno :: BDAlumno -> BDCat -> Orden -> Cgi

()()

Page 21: Programación de Servidores WEB

2121

tabla :: Int -> [(String,String,Float)] -> Html tabla :: Int -> [(String,String,Float)] -> Html ()()

Page 22: Programación de Servidores WEB

2222

dibujar :: Int -> [(String,String,Float)] -> dibujar :: Int -> [(String,String,Float)] -> Html()Html()

Page 23: Programación de Servidores WEB

2323

informacion::BDAlumno -> BDCat -> informacion::BDAlumno -> BDCat -> [(String,String,Float)][(String,String,Float)]

Page 24: Programación de Servidores WEB

2424

Funciones de comparacion y Funciones de comparacion y ordenacionordenacion

Page 25: Programación de Servidores WEB

2525

Funciones de busquedaFunciones de busqueda

buscarAlumno :: [String] -> BDAlumno buscarAlumno :: [String] -> BDAlumno -> Int -> Condicion -> BDAlumno -> Int -> Condicion -> BDAlumno

Page 26: Programación de Servidores WEB

2626

Fuciones de busquedaFuciones de busqueda

buscarAlumno_cat :: [String] -> buscarAlumno_cat :: [String] -> BDAlumno ->Int -> Condicion -> BDAlumno ->Int -> Condicion -> BDAlumnoBDAlumno

Page 27: Programación de Servidores WEB

2727

Funciones de busquedaFunciones de busqueda

buscarAlumno_todos :: [String] -> buscarAlumno_todos :: [String] -> BDAlumno -> Condicion -> BDAlumno -> Condicion -> BDAlumno BDAlumno

Page 28: Programación de Servidores WEB

2828

Funciones de busquedaFunciones de busqueda

incluidoEn :: [String] -> String -> BoolincluidoEn :: [String] -> String -> Bool

incluido_parcial :: [String] -> String -> incluido_parcial :: [String] -> String -> BoolBool

Page 29: Programación de Servidores WEB

2929

Funciones de busquedaFunciones de busqueda

busqueda :: [String] -> Int -> busqueda :: [String] -> Int -> Condicion -> Orden -> Cgi()Condicion -> Orden -> Cgi()

Page 30: Programación de Servidores WEB

3030

Fucniones de manejo de Fucniones de manejo de categoriascategorias

Page 31: Programación de Servidores WEB

3131

practica :: Cgi ()practica :: Cgi ()

Page 32: Programación de Servidores WEB

3232

BibliografiaBibliografia

http://cdec.unican.es/libro/CGI.htmhttp://cdec.unican.es/libro/CGI.htm (CGI (CGI en detalles)en detalles)

http://www.pangea.org/pacoc/manuales/mhttp://www.pangea.org/pacoc/manuales/manual5.htmanual5.htm (tutorial online de CGI)(tutorial online de CGI)

http://www.lcc.uma.es/~pepeg/ap/cgis.hthttp://www.lcc.uma.es/~pepeg/ap/cgis.htmlml (practica propuesta) (practica propuesta)

module AP.Cgi.Lib.HTML (modulo module AP.Cgi.Lib.HTML (modulo implementado en nuestra facultad)implementado en nuestra facultad)