Introducción a las Aplicaciones Web

Anuncio
Tiempo: 2h
Introducción a las
Aplicaciones Web
Departamento de
Lenguajes y Sistemas Informá
Informáticos
Grupo de Ingenierí
Ingeniería del Software
Versión original: Amador Durán y David Benavides (octubre 2005)
Última revisión: Amador Durán Toro (octubre 2006); cambio de plantilla y pequeños cambios.
escuela técnica superior
de ingeniería informática
Octubre 2006
[Ángel US V7] Diseño: Amador Durán Toro (2003-2006)
[Ángel US V7] Diseño: Amador Durán Toro (2003-2006)
Introducció
Introducción a las Aplicaciones Web
• ARPANet
Escuela Técnica Superior
de Ingeniería Informática
Departamento de Lenguajes
y Sistemas Informáticos
1. Un poco de
historia
2. ¿Qué
Qué es una
aplicació
aplicación web?
web?
3. Arquitectura de
aplicaciones web
4. Procesamiento en
aplicaciones web
5. Servicios web
– Advanced Research Projects Agency (DoD), guerra fría,
amenaza nuclear (1950-1990); conmutación de paquetes
frente a conmutación de circuitos.
– TCP/IP, dirección IP de 32 bits (1983); IPv6 (128 bits);
servidores DNS (Domain Name System).
– El concepto de puerto TCP (http Æ 80, ftp Æ 20-21, …).
• La Web
– HTML, HTTP, navegador: Tim Berners-Lee, CERN de
Ginebra (Suiza, alrededor de 1989).
– URL protocolo://servidor:puerto/recurso
– Navegador Mosaic: NCSA de la Universidad de Illinois en
Urbana-Champaign (1993).
– Boom de Internet (1998 Æ …)
– Lenguajes de la Web:
• SGML, HTML, XML, XHTML, …
Sevilla, octubre de 2006
Grupo de Ingeniería del Software
Lectura recomendada: wikipedia internet
1
1
[Ángel US V7] Diseño: Amador Durán Toro (2003-2006)
Introducció
Introducción a las Aplicaciones Web
• Definició
Definición
Escuela Técnica Superior
de Ingeniería Informática
Departamento de Lenguajes
y Sistemas Informáticos
1. Un poco de
historia
2. ¿Qué
Qué es una
aplicació
aplicación web?
web?
3. Arquitectura de
aplicaciones web
4. Procesamiento en
aplicaciones web
5. Servicios web
– Una aplicación web es una aplicación informática
distribuida cuya interfaz de usuario es accesible
desde un cliente web, normalmente un navegador
web (funcionando en un PC, un teléfono móvil, una
PDA, …).
• Caracterí
Características habituales
– Comunicación mediante HTTP sobre TCP/IP.
– Procesamiento en servidor.
– Acceso a bases de datos.
– Arquitectura por capas.
– Distintos tipos de usuarios.
2
Introducció
Introducción a las Aplicaciones Web
• Definició
Definición
Escuela Técnica Superior
de Ingeniería Informática
Departamento de Lenguajes
y Sistemas Informáticos
1. Un poco de
historia
2. ¿Qué
Qué es una
aplicació
aplicación web?
web?
– La arquitectura de una aplicación define como se
organizan los distintos módulos que la componen.
– Las aplicaciones web se suelen organizar en tres
niveles: presentación, lógica de negocio y datos.
5. Servicios web
HTTP
HTTP
TCP/IP
TCP/IP
Cliente web
Datos
Datos
4. Procesamiento en
aplicaciones web
Lógica de
de Negocio
Negocio
Lógica
3. Arquitectura de
aplicaciones web
Presentació
ón
Presentaci
Presentación
[Ángel US V7] Diseño: Amador Durán Toro (2003-2006)
Sevilla, octubre de 2006
Grupo de Ingeniería del Software
SGBD
SGBD
Aplicació
Aplicación web
Sevilla, octubre de 2006
Grupo de Ingeniería del Software
3
2
• Niveles de una aplicació
aplicación web
2. ¿Qué
Qué es una
aplicació
aplicación web?
web?
3. Arquitectura de
aplicaciones web
4. Procesamiento en
aplicaciones web
5. Servicios web
– El nivel de lógica de negocio es responsable de
implementar la lógica de la aplicación como
respuesta a las peticiones de usuario, normalmente
accediendo al nivel de datos.
– El nivel de datos es responsable de proporcionar
acceso a los datos al nivel de lógica de negocio,
normalmente accediendo a un sistema de gestión
de bases de datos.
11
Cliente web
88
22
77
33
44
Datos
Datos
1. Un poco de
historia
– El nivel de presentació
presentación es responsable de generar
la interfaz de usuario con la información
proporcionada por el nivel de lógica de negocio
Lógica de Negocio
Lógica de Negocio
Escuela Técnica Superior
de Ingeniería Informática
Departamento de Lenguajes
y Sistemas Informáticos
Presentació
ón
Presentaci
Presentación
[Ángel US V7] Diseño: Amador Durán Toro (2003-2006)
Introducció
Introducción a las Aplicaciones Web
66
SGBD
SGBD
5
[Ángel US V7] Diseño: Amador Durán Toro (2003-2006)
Sevilla, octubre de 2006
Grupo de Ingeniería del Software
4
Introducció
Introducción a las Aplicaciones Web
• Procesamiento en el SGBD
Escuela Técnica Superior
de Ingeniería Informática
Departamento de Lenguajes
y Sistemas Informáticos
1. Un poco de
historia
2. ¿Qué
Qué es una
aplicació
aplicación web?
web?
3. Arquitectura de
aplicaciones web
4. Procesamiento en
aplicaciones web
5. Servicios web
– Integridad referencial.
– Procedimientos almacenados.
– Disparadores.
• Procesamiento en el servidor web
– CGI (C, Perl, …).
– Lenguajes de script (ASP, PHP, JSP, ColdFusion).
– Servlets (Java).
• Procesamiento en el cliente web
– JavaScript.
– Applets (Java).
– ActiveX (Microsoft).
– Flash (Macromedia).
Sevilla, octubre de 2006
Grupo de Ingeniería del Software
5
3
[Ángel US V7] Diseño: Amador Durán Toro (2003-2006)
Introducció
Introducción a las Aplicaciones Web
• El concepto de servicio web
Escuela Técnica Superior
de Ingeniería Informática
Departamento de Lenguajes
y Sistemas Informáticos
1. Un poco de
historia
2. ¿Qué
Qué es una
aplicació
aplicación web?
web?
– Un servicio web ofrece una interfaz de
programació
programación (no de usuario) de una determinada
funcionalidad (servicio) accesible a través de
Internet y basada en estándares W3C.
3. Arquitectura de
aplicaciones web
4. Procesamiento en
aplicaciones web
5. Servicios web
HTTP
HTTP
SOAP
SOAP
XML
XML
6
Introducció
Introducción a las Aplicaciones Web
• El concepto de servicio web
Escuela Técnica Superior
de Ingeniería Informática
Departamento de Lenguajes
y Sistemas Informáticos
3. Arquitectura de
aplicaciones web
4. Procesamiento en
aplicaciones web
XXM
MLL
L
ML
XXM
Internet
Internet
SO
AP
5. Servicios web
AP
SO
2. ¿Qué
Qué es una
aplicació
aplicación web?
web?
HTTP
HTTP
L
ML
XXM
SO
AP
1. Un poco de
historia
SO
AP
[Ángel US V7] Diseño: Amador Durán Toro (2003-2006)
Sevilla, octubre de 2006
Grupo de Ingeniería del Software
XXM
MLL
BabelFish
Sevilla, octubre de 2006
Grupo de Ingeniería del Software
7
4
Descargar