Tema 4. Arquitectura Web PDF

Title Tema 4. Arquitectura Web
Author Jesús Roldán Cadena
Course Arquitectura e Integración de Sistemas Software
Institution Universidad de Sevilla
Pages 5
File Size 389.2 KB
File Type PDF
Total Downloads 19
Total Views 138

Summary

Profesor: Sergio Segura...


Description

TEMA 4: ARQUITECTURA SOFTWARE 1. Introducción Sistema de información (SI): Sistema diseñado para recoger, almacenar, procesar y distribuir información en el contexto de una organización. A veces llamados aplicaciones empresariales o aplicaciones de gestón. Suelen incluir registros de pacientes, análisis de costes… pero no juegos, procesadores de texto… Las aplicaciones web más habituales suelen implementar (o ser parte de) un sistema de información. Estos sistemas suelen denominarse Sistemas de Información web (SIW).

2. Diseño lógico de la arquitectura Estlo arquitectónico habitual de los SI: Capas. La funcionalidad del sistema se organiza en capas. Cada capa agrupa componentes que ofrecen una funcionalidad común, y se comunica con las capas adyacentes exclusivamente. En la práctca es posible que una capa se comunique con capas no adyacentes. Esto se conoce como layer bridging.

Capa de presentación: Responsable de presentar información al usuario e interactuar con éste. Pre-procesamiento de datos. (Front-end).

Capa de lógica: Procesa las petciones de la capa de presentación, realiza cálculos y operaciones (ej. autentcación) y mueve los datos entre las capas de presentación y recursos. (Aquí comienza el Back-end).

Capa de recursos: Responsable de gestonar los datos: fcheros planos, XML, bases de datos, servicios web, etc.

1

Apuntes hechos por Jesús Roldán Cadena - JRC

Importante: Las capas son sólo conceptuales: No tenen por qué corresponderse con la estructura de la implementación. Las capas de presentación, lógica y recursos se conocen como vista lógica de la arquitectura.

2.1 Capa de presentación • • • •

Responsable de presentar información al usuario e interactuar con éste. La información recibida es procesada mediante comunicación con la capa de lógica. Es habitual realizar una validación previa para comprobar que no hay errores. Suele consistr en la interfaz gráfca de usuario: cuadros de texto, botones, formularios, etc. La potencia de los navegadores y herramientas actuales han hecho que el trabajo de desarrollador de la capa de presentación web (frontend developer) sea un puesto muy demandado y para el que hace falta una alta cualifcación.

2.2 Capa de lógica • •

Responsable de implementar las operaciones solicitadas por los clientes a la capa de presentación, Ej: El componente que comprueba si un cliente se ha registrado en la aplicación. Se le suele llamar capa de lógica de negocio, capa de lógica de aplicación, back-end o simplemente servidor.

2.3 Capa de recursos •

A veces llamada capa de acceso a datos.



Responsable de gestionar todos los elementos de información de la aplicación (gestión de datos): fcheros planos, XML, bases de datos, servicios web, etc. En algunas arquitecturas se considera como parte integrante de esta capa aquellos sistemas externos que proporcionan información.



3. Diseño físico de la arquitectura El término “nivel” (ter) hace referencia a la forma en que las capas lógicas se encuentran distribuidas de forma fsica. Existen 4 tipos básicos de arquitecturas: Mononivel (1-ter), 2 niveles (2-ter), 3 niveles (3-ter), N niveles (N-ter)

3.1 Arquitectura mononivel(1-tier)

• • • •

Las capas de presentación, lógica y datos se mezclan en un mismo nivel. Suelen ser cerrados y no ofrecen acceso programático. Son un ejemplo claro de sistemas heredados. Ventajas: Efciente y coste casi nulo de despliegue y desarrollo en clientes. Desventajas: Difícil mantenimiento (coste de mantenimiento), difícil integración.

2

Apuntes hechos por Jesús Roldán Cadena - JRC

3.2 Arquitectura en 2 niveles(2-tier) • • •



Se conoce como Cliente/Servidor. Ejemplo: Aplicación de mensajería instantánea. Dependiendo de las responsabilidades del cliente se habla de clientes ‘pesados’ o ‘ligeros’. Ventajas: Se puede aprovechar la capacidad de computo del cliente. Permite personalizar la capa de presentación para distntos fnes y portarla a distntos entornos (multplataforma). Efciencia en el lado del servidor Desventajas: Protocolos más complejos y gestón de sesiones complican la escalabilidad. Arquitectura inadecuada cuando se necesitan integrar aplicaciones. Ej: integración de messenger y gtalk.

3.3 Arquitectura en 3 niveles (3-tier)



Evolución natural de los dos niveles para resolver el problema de la integración de aplicaciones heterogéneas. La responsabilidad de integrar pasa al middleware, que también se encarga de transacciones, balanceo de carga, replicación, etc. Permiten desplegar lógica en otro host.

• •

Ventajas: Más escalable, facilita la integración Desventajas: Mayor latencia

• •

3.4 Arquitectura en N niveles (N-tier)



Es la arquitectura N-ter escalada tantas veces como sea necesario. La capa de recursos puede ser otro sistema N-ter. Surge de manera natural cuando se desea integrar varios sistemas de información. Ventajas: Mayor mantenibilidad. Más escalable. Más fexible.



Desventajas: Mayor latencia. Más complejo

• •

3

Apuntes hechos por Jesús Roldán Cadena - JRC

4. Separación de responsabilidades 4.1 Separación lógica

Separación lógica horizontal.

Separación lógica vertical. Se hace en función de los módulos de la aplicación: gestón usuarios, stock, facturación, etc.

Separación lógica horizontal y vertical.

4.2 Separación física (niveles) •

La idea se basa en distribuir las capas en el PC del usuario y los distntos servidores. Ejemplos: ◦ Capa de presentación en usuario y capa lógica y de recursos y SGBD en un servidor. ◦ Capa de presentación en usuario, capa lógica y de recursos en servidor 1 y SGBD en servidor 2. ◦ Capa de presentación en usuario y mezcla capas lógica y de recursos en servidores 1 y 2 con separación lógica horizontal y vertcal.

4

Apuntes hechos por Jesús Roldán Cadena - JRC

5. Patrón Modelo-Vista-Controlador (MVC) Es un patrón arquitectónico que separa los datos de una aplicación, la interfaz de usuario, y la lógica de negocio en tres componentes distintos: • Modelo. Es la representación específca de la información con la que se opera . Incluye los datos y la lógica para operar con ellos. • Vista. Es la presentación del modelo de forma adecuada para interactuar con ella, normalmente a través de una interfaz de usuario. • Controlador. Responde a eventos de la interfaz de usuario e invoca cambios en el modelo y probablemente en la vista (intermediario entre vista y modelo). Nosotros vamos a trabajar con la siguiente variante simplifcada del patrón MVC:





Ventajas. ◦ Soporte para múltiples vistas. ◦ Favorece la alta cohesión, el bajo acoplamiento y la separación de responsabilidades. ◦ Facilita el desarrollo y las pruebas de cada tpo de componente en paralelo. Inconvenientes. Mayor complejidad

6. Aplicaciones web Las aplicaciones web tenen una arquitectura física de 2 o más niveles:

5

Apuntes hechos por Jesús Roldán Cadena - JRC...


Similar Free PDFs