0% encontró este documento útil (0 votos)
206 vistas7 páginas

Arquitectura por Capas en Software

El patrón de arquitectura por capas divide un sistema de software en capas separadas con responsabilidades específicas. La capa superior utiliza servicios de la capa inferior, mientras que la capa inferior no es consciente de la superior. Las tres capas principales son: la capa de presentación, la capa de lógica de negocio, y la capa de datos. Esta arquitectura proporciona ventajas como la separación de responsabilidades y facilidad de prueba y mantenimiento, pero también tiene desventajas como un posible impacto en el

Cargado por

jose arboleda
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
206 vistas7 páginas

Arquitectura por Capas en Software

El patrón de arquitectura por capas divide un sistema de software en capas separadas con responsabilidades específicas. La capa superior utiliza servicios de la capa inferior, mientras que la capa inferior no es consciente de la superior. Las tres capas principales son: la capa de presentación, la capa de lógica de negocio, y la capa de datos. Esta arquitectura proporciona ventajas como la separación de responsabilidades y facilidad de prueba y mantenimiento, pero también tiene desventajas como un posible impacto en el

Cargado por

jose arboleda
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

INTRODUCCION

El Patrón de arquitectura por capas es una de las técnicas más común es que los
arquitectos de software utilizan para dividir sistemas de software complicados. Al
pensar en un sistema en términos de capas, se imaginan los principales
subsistemas de software ubicados de la misma forma que las capas de un pastel,
donde cada capa descansa sobre la inferior. En este esquema la capa más alta
utiliza varios servicios definidos por la inferior, pero la ultima es inconsciente de la
superior. Además, normalmente cada capa oculta las capas inferiores de las
siguientes superiores a esta.
PATRON DE CAPAS

La programación por capas es un modelo de desarrollo software en el que el


objetivo primordial es la separación (desacoplamiento) de las partes que
componen un sistema software o también una arquitectura cliente-servidor: lógica
de negocios, capa de presentación y capa de datos. De esta forma, por ejemplo,
es sencillo y mantenible crear diferentes interfaces sobre un mismo sistema sin
requerirse cambio alguno en la capa de datos o lógica.

A continuación se describen las tres capas principales de un patrón de


arquitectura por capas:

1. Capa de Presentación: Referente a la interacción entre el usuario y el software. 


Puede ser tan simple como un menú basado en líneas de comando o tan complejo
como una aplicación basada en formas.  Su principal responsabilidad es mostrar
información al usuario, interpretar los comandos de este y realizar algunas
validaciones simples de los datos ingresados.

2. Capa de Reglas de Negocio (Empresarial): También denominada Lógica de


Dominio, esta capa contiene la funcionalidad que implementa la aplicación. 
Involucra cálculos basados en la información dada por el usuario y datos
almacenados y validaciones.  Controla la ejecución de la capa de acceso a datos y
servicios externos.  Se puede diseñar la lógica de la capa de negocios para uso
directo por parte de componentes de presentación o su encapsulamiento como
servicio y llamada a través de una interfaz de servicios que coordina la
conversación con los clientes del servicio o invoca cualquier flujo o componente de
negocio.

3. Capa de Datos: Esta capa contiene la lógica de comunicación con otros


sistemas que llevan a cabo tareas por la aplicación.  Estos pueden ser monitores
transaccionales, otras aplicaciones, sistemas de mensajerías, etc.  Para el caso de
aplicaciones empresariales, generalmente esta representado por una base de
datos, que es responsable por el almacenamiento persistente de información. 
Esta capa debe abstraer completamente a las capas superiores (negocio) del
dialecto utilizado para comunicarse con los repositorios de datos (PL/SQL,
Transact-SQL, etc.).
VENTAJAS Y DESVENTAJAS

VENTAJAS

 Separación de responsabilidades: Permite la separación de preocupaciones


(SoC), ya que cada capa tiene una sola responsabilidad.
 Fácil de desarrollar: Este estilo arquitectónico es especialmente fácil de
implementar, además de que es muy conocido y una gran mayoría de las
aplicaciones la utilizan.
 Fácil de probar: Debido a que la aplicación construida por capas, es posible
ir probando de forma individual cada capa, lo que permite probar por separada
cada capa.
 Fácil de mantener: Debido a que cada capa hace una tarea muy específica,
es fácil detectar el origen de un bug para corregirlo, o simplemente se puede
identificar donde se debe aplicar un cambio.
 Seguridad: La separación de capas permite el aislamiento de los servidores
en subredes diferentes, lo que hace más difícil realizar ataques.

DESVENTAJAS

 Performance: La comunicación por la red o internet es una de las tareas


más tardadas de un sistema, incluso, en muchas ocasiones más tardado que el
mismo procesamiento de los datos, por lo que el hecho de tener que
comunicarnos de capa en capa genera un degrado significativo en el performance.
 Escalabilidad: Las aplicaciones que implementan este patrón por lo general
tienda a ser monolíticas, lo que hace que san difíciles de escalar, aunque es
posible replicar la aplicación completa en varios nodos, lo que provoca un
escalado monolítico.
 Complejidad de despliegue: En este tipo de arquitecturas es necesarios
desplegar los componentes de abajo arriba, lo que crea una dependencia en el
despliegue, además, si la aplicación tiende a lo monolítico, un pequeño cambio
puede requerir el despliegue completo de la aplicación.
 Anclado a un Stack tecnológico: Si bien no es la regla, la realidad es que
por lo general todas las capas de la aplicación son construidas con la misma
tecnología, lo que hace amarremos la comunicación con tecnologías propietarias
de la plataforma utilizada.
 Tolerancia a los fallos: Si una capa falla, todas las capas superiores
comienzan a fallar en cascada.
EJEMPLOS

Algunos tipos comunes de aplicaciones por capas incluyen:

• Aplicaciones de línea de negocios (LOB), como contabilidad, y sistemas de


gestión de clientes.

• Aplicaciones web Corporativas y sitios Web

• Aplicaciones corporativas de escritorio o clientes inteligentes con servidores


centralizados de aplicación con lógica de negocios.
PASOS DE EJECUCION DE LA ARQUITECTURA

También podría gustarte