Académique Documents
Professionnel Documents
Culture Documents
1. Introduccin.
1. Componentes semnticos de la Web. ? URI ? HTTP ? HTML
2.
3.
IST - 2006
1. Introduccin.
La Web.
? World Wide Web:
? Universo de informacin interconectada, accesible a travs de internet.
? Propuesta por Tim Berners-Lee (1989). ? Ha tenido mayor difusin que otros servicios contemporneas (Archie, Gopher, WAIS), gracias sobre todo a uno de sus elementos: el HTML.
? Hipertexto. ? Hipermedia.
? En el 2001 haba ms de un billn de URLs accesibles al pblico, repartidas entre ms de 30 millones de servidores.
IST - 2006 Arquitectura Web 2
1. Introduccin.
1. Introduccin.
Codificacin URI
? Identifica de forma nica el recurso. ? 2 Tipos:
?URN: Uniform Resource Name.
?Identifica de forma nica el recurso, independientemente de donde resida (RFC 2141).
? El mismo recurso situado en mquinas diferentes poseen el mismo identificador.
1. Introduccin.
URL
? Sintxis:
? esquema://[usuario];[password]@<maquina>:[puerto]/<cam ino>;[parametros]?[consulta]#[seccin]
? Esquema: protocolo (http, https, file, ftp, news, mailto, ..). ? Usuario:password: para recursos de acceso restringido ? Mquina : nombre del servidor ? Puerto: nmero del puerto donde escucha el servidor. ? Camino: Directorio virtual y nombre del recurso. ? Parmetros: pares nombre=valor utilizados por algunos esquemas. ? Consulta : pares nombre=valor separados por &, utilizados en algunas aplicaciones web. ? Seccin: nombre de una parte del recurso.
? Ejemplos:
? http://www.hardware.com:2000/pc/check.cgi?item=1273&model=B ? ftp://jose:suclave@www.hardware.com/informacion.txt
IST - 2006 Arquitectura Web 5
1. Introduccin.
Arquitectura Cliente/Servidor
? El modelo cliente-servidor es una aquitectura software que involucra uno o ms clientes solicitando servicios a uno o ms servidores. ? El cliente puede ser un proceso corriendo en un computadora o en un dispositivo como una PDA o un telfono mvil. ? El servidor p uede ser un proceso corriendo en un computadora (normalmente de altas prestaciones). ? En la arquitectura Web actual aparecen adems elementos que se sitan en medio (proxies, cachs) ? Beneficios:
? Usabilidad/flexibilidad/interoperabilidad/ escalabilidad.
IST - 2006 Arquitectura Web 7
Arquitectura Cliente/Servidor
IST - 2006
Arquitectura Web
2.1 Clientes
? Originan el trafico web.
? Envan las peticiones y reciben las respuestas.
? Dos clases de clientes web: navegadores y robots. ? Los navegadores (Netscape, IE, etc).
? Las peticiones estn dirigidas por el usuario. ? Repiten peticiones al mismo objeto cuando navegan por un site. ? Utilizan caches de memoria y disco.
IST - 2006
Arquitectura Web
Navegadores
? Programa que realiza las peticiones, a solicitud de un usuario, y recibe, analiza y presenta las respuestas. ? Pasos:
Navegador 1. Solicitud DNS Servidor DNS Servidor HTTP URL 2. Conexi n TCP
3. Petici n HTTP
4. Respuesta HTTP
IST - 2006
Arquitectura Web
10
? Proporcionan el interfaz para conectarse y utilizar otros servicios: mail, news, ftp, etc.
? El protocolo por defecto es http.
? Cach local.
? Sirve recursos guardados en la cach sin conectarse al servidor. ? Consistencia:
? Fuerte: revalida siempre el recurso conectndose al servidor. ? Dbil: se basa en los parmetros HTTP, y en los parmetros de configuracin, para decidir si es necesario revalidar el recurso.
Arquitectura Web
11
Spiders
? Robots dedicados a la b squeda automtica de informacin.
? Parten de la pgina principal de un sitio web, y examinan los enlaces embebidos que encuentran. ? Las peticiones estn espaciadas en el tiempo para no sobrecargar el servidor.
? La informacin se utiliza posteriormente en aplicaciones de bsqueda (google, yahoo). ? Los recursos dinmicos (CGI, PHP, etc.) no son indexados. ? Algunos sitios web no desean ser indexados:
? Controlan el acceso de robots. ? Los recursos HTML incluyen una directiva META:
? <META NAME=ROBOTS CONTENT=NOINDEX, NOFOLLOW>
IST - 2006 Arquitectura Web 12
2.2 Servidores
? Programa que contesta y genera la respuesta HTTP a las peticiones de recursos web por parte del cliente
? Involucra mltiples servidores, scripts, bases de datos, ..
? Trabajo bsico:
? Se conecta con el cliente. ? Recibe el mensaje HTTP de la peticin. ? Procesa el mensaje HTTP. ? Localiza y enva el resultado (en forma de mensaje HTTP)
? Pasos:
? Lee e interpreta el mensaje de peticin (mtodo, URL, cookies,..) ? Localiza fsicamente el recurso apuntado en la URL ? Determina si el cliente est autorizado (controla el acceso) ? Genera el mensaje de respuesta y lo transmite (cookies) ? Registra la operacin en un fichero de log
? Autorizacin.
? Comprueba en su lista de acceso si el usuario est autorizado.
IST - 2006 Arquitectura Web 14
Recursos dinmicos
? El contenido se crea tras recibir la peticin.
?El recurso apuntado en la URL incluye cdigo que debe ser ejecutado para resolver el contenido de la respuesta.
? Dos tipos:
?Scripts de servidor (PHP, ASP, JSP)
?Ficheros HTML que incluyen macros que el servidor (un mdulo) interpreta para insertar la informacin precisa. ?El servidor reconoce este tipo de recursos por la extensin
Imgenes
Consulta/ bsqueda
IST - 2006 Arquitectura Web 16
? Servidor frontal:
? Cach, direcciona las peticiones, balancea la carga
? Servidores de contenido:
? Algunas veces diferenciados de acuerdo al tipo de peticin (HTML, imgenes, consulta, bsqueda).
Intermediarios Web
? Proxy
? Programa que acta a la vez como servidor y cliente, situndose en medio de los dos. ? Las peticiones son servidas internamente o pasadas a otro servidor.
? Pasarela
? Un servidor que acta como intermediario de algn otro servidor. ? A diferencia del proxy, una pasarela proxy recibe peticiones como si fuera el servidor original. ? El cliente no tiene que preocuparse por el hecho de que est comunicndose con la pasarela.
? Tnel
? Programa intermediario que acta como un tnel no controlado, permitiendo trfico no-HTTP a travs de conexiones HTTP ? Un vez activo, un tnel no es considerado como parte de la comunicacin HTTP, aunque haya sido activado por la peticin HTTP. ? El tnel deja de existir cuando la comunicacin se cierra.
IST - 2006 Arquitectura Web 18
El proxy
? Intermediario web situado entre el cliente y el servidor para reducir comunicacin no deseada.
? A veces forma parte de los mecanismo de seguridad. ? La mayora de veces actan como caches.
Conexi n TCP
? Guardan el anonimato.
? Los servidores no conocen la IP del cliente.
10
Cachs
? Cuando actan como caches gestionan las peticiones en la parte de los clientes.
? El navegador enva la peticin a la cach. ? La Cach devuelve el recurso si est almacenado localmente y est actualizado.
? Basado en los campos URL, ETag, fecha.
? En caso contrario, la cach pasa la solicitud al servidor ? Si est pasado de fecha, la cach valida el recurso
? Carga del servidor: Partes de las peticiones son resueltas por la cach.
? Empricamente, las caches mejoran en un 50% la velocidad de respuesta y reducen en un 40% la cantidad de bytes transmitidos.
IST - 2006 Arquitectura Web 22
11
Aplicaciones Web
? Una aplicacin web es proporcionada por un servidor web y utilizada por usuarios que se conectan desde cualquier punto va clientes web (navegadores). ? Definicin:
? Son aplicaciones basadas en el modelo Cliente/Servidor que gestionan servidores web, y que utilizan como interfaz pginas web. ? La coleccin de pginas son en una buena parte dinmicas (ASP, PHP, etc.), y estn agrupadas lgicamente para dar un servicio al usuario. ? El acceso a las pginas est agrupado tambin en el tiempo (sesin). ? Ejemplos: venta de libros, reserva de billetes, etc.
IST - 2006 Arquitectura Web 23
? Interfaz:
? Los usuarios acceden a travs de navegadores, mviles, PDAs, etc.
? Funcionalidad accesible a travs del navegador. ? Limitada y dirigida por la aplicacin.
IST - 2006
Arquitectura Web
24
12
Modelo de capas
? Las aplicaciones web se modelizan mediante lo que se conoce como modelo de capas.
? Una capa representa un elemento que procesa o trata informacin.
? Tipos:
? Modelo de dos capas: La informacin atraviesa dos capas entre la interfaz y la administracin de los datos. ? Modelo de n-capas: La informacin atraviesa varias capas.
? El ms habitual es el modelo de tres capas.
IST - 2006
Arquitectura Web
25
? Servidor:
? Administra los datos.
? Limitaciones.
? Es difcilmente escalable
? Nmero de conexiones reducida
Presentacin
Cliente
Lgica de negocio
Servidor
Datos
26
13
? Pueden integrar datos de mltiples fuentes ? Las aplicaciones web actuales se ajustan a este modelo.
IST - 2006
Arquitectura Web
27
14
Capa de presentacin
Presentacin (Control)
? Servidor Web
? Controlan la presentacin ? Operaciones de la aplic. web ? Interactan con los servidores de datos.
Capa de proceso
Lgica de negocio
? Servidores de datos
Capa de datos
IST - 2006
Datos
15