Você está na página 1de 5

Arquitectura basada en capas.

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.
Por ejemplo, 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).
El estilo de arquitectura basado en capas se identifica por las siguientes
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 re-uso donde
cada capa agrega responsabilidad y abstraccin a la capa directamente sobre ella.
Principios fundamentales
Los principios comunes que se aplican cuando se disea para usar este estilo de
arquitectura incluyen:
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 cohesion. 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 comunicacion entre las capas est basada en la abstraccin lo
que provee un desacople entre las capas.
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
Algunos tipos comunes de aplicaciones por capas incluyen:

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.
Los siguientes son algunas variaciones del estilo 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.
Arquitectura de 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.
Los siguientes son los principios fundamentales del estilo de arquitectura basado
en N-capas/3-capas:
Es un estilo para definir el despliegue de las capas en una instalacin.
La arquitectura de N-capas est caracterizada por la descomposicin functional
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.
Una capa es desplegada en un nivel especfico si ms de un servicio o aplicacin
est expuesto por esa capa.
Beneficios.
Los principales beneficios del estilo de arquitectura de N-capas/3-capas son:
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.

Ejemplos.
Algunos ejemplos del estilo de arquitectura de N-capas/3-capas son:
Una aplicacin Web Financiera donde la seguridad es importante y la capa de
gnegocios necesita estar instalada detrs de un Firewall, lo que obliga la
instalacin de la capa de presentacin en una capa separada del permetro.
Una aplicacin de cliente rico conectada, donde la capa de presentacin esta en
las maquinas cliente y las capas de negocios y datos estn instaladas en el
servidor.
http://www.juanpelaez.com/geek-stuff/arquitectura/arquitectura-basada-en-capas/

Você também pode gostar