Capa arquitectónica (en desarrollo corporativo). Concepto, definición, presentación

Hoy en día, es difícil encontrar una definición breve y clara de conceptos como "capa de aplicación" y "capa de abstracción". Esto implica diferencias en la comprensión de lo mismo o un malentendido de este concepto entre los desarrolladores. Y los malentendidos conducen a desacuerdos.



El propósito de este artículo es trabajar juntos para crear certeza, crear una visión común para todos y llegar a una definición breve, clara y práctica de la capa arquitectónica en el campo de las aplicaciones empresariales. Puede discutir y complementar todo lo que se da en el artículo en los comentarios, y actualizo el material en el artículo de acuerdo con los comentarios.



Dividir la arquitectura de una aplicación empresarial en capas permite
  • - , ,
  • ,
  • , ,


, .





¿Cuál es la confusión actual cuando se trata de arquitectura en capas?
  • , 3: , -, —
  • , , , , ,
  • (layer), (tier), . , ,


« » « » « ».





Una capa arquitectónica (aplicación corporativa) es un conjunto determinado (limitado por propósito, cerrado) de recursos (herramientas para trabajar con recursos, partes, componentes), con la ayuda de los cuales se implementa un conjunto (limitado por criterios) de tareas aplicadas características de una capa determinada. La capa superior implementa sus componentes (recursos) en función de los recursos de la capa inferior. Los recursos de una capa determinada son compatibles entre sí y se utilizan solo dentro de esa capa (idealmente). La capa superior puede crear sus propios recursos utilizando los recursos de varias capas. Puede relacionarse con un sistema abstracto e idealizado que existe en forma de esquemas, o está más relacionado con la implementación; esto determina los componentes de la capa.



Componentes de la capa:



  • si la capa está relacionada con la implementación: clases, objetos, contexto, servicios, controladores, proxies, ensamblados ...
  • si la capa es de abstracción: modelos de datos (idealizados), acciones ...


¿Cuál es la capa arquitectónica caracterizada por:



  • propósito aplicado, específico, lógico, define una variedad de tareas que se pueden atribuir a una determinada capa
  • un cierto conjunto de tareas implementadas en una capa determinada
  • recursos y herramientas con las que se implementan las tareas: datos, objetos y acciones que se pueden realizar sobre datos y objetos
  • los datos y la lógica dentro de una cierta capa son consistentes dentro de sí mismos
  • La consistencia determina la previsibilidad y la predeterminación en la interacción de los recursos de una determinada capa, en otras palabras, los detalles de los que se forma la capa son compatibles entre sí.
  • una capa separada puede percibirse como un todo único autosuficiente
  • la dependencia entre capas se puede minimizar
  • la capa creada puede ser la base de varias capas principales diferentes
  • al pasar de una capa a otra, las entidades modeladas generalmente se transforman de una representación a otra


Brevemente sobre el orden de diseño de capas arquitectónicas:



  1. Todos los requisitos comerciales se destacan y estructuran en categorías.
  2. Los requisitos se desglosan en tareas que debe resolver la aplicación.
  3. Las tareas se clasifican y agrupan en función de la similitud de su propósito temático.
  4. En base a estas categorías, se destaca el propósito general de la capa arquitectónica, en la que se resolverán las tareas.
  5. La resolución de problemas se puede considerar como un algoritmo o proceso que ofrece el resultado deseado. De todas las tareas, se distinguen los componentes comunes (detalles), a partir de los cuales se implementan. (modelos y acciones sobre ellos). Habrá un artículo adicional sobre cómo se hace esto.
  6. En función de los componentes seleccionados, las clases de la capa correspondiente se implementan y, como regla, se combinan en un ensamblaje separado.




Ejemplos de
1.



ISO/OSI



2.



,



  • : , ,
  • (, , )


image



3.







1 — , , , ,

2 — , — , …

3 — , , — : , ,



() , (, , ) (, ).



, . 3 (, , ), . , , , .




All Articles