Está en la página 1de 23

CIFP Csar Manrique

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES


MDULO DSW. CURSO 2016-2017
Fernando Salazar de Paz

CIFP Csar Manrique


Introduccin a
Arquitecturas de desarrollo Web

CFGS DAW Desarrollo web en entorno


servidor

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES


MDULO DSW. CURSO 2016-2017
Fernando Salazar de Paz

CIFP Csar Manrique


.

CONTENIDOS

Internet y la World Wide Web (WWW)

Introduccin al desarrollo de aplicaciones Web

Arquitecturas hardware - software

29/09/16

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES


MDULO DSW. CURSO 2016-2017
Fernando Salazar de Paz

CIFP Csar Manrique


.

Internet y la World Wide


Web

29/09/16

CIFP Csar Manrique


.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES


MDULO DSW. CURSO 2016-2017
Fernando Salazar de Paz

Internet
Internet es el sistema global de redes de computadores
interconectadas, que usan la suite de protocolos TCP/IP para
conectar millones de dispositivos en todo el mundo. Es la red de
redes.
Su origen est en ARPANET, red de computadoras creada por el
Departamento de Defensa de Estados Unidos.
Uno de los servicios que ms xito ha tenido en internet ha sido la
World Wide Web (WWW o la Web), hasta tal punto que es habitual
la confusin entre ambos trminos.
La Web es un sistema de distribucin de documentos de hipertexto
interconectados y accesibles va Internet, a travs del protocolo
HTTP. La Web se naci en el CERN , a principios de los 90, gracias al
trabajo de Tim Berners-Lee con la ayuda de Robert Cailliau.

CIFP Csar Manrique


.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES


MDULO DSW. CURSO 2016-2017
Fernando Salazar de Paz

Internet: La red de redes

http://arstechnica.com/security/2013/04/can-a-ddos-break-the-internet-sure-just-not-all-of-it/

CIFP Csar Manrique


.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES


MDULO DSW. CURSO 2016-2017
Fernando Salazar de Paz

Protocolo HTTP
Hypertext Transfer Protocol o HTTP (protocolo de transferencia de
hipertexto) es el protocolo de comunicacin que permite las
transferencias de informacin en la World Wide Web. HTTP fue
desarrollado en 1999 por el World Wide Web Consortium (W3C)
junto con la Internet Engineering Task Force (IETF). El RFC 2616
especifica la versin 1.1 del protocolo, usada actualmente.
HTTP sigue un modelo de comunicacin de tipo peticin-respuesta
(request-response/reply) entre un cliente y un servidor.
HTTP es un protocolo sin estado, lo que quiere decir que las
peticiones son independientes unas de otras, no se guarda
informacin (estado) entre peticiones.
Las aplicaciones Web s necesitan, por contra, vincular las diferentes
peticiones de un mismo usuario. Para ello se ha creado el concepto
de sesin en el servidor. Para recordar al servidor HTTPD la sesin
del usuario se utilizan cookies o tcnicas como URL rewriting.

CIFP Csar Manrique


.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES


MDULO DSW. CURSO 2016-2017
Fernando Salazar de Paz

HTTP es un protocolo de nivel aplicacin


El protocolo HTTP utiliza los servicios del protocolo de nivel de
transporte (TCP).

CIFP Csar Manrique


.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES


MDULO DSW. CURSO 2016-2017
Fernando Salazar de Paz

Interaccin
El cliente (o user agent) enva una peticin HTTP (request) a un servidor
Web (el cliente lo hace a travs de un client side socket)

El servidor est escuchando (server side socket) por peticiones en un


puerto TCP, que usualmente es el 80. Cuando recibe la peticin busca el
recurso solicitado y lo devuelve al cliente
Los recursos se identifican por URIs (Uniform Resource Identifiers) (o, ms
especficamente, Uniform Resource Locators ( URLs)) usando los esquemas
http: o https:

CIFP Csar Manrique


.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES


MDULO DSW. CURSO 2016-2017
Fernando Salazar de Paz

Mtodos HTTP
OPTIONS. Solicita opciones de comunicacin disponibles
GET. Solicita un recurso al servidor identificndolo por su URI
HEAD. Idntico a GET pero solo devuelve cabeceras de respuesta
POST. Envo de datos al servidor (campos de formularios, etc.)
PUT. Almacenar un documento en la URI especificada
DELETE. Borrar el documento indicado por la URI
TRACE. (ECO) Obtener del servidor copia de la peticin enviada
CONNECT. Reservado

https://www.w3.org/Protocols/rfc2616/rfc2616.html (derogado por otros RFC)

CIFP Csar Manrique


.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES


MDULO DSW. CURSO 2016-2017
Fernando Salazar de Paz

URI (URL, URN)


Un identificador de recursos uniforme o URI del ingls uniform resource identifier
es una cadena de caracteres que identifica los recursos de una red de forma
unvoca. La diferencia respecto a un localizador de recursos uniforme (URL) es que
estos ltimos hacen referencia a recursos que, de forma general, pueden variar en el
tiempo.
Un URI consta de las siguientes partes:
Esquema: nombre que se refiere a una especificacin para asignar los identificadores, e.g. urn:,

tag:, cid:. En algunos casos tambin identifica el protocolo de acceso al recurso, por ejemplo http:,
mailto:, ftp:, etc.
Dominio: elemento jerrquico que identifica el host (por ejemplo //www.example.com).
Ruta: Informacin usualmente organizada en forma jerrquica, que identifica al recurso en el
mbito del esquema URI y la autoridad de nombres (e.g. /domains/example).
Consulta: Informacin con estructura no jerrquica (usualmente pares "clave=valor") que
identifica al recurso en el mbito del esquema URI y la autoridad de nombres. El comienzo de este
componente se indica mediante el carcter '?'.
Fragmento: Permite identificar una parte del recurso principal, o vista de una representacin del
mismo. El comienzo de este componente se indica mediante el carcter '#'.

CIFP Csar Manrique


.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES


MDULO DSW. CURSO 2016-2017
Fernando Salazar de Paz

Ejercicio
Instalar el cliente Telnet en la mquina virtual (SDP_VM)
> sudo yum install telnet
Utilizando un cliente Telnet realizar peticiones HTTP a un servidor
Obtener cabeceras de una peticin a http://developer.mozilla.org
Obtener los datos de la peticin anterior

CIFP Csar Manrique


.

Sesiones HTTP y cookies

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES


MDULO DSW. CURSO 2016-2017
Fernando Salazar de Paz

CIFP Csar Manrique


.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES


MDULO DSW. CURSO 2016-2017
Fernando Salazar de Paz

Ejercicio

Instalar el complemento FireBug 2.0.17 o superior en Firefox


Habilitar el complemento para todas las Web y el panel de red
Habilitar y ver las cookies en una peticin a http://www.google.com
Lanzar una peticin a http://developer.mozilla.org y localizar la
cabecera de la solicitud que indica el idioma preferido
Cambiar el idioma en Firefox y ver si cambia la cabecera

CIFP Csar Manrique


.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES


MDULO DSW. CURSO 2016-2017
Fernando Salazar de Paz

Introduccin al desarrollo de
aplicaciones Web

CIFP Csar Manrique


.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES


MDULO DSW. CURSO 2016-2017
Fernando Salazar de Paz

Desafos a afrontar en el desarrollo Web


Rendimiento
Ofrecer alto throughput (n. transacciones
por segundo que puede atender el sistema
Bajo tiempo de respuesta del servidor
Asegurar la disponibilidad del servicio

Escalabilidad
Capacidad de ampliar el sistema cuando
aumenta la carga de trabajo

Seguridad
Evitar: suplantacin, modificacin de
recursos sin autorizacin (tampering),
alterar evidencias, revelacin de
informacin, denegacin de servicio (DoS),
elevacin de privilegios...
http://www.marutitech.com/5-challenges-in-web-application-development/
http://www.drdobbs.com/web-development/building-scalable-web-architecture-and-d/240142422

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES


MDULO DSW. CURSO 2016-2017
Fernando Salazar de Paz

CIFP Csar Manrique


.

Desafos a afrontar en el desarrollo Web (II)


Accesibilidad, usabilidad y diseo inclusivo
Accesibilidad. Busca que las personas con discapacidad puedan percibir, entender, navegar e
interactuar con sitios web y herramientas eliminando las barreras de acceso al contenido (ej:
discapacidad visual). WACAG (Web Content Accessibility Guidelines) define reglas de
accesibilidad tales como: proporcionar alternativas textuales a contenido multimedia, crear
contenido compatible con tecnologas de asistencia (lectores de contenido), permitir la
interaccin con el sitio Web eliminando la obligatoriedad del uso del ratn, etc.
Usabilidad y experiencia de usuario. Enfoque de diseo del software para ser lo ms eficaz,
eficiente y satisfactorio. ISO 9241-11 define usabilidad como: "grado en que un producto
puede ser usado por determinados usuarios para conseguir objetivos especficos con
efectividad, eficiencia y con satisfaccin en un contexto de uso". Aplicaciones RIA (Rich
Internet Applications)
Inclusin. Diseo inclusivo, universal y para todos implica el diseo de sitios web, de forma
que lleguen a todo tipo de usuarios. Un rea importante es el Responsive Web Design
(RWD), que permite que el sitio Web se adapte al dispositivo desde el que se accede
(ejemplo: mvil). Inclusin abarca, adems, el acceso y la calidad del hardware, software y
conectividad a Internet; conocimientos de los usuarios; ubicacin geogrfica y lenguaje, as
como la edad y la discapacidad (aunque sta se trata ms especficamente en Accesibilidad)

http://www.w3.org/WAI/users/Overview.html

CIFP Csar Manrique


.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES


MDULO DSW. CURSO 2016-2017
Fernando Salazar de Paz

Desafos a afrontar en el desarrollo Web (III)


Integracin con otras aplicaciones y el backend
Nuestra aplicacin ofrece un front-end (en nuestro caso un cliente web,

denominado cliente ligero), con el que los usuarios pueden trabajar.


Adems desarrolla una lgica de negocio, proporcionando servicios a los
usuarios.
Para desarrollar esta lgica de negocio la aplicacin precisa acceder a los
datos del back-end; ya sea de forma directa (conectando directamente con
bases de datos), o empleando servicios de terceros (otras aplicaciones).
En este segundo caso aparece el concepto de Middleware, que es una capa
de abstraccin de software distribuida, que se sita entre las capas de
aplicaciones y las capas inferiores (sistema operativo y red) para facilitar el
intercambio de datos entre aplicaciones, proporcionando una API para la
programacin y manejo de aplicaciones distribuidas.
Sea cual sea el enfoque (normalmente se combinan ambos), nuestras
aplicaciones debern utilizar diversos protocolos, conectores, frameworks
para integrar datos procedentes de diversas fuentes, consolidarla y generar
informacin en base a esos datos.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES


MDULO DSW. CURSO 2016-2017
Fernando Salazar de Paz

CIFP Csar Manrique


.

Arquitecturas
Hardware
Software

29/09/16

18

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES


MDULO DSW. CURSO 2016-2017
Fernando Salazar de Paz

CIFP Csar Manrique


.

Problema: Aplicacin Web alto nmero de potenciales clientes


La aplicacin responde bien hasta un nmero determinado de
usuarios, pero cuando se sobrepasa la capacidad del sistema ste
se satura y deja de dar servicio. El cliente recibe Errores HTTP 5xx

Una solucin es aumentar la capacidad del servidor (comprar uno


ms grande)

Iconos creados por MadeByOliver

CIFP Csar Manrique


.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES


MDULO DSW. CURSO 2016-2017
Fernando Salazar de Paz

Problemas para aumentar la capacidad del sistema (escalabilidad)


El problema es que nuevos aumentos en la carga del sistema hacen
que necesitemos cada vez mquinas ms gordas

Llega un punto que no podemos ampliar ms la mquina para


acomodar cargas mayores. Hay limitaciones fsicas que nos impiden
ampliar continuamente el servidor.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES


MDULO DSW. CURSO 2016-2017
Fernando Salazar de Paz

CIFP Csar Manrique


.

Soluciones para la escalabilidad del sistema


Escalabilidad horizontal
Creamos mltiples rplicas de la mquina y se distribuye la carga entre ellas.
El balanceador hardware (o software) reparte la carga entre los clones
BALANCEADOR
DE CARGA
HW o SW

Escalabilidad vertical

DATO
S

En este caso partimos el


sistema entre varias mquinas.
Cada una de ellas ser
responsable de una parte del
mismo, de forma que la carga se
distribuye

LGICA

PRESENTACIN

CIFP Csar Manrique


.

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES


MDULO DSW. CURSO 2016-2017
Fernando Salazar de Paz

Escalabilidad vertical: arquitectura software de divisin en capas


Capa de presentacin
Subcapa componentes de
presentacin
Subcapa de lgica de presentacin

Capa de lgica de negocio


Fachada (facade) de servicios
Componentes, lgica de negocio

Capa de acceso a datos o


persistencia
Capa de infraestructura
(transversal)
Seguridad
Gestin de servicios, etc.

Helpers
Clases de transferencia entre capas

CIFP Csar Manrique


.

PREGUNTAS

29/09/16

DEPARTAMENTO DE INFORMTICA Y COMUNICACIONES


MDULO DSW. CURSO 2016-2017
Fernando Salazar de Paz