Вы находитесь на странице: 1из 16

AUTOR: JHONATAN MEJA ABAD FECHA: 04-04-2014

ARQUITECTURA BASADA EN CAPAS


Introduccin Caractersticas Principios fundamentales Principales Beneficios Ejemplos Variaciones de estilos de arquitectura basado en capas.

Capas lgicas y fsicas


Arquitectura basado en N-capas/3-capas

Introduccin

La arquitectura basada en capas se enfoca en la distribucin de roles y responsabilidades de forma jerrquica proveyendo una forma muy efectiva de separacin de responsabilidades. El rol indica el modo y tipo de interaccin con otras capas, y la responsabilidad indica la funcionalidad que est siendo desarrollada.

Caractersticas

Describe la descomposicin de servicios de forma que la mayora de la interaccin ocurre solamente entre capas vecinas.
Las capas de una aplicacin pueden residir en la misma maquina fsica (misma capa) o puede estar distribuido sobre diferentes computadores (n-capas). Los componentes de cada capa se comunican con otros componentes en otras capas a travs de interfaces muy bien definidas. Este modelo ha sido descrito como una pirmide invertida de reuso donde cada capa agrega responsabilidad y abstraccin a la capa directamente sobre ella.

Principios Fundamentales

Abstraccin. La arquitectura basada en capas abstrae la vista del modelo como un todo mientras que provee suficiente detalle para entender las relaciones entre capas. Encapsulamiento. El diseo no hace asunciones acerca de tipos de datos, mtodos, propiedades o implementacin. Funcionalidad claramente definida. El diseo claramente define la separacin entre la funcionalidad de cada capa. Capas superiores como la capa de presentacin enva comandos a las capas inferiores como la capa de negocios y la capa de datos y los datos fluyen hacia y desde las capas en cualquier sentido. Alta cohesin. Cada capa contiene funcionalidad directamente relacionas con la tarea de dicha capa.

Reutilizable. Las capas inferiores no tienen ninguna dependencia con las capas superiores, permitindoles ser reutilizables en otros escenarios.
Desacople. La comunicacin entre las capas est basada en la abstraccin lo que provee un desacople entre las capas.

Principales Beneficios
Los principales beneficios del estilo de arquitectura basado en capas son:

Abstraccin. Las capas permiten cambios que se realicen en un nivel abstracto. Usted puede incrementar o disminuir el nivel de abstraccin usado en cada capa de la pila jerrquica. Aislamiento. El estilo de arquitectura de capas permite asilar los cambios en tecnologas a ciertas capas para reducir el impacto en el sistema total. Rendimiento. Distribuir las capas entre mltiples sistemas (fsicos) puede incrementar la escalabilidad, la tolerancia a fallos y el rendimiento. Mejoras en Pruebas. La capacidad de realizar pruebas se beneficia de tener una interfaces bien definidas para cada capa as como de la habilidad para cambiar a diferentes implementaciones de las interfaces de cada capa. Independencia. El estilo de arquitectura basado en capas el requerimiento de considerar el hardware y los problemas de instalacin as como las dependencias de interfaces externas.

Ejemplos

Una aplicacin web tpica est compuesta por una capa de presentacin (funcionalidad relacionada con la interfaz de usuario), una capa de negocios (procesamiento de reglas de negocios) y una capa de datos (funcionalidad relacionada con el acceso a datos). Aplicaciones de lnea de negocios (LOB), como contabilidad, y sistemas de gestin de clientes. Aplicaciones web Corporativas y sitios Web

Aplicaciones corporativas de escritorio o clientes inteligentes con servidores centralizados de aplicacin con lgica de negocios.

Variaciones de estilos de arquitectura basado en capas.

Capas estrictas (Strict layering). Cada capa solo puede invocar a la capa directamente debajo de a ella. Saltos de Capas (Layer skipping). Las capas pueden invocar otras capas ms profundas que las que estn directamente debajo de ellas. Esto puede incrementar el rendimiento pero impacta la portabilidad. Capa de Caja Negra (Black-box layering). Los limites de las capas y sus dependencias esta definidas de forma estricta usando interfaces, lo que soporta extensiones en run-time, intercepcin y mejora la capacidad de realiza pruebas. Capa de Caja Blanca (White-box layering). Clases que colaboran entre los lmites de las capas y estn altamente acopladas.

Capas lgicas

La idea de hacer una separacin en capas es que cada una de las mismas cumpla con un rol y tenga responsabilidades bien definidas.

Capas fsicas

las capas lgicas se pueden encontrar dentro de una capa fsica. Con lo cual, el Web Server podra estar en una capa fsica (una PC, por ejemplo) y la Base de Datos en otra. Cada capa fsica puede tener N capas lgicas. Ejemplos de Capas Fsicas Cliente liviano (Thin Client): La carga computacional se hace en el Server.

Cliente pesado (Fat Client): La carga computacional se hace en el Cliente.


Cliente inteligente (Smart Client): liviano y el Cliente pesado. Obtiene beneficios del Cliente

Arquitectura basado en N-capas/3-capas

Este estilo de despliegue arquitectnico describe la separacin de la funcionalidad en segmentos separados de forma muy parecida al estilo de capas, pero en el cual cada segmento est localizado en un computador fsicamente separado. Este estilo ha evolucionado desde la aproximacin basada en componentes generalmente usando mtodos especficos de comunicacin asociados a una plataforma en vez de la aproximacin basada en mensajes.

Principios fundamentales del estilo de arquitectura basado en N-capas/3capas:


Es un estilo para definir el despliegue de las capas en una instalacin. La arquitectura de N-capas est caracterizada por la descomposicin funcional de la aplicacin, los componentes de servicio y su instalacin distribuida. Mejorando la escalabilidad, disponibilidad, administracin, y utilizacin de recursos. Cada capa es completamente independiente de las otras capas, excepto aquella que esta inmediatamente debajo de ella. La capa n solo necesita saber cmo manejar una solicitud de la capa n+1, como hacer la solicitud a la capa n-1 (si existe) y cmo manejar el resultado de la peticin. La arquitectura de N-capas tiene al menos tres capas separadas o partes, cada una de ellas con su responsabilidad y est localizada en diferentes servidores.

Beneficios

Mejoras en las posibilidades de mantenimiento. Debido a que cada capa es independiente de la otra los cambios o actualizaciones pueden ser realizados sin afectar la aplicacin como un todo. Escalabilidad. Como las capas estn basadas en diferentes maquinas, el escalamiento de la aplicacin hacia afuera es razonablemente sencillo. Flexibilidad. Como cada capa puede ser manejada y escalada de forma independiente, la flexibilidad se incrementa. Disponibilidad. Las aplicaciones pueden aprovechar la arquitectura modular de los sistemas habilitados usado componentes que escalan fcilmente lo que incrementa la disponibilidad.

Ejemplo

Una aplicacin Web Financiera donde la seguridad es importante y la capa de negocios necesita estar instalada detrs de un Firewall, lo que obliga la instalacin de la capa de presentacin en una capa separada del permetro.

Вам также может понравиться