Documente Academic
Documente Profesional
Documente Cultură
(Bloque V)
Fundamentos de la Web
ndice
Introduccin
Contenedores de servicios y aplicaciones
Niveles de las arquitecturas Web
Arquitectura de un nivel
Arquitectura de dos niveles
Arquitectura de tres niveles
Arquitectura de N-niveles
Arquitectura orientada a servicios
Bibliografa
Fundamentos de la Web 2
Introduccin
Las aplicaciones web son sistemas complejos
formados por BBDD, Servidores, Redes, Sistemas de
seguridad, Sistemas de copias de seguridad, etc.
Necesitan del diseo de una arquitectura software.
Las arquitectura del software representa el diseo de
ms alto nivel de la estructura de un sistema.
Consiste en un conjunto de patrones y abstracciones
que proporcionan un marco de referencia en el diseo
del sistema.
La arquitectura software indica la estructura,
funcionamiento e interaccin entre las distintas partes
del software.
Fundamentos de la Web 3
Introduccin
Distribucin fsica y lgica: las diferentes arquitecturas
deben distinguir entre:
Modelo fsico: cmo se organizan los elementos y
componentes de la arquitectura.
Modelo lgico: cmo se organizan los datos y la informacin
que utiliza un modelo fsico determinado.
Fundamentos de la Web 4
ndice
Introduccin
Contenedores de servicios y aplicaciones
Niveles de las arquitecturas Web
Arquitectura de un nivel
Arquitectura de dos niveles
Arquitectura de tres niveles
Arquitectura de N-niveles
Arquitectura orientada a servicios
Bibliografa
Fundamentos de la Web 5
Contenedores de servicios y aplicaciones
Introduccin
Contenedores de servicios y aplicaciones
Niveles de las arquitecturas Web
Arquitectura de un nivel
Arquitectura de dos niveles
Arquitectura de tres niveles
Arquitectura de N-niveles
Arquitectura orientada a servicios
Bibliografa
Fundamentos de la Web 11
Niveles de las arquitecturas Web
Para comprender la arquitectura de los sistemas
distribuidos es necesario comprender los conceptos de
nivel y capa.
Las capas representan diferentes roles dentro de un
mismo sistema. Es por lo tanto una forma conceptual y
no necesariamente fsica de dividir los componentes de
un sistema.
Hablar de niveles implica hablar indirectamente de
capas. La diferencia reside en que cuando se habla de
niveles, se hace referencia a dispositivos fsicamente
separados. P.ej. un sistema de 3 capas podra estar
organizado en 2 niveles (2 capas + 1 capa).
Fundamentos de la Web 12
Niveles de las arquitecturas Web
Arquitectura de capas
Una arquitectura de capas es aquella donde diferentes
partes del sistema software tienen un rol perfectamente
diferenciado.
Fundamentos de la Web 13
Niveles de las arquitecturas Web
Arquitectura de capas
Capa de lgica del negocio: tiene que ver con los procesos de
negocio y con los conceptos utilizados en la aplicacin.
En la web de una tienda, se encargara de tareas como calcular
el total, los impuestos de venta y el coste de la entrega.
Capa de gestin de datos/gestin de recursos: tiene que ver
con la gestin y persistencia de los datos subyacentes del
sistema.
Fundamentos de la Web 14
Niveles de las arquitecturas Web
Arquitectura de capas
Fundamentos de la Web 15
Niveles de las arquitecturas Web
Arquitectura de capas
De un nivel
De dos niveles (Cliente/Servidor)
De tres niveles (Middleware)
De N-Niveles
Fundamentos de la Web 16
Niveles de las arquitecturas Web
Arquitecturas de un nivel
Estn totalmente centralizadas. Las capas de
presentacin, lgica de la aplicacin y gestin de
recursos se construyen de forma monoltica. Los
usuarios acceden al sistema a travs de terminales.
Era la arquitectura tpica de los mainframes. Presenta
algunas ventajas destacables:
No fuerza cambios de contexto en el flujo de control.
Al estar todo centralizado, el control y la gestin de recursos es
ms fcil.
El diseo se puede optimizar al no distinguirse separacin entre
capas.
Fundamentos de la Web 17
Niveles de las arquitecturas Web
Arquitecturas
de un nivel
Fundamentos de la Web 18
Niveles de las arquitecturas Web
Arquitecturas de dos niveles
Es la arquitectura conocida como cliente/servidor.
La capa de presentacin se mueve al cliente.
Presenta las siguientes ventajas:
Los clientes son independientes entre s.
Se puede aprovechar la mquina cliente teniendo capas de
presentacin ms sofisticadas.
Introduce el concepto de API (Application Programming
Interface). Una interfaz para invocar al sistema desde fuera.
Esto permite a los diseadores federar los sistemas en un nico
sistema.
Fundamentos de la Web 19
Niveles de las arquitecturas Web
Arquitectura
de dos niveles
Servidor
Fundamentos de la Web 20
Niveles de las arquitecturas Web
Arquitecturas de dos niveles
Los sistemas cliente/servidor introducen la nocin de
servicio (el cliente invoca el servicio implementado en el
servidor).
Junto con la nocin de servicio, se introduce la nocin
de interface de servicio (cmo invoca el cliente un
servicio dado).
Los interfaces de todos los servicios ofrecidos por un
servidor definen la API que describe cmo interactuar
con el servidor desde fuera.
Hubo muchos esfuerzos de estandarizacin por la
necesidad de acordar API comunes para cada tipo de
servidor.
Fundamentos de la Web 21
Niveles de las arquitecturas Web
Arquitecturas de dos niveles
servidor
servicio servicio servicio servicio
capa de gestin de
recursos
Fundamentos de la Web 22
Niveles de las arquitecturas Web
Arquitecturas de dos niveles
Con respecto a las de un nivel
Menor seguridad en los datos corporativos.
Fundamentos de la Web 25
Niveles de las arquitecturas Web
Arquitectura
de tres niveles
Fundamentos de la Web 26
Niveles de las arquitecturas Web
Arquitectura de tres niveles
Un middleware es simplemente un nivel de indireccin
entre los clientes y el resto de capas del sistema.
Un middleware es un sistema ms que puede ser a su
vez un sistema de una, dos, tres o N niveles.
Mediante un sistema de middleware:
Se simplifica el diseo de los clientes reduciendo el nmero de
interfaces
Se ofrece acceso transparente a los sistemas subyacentes
El middleware acta como la plataforma para integrar la
funcionalidad de los sistemas y soporta la lgica de aplicacin
de alto nivel, y se preocupa de localizar los recursos, acceder a
estos, y recoger los resultados.
Fundamentos de la Web 27
Niveles de las arquitecturas Web
Arquitectura de N-niveles
Las arquitecturas de N-niveles resultan de la conexin de varios
sistemas de 3-niveles entre s y/o aadiendo una capa adicional
que permite el acceso al sistema a travs de un servidor Web.
La capa Web era, inicialmente, externa al sistema (una capa real
adicional). Hoy en da, esta capa se va incorporando lentamente a
la capa de presentacin que reside en el lado del servidor (parte
de la infraestructura middleware en un sistema de 3-niveles, o parte
del servidor directamente en un sistema de 2-niveles).
La incorporacin de la capa Web nos lleva a la nocin de
servidores de aplicacin, que se utiliza para referirse
habitualmente a plataformas middleware que soportan acceso a
travs de Web.
Fundamentos de la Web 28
Niveles de las arquitecturas Web
Arquitectura de
N niveles
Fundamentos de la Web 29
Niveles de las arquitecturas Web
Ejemplo de sistema de N niveles
Fundamentos de la Web 30
ndice
Introduccin
Arquitecturas de sistemas de informacin
Arquitectura de un nivel
Arquitectura de dos niveles
Arquitectura de tres niveles
Arquitectura de N-niveles
Arquitectura orientada a servicios
Bibliografa
Fundamentos de la Web 31
Arquitectura orientada a servicios
Arquitecturas orientadas a servicios (SOA: Service
Oriented Architecture)
Con la aparicin de Internet y de los Servicios Web,
surge la necesidad de aadir dinmicamente servidores
y que los clientes puedan localizarlos y conocer sus
caractersticas con facilidad.
Aaden la posibilidad de registrar un servidor y la
descripcin de los servicios que ofrece en un directorio.
Fundamentos de la Web 34
ndice
Introduccin
Arquitecturas de sistemas de informacin
Arquitectura de un nivel
Arquitectura de dos niveles
Arquitectura de tres niveles
Arquitectura de N-niveles
Arquitectura orientada a servicios
Bibliografa
Fundamentos de la Web 35
Bibliografa
[2] http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/
Fundamentos de la Web 36