Programación de Servidores WEB

Post on 23-Jan-2016

51 views 0 download

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

11

Programación de Servidores Programación de Servidores WEBWEB

Realizado por : Amine Realizado por : Amine KerzaziKerzazi

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

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 .

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.

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

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.

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.

………………

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

99

La aplicacionLa aplicacion

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

1010

La aplicacionLa aplicacion

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

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

1212

Base de datosBase de datos

Fichero de alumnosFichero de alumnos

1313

Base de datosBase de datos

Fichero de las categorias de alumnosFichero de las categorias de alumnos

1414

Definiciones de tiposDefiniciones de tipos

Categoria de AlumnosCategoria de Alumnos

1515

Definiciones de tiposDefiniciones de tipos

AlumnosAlumnos

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

1717

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

1818

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

1919

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

2020

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

()()

2121

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

2222

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

2323

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

2424

Funciones de comparacion y Funciones de comparacion y ordenacionordenacion

2525

Funciones de busquedaFunciones de busqueda

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

2626

Fuciones de busquedaFuciones de busqueda

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

2727

Funciones de busquedaFunciones de busqueda

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

2828

Funciones de busquedaFunciones de busqueda

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

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

2929

Funciones de busquedaFunciones de busqueda

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

3030

Fucniones de manejo de Fucniones de manejo de categoriascategorias

3131

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

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)