Arquitectura en capas

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 16 de mayo de 2021; las comprobaciones requieren 2 ediciones .

En ingeniería de software, una arquitectura en capas  es una arquitectura cliente-servidor que separa las funciones de presentación, procesamiento y almacenamiento de datos. El tipo más común de arquitectura en capas es la arquitectura de tres niveles .

La arquitectura de aplicaciones de N niveles proporciona un modelo mediante el cual los desarrolladores pueden crear aplicaciones flexibles y reutilizables . Al dividir la aplicación en capas de abstracción , los desarrolladores obtienen la capacidad de realizar cambios en una capa específica, en lugar de volver a trabajar en toda la aplicación. Una arquitectura de tres niveles generalmente consta de una capa de presentación , una capa de lógica empresarial y una capa de almacenamiento de datos .

Aunque los conceptos de capa y nivel a menudo se usan indistintamente, muchos están de acuerdo en que todavía hay una diferencia entre ellos. La diferencia es que una capa  es un mecanismo para estructurar lógicamente los componentes que componen una solución de software, mientras que una capa  es un mecanismo para estructurar físicamente la infraestructura de un sistema. [1] [2] Una solución de tres capas se puede implementar fácilmente en una sola capa, como una estación de trabajo personal . [una]

Capas

El  patrón arquitectónico "Layers" ayuda a estructurar aplicaciones por descomposición en grupos de subtareas ubicadas en ciertos niveles de abstracción [3] .

Capas comunes

En las arquitecturas de sistemas de información con capas lógicas, las siguientes cuatro capas se encuentran con mayor frecuencia:

El libro Diseño orientado al dominio (DDD) describe algunos usos comunes de estas cuatro capas, aunque el enfoque se desplaza hacia la capa de dominio. [ocho]

Algunos también distinguen entre la(s) capa(s) de lógica de negocios y la(s) capa(s) de infraestructura como una capa de infraestructura de negocios (BI) separada. Esta capa a veces se denomina "capa de lógica empresarial de bajo nivel" o "capa de servicios empresariales". Esta capa es muy general y se puede utilizar en varias capas de una aplicación (como el convertidor de divisas). [9]

La capa de infraestructura se puede subdividir en niveles: servicios técnicos de alto y bajo nivel. [9] Los desarrolladores a menudo se enfocan en las capacidades de acceso a datos de la capa de infraestructura y, por lo tanto, solo se refieren a ella en una conversación como una capa de acceso a datos (en lugar de la "capa de infraestructura" o "capa de servicio técnico" más general). En otras palabras, otros tipos de servicios técnicos no siempre se consideran parte de una capa en particular.

Cada capa depende solo de la capa subyacente y puede existir sin las capas superiores. Otro punto de vista común es que las capas no siempre dependen estrictamente de la capa inmediatamente debajo de ellas. Por ejemplo, en un sistema de capas relajado , una  capa puede depender de todas las capas debajo de ella. [3]

Véase también

Fuentes

  1. 1 2 Patrones de implementación (arquitectura empresarial, patrones y prácticas de Microsoft) Archivado el 4 de noviembre de 2018 en Wayback Machine . 
  2. ^ Martin Fowler "La arquitectura de las aplicaciones de software empresarial" (2002). AddisonWesley. (Inglés)
  3. 1 2 Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael (1996-1908). Arquitectura de software orientada a patrones, volumen 1, un sistema de patrones. Wiley, agosto de 1996. ISBN 978-0-471-95869-7 . Obtenido de http://www.wiley.com/WileyCDA/WileyTitle/productCd-0471958697.html Archivado el 29 de noviembre de 2017 en Wayback Machine . (Inglés) . Capitulo 2.
  4. Capa de servicio de Martin Fowler Archivado el 18 de noviembre de 2018 en Wayback Machine . 
  5. Referencia "Patrones de diseño" Nivel de servicio . Consultado el 1 de octubre de 2018. Archivado desde el original el 7 de octubre de 2018.
  6. Martin Fowler explica que la capa de servicio es la misma capa que la capa de aplicación . Archivado el 2 de septiembre de 2018 en Wayback Machine . 
  7. Comparación y discusión del controlador GRASP y la capa de aplicación/  capa de servicio
  8. Diseño impulsado por el dominio, el libro, págs. 68-74. Obtenido de http://dddcommunity.org/book/evans_2003/ . (ing.) Archivado el 13 de mayo de 2019 en Wayback Machine .
  9. 1 2 Aplicación de UML 2.0 y patrones de diseño , 3.ª edición , página 203 Archivado el 29 de septiembre de 2018 en Wayback Machine ISBN 0-13-148906-2 

Enlaces

arquitectura en capas
Descrito en Patrones de diseño No