Arquitectura de tres niveles

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 22 de octubre de 2021; las comprobaciones requieren 8 ediciones .

La arquitectura de tres niveles ( arquitectura de tres niveles , ing.  de tres niveles ) es un modelo arquitectónico de un complejo de software que asume la presencia de tres tipos de componentes (niveles, enlaces): aplicaciones cliente (con las que trabajan los usuarios ), servidores de aplicaciones (con los que funcionan las aplicaciones cliente) y servidores de bases de datos (con los que funcionan los servidores de aplicaciones) [1] .

Componentes

El cliente  ( capa de cliente ) es un componente del complejo (generalmente gráfico ) proporcionado al usuario final. Este nivel no debe tener conexiones directas con la base de datos (por requisitos de seguridad y escalabilidad), estar cargado con la lógica de negocio principal (por requisitos de escalabilidad ) y almacenar el estado de la aplicación (por requisitos de confiabilidad ). Solo la lógica comercial más simple generalmente se lleva a este nivel: interfaz de autorización , algoritmos de cifrado , verificación de valores de entrada para verificar la validez y el cumplimiento del formato, operaciones simples con datos (clasificación, agrupación, conteo de valores) ya cargados en la terminal.

El servidor de aplicaciones ( capa intermedia , middle layer ) se ubica en el segundo nivel, en él se concentra la mayor parte de la lógica de negocios. Sólo quedan fuera de ella los fragmentos que se exportan al cliente (terminales), así como los elementos lógicos inmersos en la base de datos (procedimientos almacenados y disparadores). La implementación de este componente la proporciona el middleware . Los servidores de aplicaciones están diseñados de tal manera que agregarles instancias adicionales garantiza la escalabilidad horizontal del rendimiento del paquete de software y no requiere cambios en el código de la aplicación.

El servidor de la base de datos ( capa de datos ) proporciona almacenamiento de datos y se coloca en un nivel separado, implementado, por regla general, por medio de sistemas de administración de bases de datos , la conexión a este componente se proporciona solo desde el nivel del servidor de aplicaciones.

En las configuraciones más simples, todos los componentes o algunos de ellos se pueden combinar en un nodo informático. En configuraciones productivas, por regla general, se utiliza un nodo informático dedicado para el servidor de base de datos o un grupo de servidores de base de datos; para los servidores de aplicaciones, un grupo dedicado de nodos informáticos a los que se conectan directamente los clientes (terminales).

Comparación

En comparación con una arquitectura cliente-servidor de dos niveles o una arquitectura de servidor de archivos , una arquitectura de tres niveles, por regla general, proporciona mayor escalabilidad (debido a la escalabilidad horizontal del servidor de aplicaciones y multiplexación de conexiones), mayor capacidad de configuración (debido a el aislamiento de los niveles entre sí). La implementación de aplicaciones accesibles desde un navegador web o desde un cliente ligero , por regla general, implica el despliegue de un paquete de software en una arquitectura de tres niveles. Al mismo tiempo, el desarrollo de sistemas de software de tres niveles suele ser más difícil que el de los de dos niveles, y la presencia de middleware adicional puede imponer costos adicionales en la administración de dichos complejos.

Notas

  1. Martín Fowler. Arquitectura de Aplicaciones de Software Empresarial . - M. : Williams, 2006. - S. 46. - 544 p. — ISBN 5-8459-0579-6 . Archivado el 10 de febrero de 2022 en Wayback Machine .