Diferencia entre revisiones de «Estilo arquitectural en capas (N-Layer)»

 
(No se muestran 8 ediciones intermedias de 4 usuarios)
Línea 1: Línea 1:
'''Estilo arquitectural en capas (N-Layer) '''
+
{{Definición|nombre=Estilo arquitectural en capas|imagen=Arqencapas.jpg|tamaño=
[[Image: Arqencapas.jpg|thumb|right|398x254px|Estilo Arquitectónico en Capas]]
+
|concepto=Distribución de roles}} '''Estilo arquitectural en capas (N-Layer)''', se basa en una distribución jerárquica de los roles y las responsabilidades  para proporcionar una división efectiva de los problemas a resolver. Los roles indican el tipo y la forma de la interacción con otras capas y las responsabilidades la funcionalidad que implementan.
== Descripción ==
+
 
El estilo arquitectural en capas se basa en una distribución jerárquica de los [[roles]] y las responsabilidades  para proporcionar una división efectiva de los problemas a resolver. Los [[roles]] indican el tipo y la forma de la interacción con otras capas y las responsabilidades la funcionalidad que implementan.
+
 
 
 
== Características ==
 
== Características ==
 
*Descomposición de los servicios de forma que la mayoría de interacciones ocurre solo entre capas vecinas.
 
*Descomposición de los servicios de forma que la mayoría de interacciones ocurre solo entre capas vecinas.
Línea 16: Línea 15:
 
*Cada capa contiene la funcionalidad relacionada solo con las tareas de esa capa.
 
*Cada capa contiene la funcionalidad relacionada solo con las tareas de esa capa.
 
*Las capas inferiores no tienen dependencias de las capas superiores.
 
*Las capas inferiores no tienen dependencias de las capas superiores.
*La comunicación entre capas está basada en una abstracción que proporciona un [[bajo acoplamiento]] entre capas.
+
*La comunicación entre capas está basada en una abstracción que proporciona un bajo acoplamiento entre capas.
 
   
 
   
 
== Beneficios ==
 
== Beneficios ==
Línea 31: Línea 30:
 
*La aplicación debe soportar distintos tipos de clientes y distintos dispositivos.
 
*La aplicación debe soportar distintos tipos de clientes y distintos dispositivos.
 
*Quieres implementar reglas y procesos de negocio complejos o configurables.
 
*Quieres implementar reglas y procesos de negocio complejos o configurables.
+
 
 
 
== Fuentes ==
 
== Fuentes ==
César de la Torre Llorente. Guía de Arquitectura N-Capas orientada al Dominio con .NET 4.0.
+
De la Torre Llorente, César. Guía de Arquitectura N-Capas orientada al Dominio con .NET 4.0.
  
 
[[Category:Ciencias_informáticas]]
 
[[Category:Ciencias_informáticas]]

última versión al 10:28 8 nov 2011

Estilo arquitectural en capas
Información sobre la plantilla
Arqencapas.jpg
Concepto:Distribución de roles

Estilo arquitectural en capas (N-Layer), se basa en una distribución jerárquica de los roles y las responsabilidades para proporcionar una división efectiva de los problemas a resolver. Los roles indican el tipo y la forma de la interacción con otras capas y las responsabilidades la funcionalidad que implementan.


Características

  • Descomposición de los servicios de forma que la mayoría de interacciones ocurre solo entre capas vecinas.
  • Las capas de una aplicación pueden residir en la misma máquina o estar distribuidos entre varios equipos.
  • Los componentes de cada capa se comunican con los componentes de otras capas a través de interfaces bien conocidos.
  • Cada nivel agrega las responsabilidades y abstracciones del nivel inferior.
  • Muestra una vista completa del modelo y a la vez proporciona suficientes detalles para entender las relaciones entre capas.
  • No realiza ninguna suposición sobre los tipos de datos, métodos, propiedades y sus implementaciones.
  • Separa de forma clara la funcionalidad de cada capa.

Principios Claves

  • Cada capa contiene la funcionalidad relacionada solo con las tareas de esa capa.
  • Las capas inferiores no tienen dependencias de las capas superiores.
  • La comunicación entre capas está basada en una abstracción que proporciona un bajo acoplamiento entre capas.

Beneficios

  • Abstracción ya que los cambios se realizan a alto nivel y se puede incrementar o reducir el nivel de abstracción que se usa en cada capa del modelo.
  • Aislamiento ya que se pueden realizar actualizaciones en el interior de las capas sin que esto afecte al resto del sistema.
  • Rendimiento ya que distribuyendo las capas en distintos niveles físicos se puede mejorar la escalabilidad, la tolerancia a fallos y el rendimiento.
  • Testeabilidad ya que cada capa tiene una interfaz bien definida sobre la que realizar las pruebas y la habilidad de cambiar entre diferentes implementaciones de una capa.
  • Independencia ya que elimina la necesidad de considerar el hardware y el despliegue así como las dependencias con interfaces externas.

Cuando usarlo

  • Ya tienes construidas capas de una aplicación anterior, que pueden reutilizarse o integrarse.
  • Ya tienes aplicaciones que exponen su lógica de negocio a través de interfaces de servicios.
  • La aplicación es compleja y el alto nivel de diseño requiere la separación para que los distintos equipos puedan concentrarse en distintas áreas de funcionalidad.
  • La aplicación debe soportar distintos tipos de clientes y distintos dispositivos.
  • Quieres implementar reglas y procesos de negocio complejos o configurables.

Fuentes

De la Torre Llorente, César. Guía de Arquitectura N-Capas orientada al Dominio con .NET 4.0.