¿Qué es la programación N capas?

Inicio » ¿Qué es la programación N capas?

Capa de persistencia en la arquitectura de software

Las capas están físicamente separadas y se ejecutan en máquinas distintas. Una capa puede llamar a otra directamente, o utilizar mensajería asíncrona (cola de mensajes). Aunque cada capa puede estar alojada en su propia capa, esto no es necesario. Varias capas pueden estar alojadas en la misma capa. Separar físicamente los niveles mejora la escalabilidad y la resistencia, pero también añade latencia por la comunicación de red adicional.

Una aplicación tradicional de tres niveles tiene un nivel de presentación, un nivel intermedio y un nivel de base de datos. El nivel intermedio es opcional. Las aplicaciones más complejas pueden tener más de tres niveles. El diagrama anterior muestra una aplicación con dos niveles intermedios, que encapsulan diferentes áreas de funcionalidad.

Las arquitecturas de N niveles suelen implementarse como aplicaciones de infraestructura como servicio (IaaS), con cada nivel ejecutándose en un conjunto separado de máquinas virtuales. Sin embargo, una aplicación N-tier no tiene por qué ser puramente IaaS. A menudo, es ventajoso utilizar servicios gestionados para algunas partes de la arquitectura, especialmente el almacenamiento en caché, la mensajería y el almacenamiento de datos.

Arquitectura de N 1 niveles

Las aplicaciones de datos de N niveles son aplicaciones que acceden a los datos y están separadas en múltiples capas lógicas, o niveles. La separación de los componentes de la aplicación en niveles discretos aumenta la capacidad de mantenimiento y la escalabilidad de la aplicación. Para ello, facilita la adopción de nuevas tecnologías que pueden aplicarse a un solo nivel sin necesidad de rediseñar toda la solución. La arquitectura de n-capas incluye una capa de presentación, una capa intermedia y una capa de datos. El nivel intermedio suele incluir una capa de acceso a los datos, una capa de lógica empresarial y componentes compartidos como la autenticación y la validación. El nivel de datos incluye una base de datos relacional. Las aplicaciones N-tier suelen almacenar información sensible en la capa de acceso a datos de la capa intermedia para mantener el aislamiento de los usuarios finales que acceden a la capa de presentación. Para obtener más información, consulte la descripción general de las aplicaciones de datos de N niveles.

Una forma de separar los distintos niveles en una aplicación de n niveles es crear proyectos discretos para cada nivel que se desee incluir en la aplicación. Los conjuntos de datos tipificados contienen una propiedad DataSet Project que determina en qué proyectos debe ir el conjunto de datos generado y el código TableAdapter.

Arquitectura de 2 niveles frente a 3 niveles

La arquitectura de N niveles también se denomina arquitectura multinivel porque el software está diseñado para que las funciones de procesamiento, gestión de datos y presentación estén separadas física y lógicamente.    Esto significa que estas diferentes funciones se alojan en varias máquinas o clústeres, lo que garantiza que los servicios se prestan sin compartir recursos y, por tanto, estos servicios se prestan a la máxima capacidad.    La “N” en el nombre de la arquitectura de n niveles se refiere a cualquier número a partir del 1.

El software no sólo se beneficia de la posibilidad de obtener servicios al mejor ritmo posible, sino que también es más fácil de gestionar.    Esto se debe a que cuando se trabaja en una sección, los cambios que se realizan no afectan a las demás funciones.    Y si hay un problema, se puede localizar fácilmente dónde se origina.

La ubicación física separada de estos niveles es lo que diferencia a la arquitectura de n niveles del marco de trabajo modelo-vista-controlador que sólo separa los niveles de presentación, lógica y datos en concepto.    La arquitectura de n-capas también se diferencia del marco MVC en que la primera tiene una capa intermedia o capa lógica, que facilita todas las comunicaciones entre las diferentes capas.    Cuando se utiliza el marco MVC, la interacción que se produce es triangular; en lugar de pasar por la capa lógica, es la capa de control la que accede a las capas de modelo y vista, mientras que la capa de modelo accede a la capa de vista.    Además, la capa de control crea un modelo utilizando los requisitos y luego empuja ese modelo a la capa de vista.

Arquitectura de dos niveles

La arquitectura de dos niveles también se denomina arquitectura multinivel porque el software está diseñado para que las funciones de procesamiento, gestión de datos y presentación estén separadas física y lógicamente.    Esto significa que estas diferentes funciones se alojan en varias máquinas o clusters, lo que garantiza que los servicios se prestan sin compartir recursos y, por lo tanto, estos servicios se prestan a la máxima capacidad.    La “N” en el nombre de la arquitectura de n niveles se refiere a cualquier número a partir del 1.

El software no sólo se beneficia de poder obtener servicios al mejor ritmo posible, sino que también es más fácil de gestionar.    Esto se debe a que cuando se trabaja en una sección, los cambios que se realizan no afectan a las demás funciones.    Y si hay un problema, se puede localizar fácilmente dónde se origina.

La ubicación física separada de estos niveles es lo que diferencia a la arquitectura de n niveles del marco de trabajo modelo-vista-controlador que sólo separa los niveles de presentación, lógica y datos en concepto.    La arquitectura de n-capas también se diferencia del marco MVC en que la primera tiene una capa intermedia o capa lógica, que facilita todas las comunicaciones entre las diferentes capas.    Cuando se utiliza el marco MVC, la interacción que se produce es triangular; en lugar de pasar por la capa lógica, es la capa de control la que accede a las capas de modelo y vista, mientras que la capa de modelo accede a la capa de vista.    Además, la capa de control crea un modelo utilizando los requisitos y luego empuja ese modelo a la capa de vista.

Ir arriba