Arquitecturas a n-capas
Juan Camilo Alzate R.
Introducción
Concepto de Arquitectura en Desarrollo
Software
Concepción desde RUP
Arquitectura física
Distribución de nodos en la red
Mapeo componente software – nodo computacional
Concepto de Arquitectura software Moderno Patrones de diseño de arquitectura
Modelo n-capas
Es la aplicación donde la interfaz, la lógica del
negocio, el acceso a los datos y los datos se encuentran separados.
El modelo n−tier (n−capas) de informática
distribuida ha emergido como la arquitectura predominante para la construcción de
Evolución de modelos
Modelo
1 Modelo 1.5 Modelo 2 Modelo 2.x
Modelo 1
Las más primitivas
Aplicaciones Web CGI (Interfaz de entrada
común)
Presentación, negocio y persistencia
mezclados
El estado se almacena en el cliente y cada
petición supone una ejecución completa
independiente de estado (Transacction Script)
BD
Modelo 1.5
Separación de responsabilidades: Lógica de presentación
Responsabilidades de negocio y acceso a datos
BD
Browser
Prese ntaci
ón
Modelo 2.0
Evolución del modelo 1.5
Incorporación del patrón de diseño MVC. Capa de presentación (vista)
Capa de negocio (controlador)
Capa de datos (modelo)
Modelo 2.5
El surgimiento de la tecnología de componentes
distribuidos es la clave de las arquitecturas de n-capas.
Estos sistemas de computación utilizan un número
variable de componentes individuales que se comunican entre ellos utilizando estándares predefinidos y frameworks de comunicación :
Ventajas de modelos a n-capas
Desarrollos paralelos (varios programadores en cada
capa)
Aplicaciones más robustas debido al
encapsulamiento
Mantenimiento y soporte más sencillo (es más
sencillo cambiar un componente que modificar una aplicación monolítica)
Mayor flexibilidad (se pueden añadir nuevos módulos
Ventajas de modelos a n-capas
Alta escalabilidad. La principal ventaja de una
aplicación distribuida bien diseñada es su
buen escalado, es decir, que puede manejar muchas peticiones con el mismo rendimiento simplemente añadiendo más hardware. El
crecimiento es casi lineal y no es necesario añadir más código para conseguir esta
escalabilidad.
Arquitectura lógica “clásica”. Presentación
Separación de responsabilidades
Premisa base para la separación de capas Distintas Responsabilidades no deben ser
delegadas en la misma clase (separación de incumbencias)
Tendencia actual en aplicaciones WEB: Arquitectura n-capas
El modelo más básico es el de tres capas: Capa de presentación
Capa de negocio
Capa de persistencia
División por capas
La división de aplicaciones en capas,
normalmente está compuesta por tres capas:
Capa de presentación
Capa de negocio
Capa de presentación
Presenta el sistema al usuario, comunica la
información y captura la información del usuario en un mínimo proceso. Esta capa se comunica únicamente con la capa de negocio.
Comprende las responsabilidades de lógica de
presentación:
Navegabilidad del sistema
Validación de datos de entrada
Formateo de los datos de salida
Internacionalización
Capa de negocio
Comprende las responsabilidades de lógica de
negocio (o dominio) del sistema.
Resultado del análisis funcional:
Conjunto de reglas de negocio que abstraen el mundo real.
La capa de negocio ha de ser independiente de la
capa de presentación y viceversa (en la medida de lo posible).
Es donde residen los programas que se ejecutan, se
reciben peticiones del usuario y se envían las respuestas tras el proceso.
Se comunica con la capa de datos, para solicitar al
Capa de persistencia
Comprende las responsabilidades de lógica de
persistencia de las entidades que maneja el sistema en desarrollo.
Inserción
Eliminación
Actualizaciones Búsquedas
No tiene porqué tratarse necesariamente de
Aplicación a 2 capas
La arquitectura de dos capas en la actualidad
es muy utilizada, aunque con muchas fallas, todavía no se ha podido dejar de usar. Estas arquitecturas fueron las primeras en
Aplicación a 2 capas
Nivel de aplicación: Este nivel es en el que se
encuentra toda la interfaz del sistema y es la que el usuario puede disponer para realizar su actividad con el sistema.
Nivel de la base de datos: Este nivel de la base de
datos también llamado el repositorio de datos, es la capa en donde se almacena toda la información
ingresada en el sistema y que se deposita en forma permanente.
Existen herramientas para el desarrollo en dos capas
Aplicación a 3 capas
La arquitectura de dos capas si bien ayudó en
unos años atrás, se vio la necesidad de crear una nueva arquitectura ya que en dos capas se tenía algunos problemas en la capa de
Aplicación a 3 capas
Nivel de aplicación: Sólo tiene que trabajar con la
semántica propia de aplicación, sin tener que
preocuparse de cómo esta implementado este ni de su estructura física.
Nivel de dominio de la aplicación: Se encarga de
toda la estructura física y el dominio de aplicación. La mayor ventaja de esta arquitectura es que ahora únicamente se cambia la regla en el servidor de
aplicación y esta actuará en todos los clientes.
Nivel de repositorio: Sigue siendo la capa en donde
Aplicación a n-capas
En una aplicación distribuida en n-capas los
diferentes procesos están distribuidos en
diferentes capas no sólo lógicas, sino también físicas. los procesos se ejecutan en diferentes equipos, que pueden incluso residir en
Aplicación a n-capas
Cada equipo posee una configuración distinta
y está optimizado para realizar el papel que le ha sido asignado dentro de la estructura de la aplicación, de modo que tanto los recursos
Webferencias
http://laurmolina7821.wordpress.com/1-1-3-ap
licaciones-de-2-3-y-n-capas /
http://di002.edv.uniovi.es/~dflanvin/docencia/