ut 01 - aplicaciones web.pdf

24
Tema 1, Programación Web 1 Aplicaciones WEB Programación WEB Curso 2012/2013 Email- [email protected] Universidad Católica San Antonio de Murcia - Tlf: (+34) 968 27 88 00 [email protected] - www.ucam.edu Magdalena Cantabella Sabater

Upload: yuyico

Post on 17-Feb-2015

37 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: UT 01 - Aplicaciones WEB.pdf

Tema 1, Programación Web

1

Aplicaciones WEB

Programación WEB

Curso 2012/2013

Email- [email protected]

Universidad Católica San Antonio de Murcia - Tlf: (+34) 968 27 88 00 [email protected] - www.ucam.edu

Magdalena Cantabella Sabater

Page 2: UT 01 - Aplicaciones WEB.pdf

Tema 1, Programación Web

2

- Una aplicación web es una aplicación cliente/servidor de cliente ligero, basada en WWW

(tecnologías, lenguajes, protocolos...)

- Ejemplos de aplicaciones web

- Tienda virtual (Comercio electrónico)

- Banca on-line

- Campus virtual

- Reserva de entradas o billetes

- Intranet corporativa

- Blog

- Secretarías virtuales

- Buscador

- ...

Definición

Page 3: UT 01 - Aplicaciones WEB.pdf

Tema 1, Programación Web

3

- Aplicaciones dividas en dos partes:

- Situadas en ordenadores distintos (surgen con las redes)

- Servidor:

- Centraliza los datos y el proceso de los datos

- Soporta clientes simultáneos

- Máquina con dimensionamiento más exigente

- Cliente:

- Envía peticiones de servicios y recibe sus respuestas

- Interface con el usuario

- Máquina con dimensionamiento menos exigente

Aplicaciones Cliente-Servidor

Cliente Servidor Red

petición

respuesta

datos

Page 4: UT 01 - Aplicaciones WEB.pdf

Tema 1, Programación Web

4

- Interfaz gráfica para interacción con usuario

- Lógica de negocio en el cliente

- Procesa los datos (el servidor actúa como un disco duro remoto)

- Movimiento de datos que sobrecarga la red.

Ej. Si los datos de cada cliente ocupan 10 KB, y hay 100.000 Clientes, habrá

que enviar 10GB para realizar una consulta!

Cliente pesado

Cliente Servidor Red

petición

datos

selecc.

datos

Procesamiento

Presentación

Selección

Page 5: UT 01 - Aplicaciones WEB.pdf

Tema 1, Programación Web

5

- Interfaz gráfica para interacción con usuario

- Lógica de negocio en el servidor

- Sólo se envían los resultados de la operación.

- Poca carga de proceso

- El cliente apenas realiza proceso de datos (validaciones…)

- Ej. Procedimientos almacenados en BD parametrizados

Pueden devolver cursores (conjuntos de datos que se pueden recorrer)

Cliente ligero

Cliente Servidor Red

petición datos

Procesamiento Presentación

Selección

resultado

Page 6: UT 01 - Aplicaciones WEB.pdf

Tema 1, Programación Web

6

- El cliente web: aplicación que envía peticiones HTTP

- Normalmente: navegador, que recibe código HTML

- El software cliente suele estar instalado en el S.O

- Puede no ser un navegador convencional: otro servidor, robot de

búsqueda, aplicación solicita o envía datos por HTTP (ej. licencia),...

- Puede no alojarse en un PC convencional: PDA, móvil,...

- Puede tratar HTML, XML, texto, formatos binarios (PDF, JPEG,...)

- Pequeña capacidad de proceso: scripting de lado del cliente

- Puede extenderse (plugins, visualizadores externos,…)

Aplicaciones Web: el cliente

Cliente Servidor web Red

HTTP Request

página

Procesamiento

Presentación

HTTP Response

Cookies

HTML

CSS

URL

Cookies

Page 7: UT 01 - Aplicaciones WEB.pdf

Tema 1, Programación Web

7

7

- El servidor web: aplicación que recibe peticiones HTTP

- Recibe petición URL mediante HTTP.

- Descodifica URL y procesa la petición

- Responde como HTTP (página correcta, Error 404 Not Found...)

- Cliente solicita imágenes en sucesivas peticiones HTTP

- Cliente compone la página, ejecuta JavaScript y visualiza por pantalla

- Ejemplos:

- Internet Information Server (IIS) v4 WNT, v5 W2K y XP, v6 W2K3

- Apache. Multiplataforma.

Aplicaciones web: el servidor

Cliente Servidor web Red

HTTP Request

página

Procesamiento

Presentación

HTTP Response

Cookies

HTML

CSS

URL

Cookies

Aplicación

Servidor web

Page 8: UT 01 - Aplicaciones WEB.pdf

Tema 1, Programación Web

8

- Escucha en un puerto. Por defecto:

- Puerto TCP 80 para HTTP

- Puerto TCP 443 para HTTPS

- Soporta concurrencia

- Un solo servidor puede contener múltiples aplicaciones

- Posibilidad de cifrar la comunicación: Servidor Seguro

- Se ejecuta como un usuario de S.O. específico.

- Accede a recursos de la máquina:

- Disco duro: permisos sobre usuario del servidor web

- Base de datos: permisos sobre usuario del servidor o usuario remoto

- Posibilidad de exigir autenticación remota:

- Usuario y password (autenticación básica)

- Certificado digital (usando SSL)

Aplicación Servidor Web

Page 9: UT 01 - Aplicaciones WEB.pdf

Tema 1, Programación Web

9

9

- Puede ocultar una estructura compleja en varios niveles

Aplicación Servidor Web

Cliente

Proxy caché

Red

HTTP Request

Presentación

HTTP Response

Cookies

HTML

CSS

URL

Cookies

… Balanceador de carga

Servidores web

Servidores de BD

Servidores de ficheros

Servidores de apps

Page 10: UT 01 - Aplicaciones WEB.pdf

Tema 1, Programación Web

10

- Limitación:

- Limitadas por tecnologías que no fueron diseñadas pensando en

aplicaciones: HTML, HTTP...

- Problemas con interface

- Problemas en control de comunicación

- Ventajas:

- Basadas en estándares

- No se requiere instalación de software en cliente

- Sin problemas por instalación de software (librerías,…)

- Propagación de actualizaciones inmediata

- Aceptación del usuario: “todo el mundo sabe navegar”

- Fácil coexistencia con firewalls

- Futuro: Romper las limitaciones con XHTML, XML, SOAP, objetos

distribuidos, etc..

Aplicaciones Web

Page 11: UT 01 - Aplicaciones WEB.pdf

Tema 1, Programación Web

11

Aplicación cliente-servidor

Software cliente específico, que el

cliente debe tener instalado

Interface como cualquier aplicación

del sistema. Windows: ventanas,

menús,...

Software servidor específico, que

el servidor debe tener instalado

Protocolo red entre C y S:

Protocolos propietarios.

Múltiples posibilidades.

Generalmente TCP/IP

Aplicación web

Software cliente: Navegador web. Las

respuestas son páginas web.

Interface: Páginas web programadas en

HTML

Software específico, que es ejecutado

por un servidor web

Protocolo red entre C y S:

Protocolo HTTP(S)

(pero: no orientado conexión,

pro: facilita config. firewall)

Comparativa

Page 12: UT 01 - Aplicaciones WEB.pdf

Tema 1, Programación Web

12

- Páginas que no cambian de contenido en el tiempo

- Recuperadas desde el sistema de archivos del servidor

- No requieren procesamiento: sólo transmitir el contenido

- Inconvenientes graves:

- Dificultad de actualización y mantenimiento.

- Ej. Aplicar un descuento a todos los productos en una tienda web.

Cada precio es mostrado en múltiples páginas.

- Acceso limitado a la información: posibilidad de usar índices

(difíciles de mantener), difícil hacer búsquedas...

- No es un enfoque inherentemente malo, pero sí limitado: no es

adecuado para sitios con páginas cambiantes.

Enfoque estático

HTTP Request

Presentación

HTTP Response

Servidor

web

página,

imagen o

doc

estático

Page 13: UT 01 - Aplicaciones WEB.pdf

Tema 1, Programación Web

13

- Páginas que cambian de contenido con el tiempo

- Resultado procedente de la ejecución de un programa

- CGI: programa cuya salida es HTML

- Página activa: HTML + código de programación embebido

- Existen muchas tecnologías:

- ASP: para IIS PHP: multiplataforma, Apache

- JSP: multiplataforma Coldfusion: multiplataforma

- Extensiones PL/SQL de Oracle: sólo para IAS y BD Oracle

- Perl: multiplataforma …

- Fáciles de mantener: páginas actualizadas automáticamente

- Ejemplo:

<% si contraseña es correcta entonces %>

<h2> Bienvenido al servidor web </h2>

<% si no %>

<h2> Contraseña incorrecta </h2>

<% fin si %>

¿Problemas con la caché?

Enfoque dinámico

Page 14: UT 01 - Aplicaciones WEB.pdf

Tema 1, Programación Web

14

- Contenidos recuperados de..

- El propio HTML de la página activa o CGI

- Datos enviados por el usuario (URL, formularios, cookies)

- Datos leídos de la base de datos

- Datos leídos de un fichero (ej. Fichero de propiedades)

- Información del entorno (Sistema Operativo y Servidor Web)

- Información de sesión, aplicación

Páginas Activas

página

activa

Intérprete

Bases

Datos

HTTP Request Interface

CGI

HTTP Response

Servidor

web

página,

imagen o

doc

estático

Datos

entorno

Page 15: UT 01 - Aplicaciones WEB.pdf

Tema 1, Programación Web

15

15

Modelos de aplicaciones web

Page 16: UT 01 - Aplicaciones WEB.pdf

Tema 1, Programación Web

16

- Aplicaciones accesibles de forma pública

- Desde cualquier lugar del mundo

Modelo internet

Organización

Internet

Page 17: UT 01 - Aplicaciones WEB.pdf

Tema 1, Programación Web

17

- Aplicaciones web internas a la organización

- No accesibles desde fuera de la organización

- Limitar acceso a nivel de configuración de red

- Limitación de IP por programa

- Identificación usuario/password,

permisos que determinan la información visible

Modelo intranet

Organización

Internet

Page 18: UT 01 - Aplicaciones WEB.pdf

Tema 1, Programación Web

18

- Intranet parcialmente accesible a usuarios externos

- Acceso a través de firewall

- Identificación usuario/password,

permisos que determinan la información visible

- Apropiado para:

- Miembros de la organización en itinerancia

- Empresas asociadas (B2B): clientes, proveedores

Modelo extranet

Organización

Internet

Page 19: UT 01 - Aplicaciones WEB.pdf

Tema 1, Programación Web

19

- Aplicaciones de uso interno, en servidores externos

- La organización alquila el uso de aplicaciones web

- Lógica reside en el ASP: El proveedor realiza las actualizaciones

- Datos residen en el ASP: El proveedor realiza backup

- Fuerte infraestructura de red (caídas, rendimiento...)

- Indemnización por ausencia de servicio

- Alta disponibilidad: Enlaces y equipos redundantes

- Desconfianza

Modelo ASP (Application Service Provider)

Organización

Internet

Page 20: UT 01 - Aplicaciones WEB.pdf

Tema 1, Programación Web

20

- Ventajas para el cliente:

- No se requieren instalaciones

- Copias de seguridad y actualizaciones por el proveedor

- Accesible desde cualquier punto

- Ventajas para el proveedor:

- Fin de las copias ilegales

- Control del tiempo exacto de uso

- No requiere distribución.

- En la instalación

- En las actualizaciones

Modelo ASP (Application Service Provider)

Page 21: UT 01 - Aplicaciones WEB.pdf

Tema 1, Programación Web

21

21

- El desarrollo web (Web Development) se divide en:

- Diseño gráfico (Web Design)

- Se centra en la estética de la web

- Herramientas WYSIWYG (DreamWeaver), Flash, Photoshop

- Programación Web (Web Programming)

- Se centra en desarrollo de aplicaciones informáticas para Web

- Tecnologías:

- Lenguajes etiquetados (HTML, XML,...)

- Lenguajes interpretados en cliente (JavaScript, VBScript)

- Páginas activas (ASP, JSP, PHP, ...)

- Bases de datos (MySQL, Access, SQL Server, Oracle...)

- Ingeniería del software para web (Web Engineering)

- Especificación de requisitos

- Prototipado

- Herramientas de diseño (Modelo E-R, Mapa Web, UML)

Web development

Page 22: UT 01 - Aplicaciones WEB.pdf

Tema 1, Programación Web

22

Cliente

Ejemplo de equipo de desarrollo web

Responsable

Proyecto / Controller

Diseñadores

Gráficos

Analistas

Programadores

Ingenieros de

Sistemas

Técnicos de

Sistemas

Planificación, control fases,

Control presupuestos, …

Page 23: UT 01 - Aplicaciones WEB.pdf

Tema 1, Programación Web

23

Cliente

Equipo explotación web

Responsable

Técnico

Diseñadores

Gráficos

Analistas

Programadores

Ingenieros de

Sistemas

Técnicos de

Sistemas

Responsable

Canal

Atención Cliente

Helpdesk

Desarrollo

de negocio

Administración

canal

Marketing…

Page 24: UT 01 - Aplicaciones WEB.pdf

Tema 1, Programación Web

24

El trabajo en equipo es esencial; te permite echarle la culpa a otro

(Anónimo)