La arquitectura de tres niveles es una arquitectura de aplicaciones de software bien establecida que organiza las aplicaciones en tres niveles lógicos y físicos: el nivel de presentación, o interfaz de usuario; el nivel de aplicación, donde se procesan los datos; y el nivel de datos, donde se almacenan y gestionan los datos de la aplicación.
El principal beneficio de la arquitectura de tres niveles es que, dado que cada nivel se ejecuta en su propia infraestructura, cada nivel puede ser desarrollado simultáneamente por un equipo de desarrollo independiente. Y se puede actualizar o escalar según sea necesario sin afectar a los otros niveles.
Durante décadas, la arquitectura de tres niveles fue la arquitectura predominante para las aplicaciones cliente-servidor. Hoy en día, la mayoría de las aplicaciones de tres niveles son objeto de modernización mediante tecnologías nativas de la nube, como contenedores y microservicios, y de migración a la nube.
Boletín de investigación
Descubra la investigación emergente en IA, computación cuántica, nube híbrida y más de los expertos de IBM con el boletín mensual Future Forward. Consulte la Declaración de privacidad de IBM.
Su suscripción se entregará en inglés. En cada boletín, encontrará un enlace para darse de baja. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.
El nivel de presentación es la interfaz de usuario y la capa de comunicación de la aplicación, donde el usuario final interactúa con la aplicación. Su objetivo principal es mostrar información y recopilar información del usuario. Este nivel superior puede ejecutarse en un navegador web, como aplicación de escritorio o una interfaz gráfica de usuario (GUI), por ejemplo. Los niveles de presentación web se desarrollan mediante HTML, CSS y JavaScript. Las aplicaciones de escritorio se pueden escribir en varios idiomas dependiendo de la plataforma.
El nivel de aplicación, también conocido como nivel lógico o nivel intermedio, es el corazón de la aplicación. En este nivel, la información que se recopila en el nivel de presentación se procesa, a veces en comparación con otra información en el nivel de datos, utilizando la lógica del negocio, un conjunto específico de business rules. El nivel de aplicación también puede agregar, eliminar o modificar datos en el nivel de datos.
El nivel de aplicación suele desarrollarse mediante Python, Java, Perl, PHP o Ruby, y se comunica con el nivel de datos mediante llamadas a la API.
El nivel de datos, a veces llamado nivel de base de datos, nivel de acceso a datos o back-end, es donde se almacena y gestiona la información procesada por la aplicación. Puede tratarse de un sistema de gestión de bases de datos relacionales como PostgreSQL, MySQL, MariaDB, Oracle, Db2, Informix o Microsoft SQL Server, o de un servidor de bases de datos NoSQL como Cassandra, CouchDB o MongoDB.
En una aplicación de tres niveles, todas las comunicaciones pasan por el nivel de aplicación. El nivel de presentación y el nivel de datos no pueden comunicarse directamente entre sí.
Una vez más, el principal beneficio de la arquitectura de tres niveles es la separación lógica y física de las funcionalidades. Cada nivel puede ejecutarse en un sistema operativo y una plataforma de servidor independientes (por ejemplo, servidor web, servidor de aplicaciones, servidor de bases de datos) que se adapten mejor a sus requisitos funcionales. Y cada nivel se ejecuta en al menos un hardware de servidor dedicado o servidor virtual, por lo que los servicios de cada nivel se pueden personalizar y optimizar sin afectar a los otros niveles.
Otros beneficios (en comparación con la arquitectura de uno o dos niveles) incluyen:
En las discusiones sobre arquitectura de tres capas, a menudo se usa "capa" indistintamente, y erróneamente, para referirse a "nivel ", como en "capa de presentación" o "capa de lógica de negocio".
No son lo mismo. Una "capa" se refiere a una división funcional del software, pero un 'nivel' se refiere a una división funcional del software que se ejecuta en una infraestructura separada de las otras divisiones. La aplicación Contactos en su teléfono, por ejemplo, es una aplicación de tres capas, pero una aplicación de un solo nivel, porque todas las tres capas se ejecutan en tu teléfono.
La diferencia es importante porque las capas no pueden ofrecer los mismos beneficios que los niveles.
En el desarrollo web, los niveles tienen nombres diferentes pero realizan funciones similares:
Si bien la arquitectura de tres niveles es fácilmente la arquitectura de aplicaciones multinivel más ampliamente adoptada, hay otras que puede encontrar en su trabajo o investigación.
La arquitectura de dos niveles es la arquitectura cliente-servidor original, que consta de un nivel de presentación y un nivel de datos; la lógica de negocio reside en el nivel de presentación, en el nivel de datos o en ambos. En la arquitectura de dos niveles, el nivel de presentación y, por lo tanto, el usuario final, tiene acceso directo al nivel de datos, y la lógica de negocio suele ser limitada. Una sencilla aplicación de gestión de contactos, en la que los usuarios pueden introducir y recuperar datos de contacto, es un ejemplo de aplicación de dos niveles.
La arquitectura de nivel N, también llamada arquitectura multinivel, se refiere a cualquier arquitectura de aplicaciones con más de un nivel. Pero las aplicaciones con más de tres capas son raras porque las capas adicionales ofrecen pocos beneficios y pueden hacer que la aplicación sea más lenta, más difícil de administrar y más costosa de ejecutar. Como resultado, la arquitectura de n niveles y la arquitectura multinivel suelen ser sinónimos de arquitectura de tres niveles.
watsonx.ai permite a los equipos de desarrollo de aplicaciones integrar perfectamente la IA en sus flujos de trabajo. Desde la creación de modelos hasta su despliegue, este completo kit de herramientas da soporte a todo el ciclo de vida de la IA.
Utilice una plataforma para el desarrollo de aplicaciones de mainframe, pruebas, demostración y entrenamiento en hardware x86.
Descubra la plataforma de desarrollo de aplicaciones móviles de IBM para diseñar, crear prototipos y comercializar aplicaciones de manera rápida y sencilla.