La arquitectura de tres capas es una arquitectura de aplicaciones de software bien establecida que organiza las aplicaciones en tres capas lógicas y físicas: la capa de presentación, o interfaz de usuario; la capa de aplicación, donde se procesan los datos; y la capa 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 puede actualizarse o escalarse según sea necesario sin afectar a los otros niveles.
Durante décadas, la arquitectura de tres niveles fue la predominante en las aplicaciones cliente-servidor. Hoy en día, la mayoría de las aplicaciones de tres niveles son objetivos de modernización que utilizan 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, cuántica, nube híbrida y mucho más de la mano de los expertos de IBM con el boletín mensual Future Forward. Consulte la Declaración de privacidad de IBM.
Su suscripción se enviará en inglés. Encontrará un enlace para darse de baja en cada boletín. 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 en una interfaz gráfica de usuario (GUI), por ejemplo. Los niveles de presentación web se desarrollan utilizando HTML, CSS y JavaScript. Las aplicaciones de escritorio se pueden escribir en varios idiomas según 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 recopilada en el nivel de presentación se procesa, a veces frente a otra información del nivel de datos, utilizando lógica de negocio, un conjunto específico de reglas empresariales. 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 utilizando 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 en un servidor de bases de datos NoSQL como Cassandra, CouchDB o MongoDB.
En una aplicación de tres niveles, toda la comunicación pasa por el nivel de aplicación. Los niveles de presentación y datos no se pueden comunicar directamente entre sí.
Una vez más, el principal beneficio de la arquitectura de tres niveles es su separación lógica y física de la funcionalidad. 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 mejor se adapten 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 demás niveles.
Otros beneficios (en comparación con la arquitectura de un nivel o dos niveles) incluyen:
En los debates 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 demás divisiones. La aplicación Contactos en su teléfono, por ejemplo, es una aplicación de tres capas, pero de un solo nivel, porque las tres capas se ejecutan en su 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:
Aunque la arquitectura de tres niveles es sin duda la arquitectura de aplicaciones multinivel más ampliamente adoptada, existen otras con las que puede encontrarse en su trabajo o en sus investigaciones.
La arquitectura de dos capas es la arquitectura cliente-servidor original, que consta de una capa de presentación y una capa de datos; la lógica de negocio reside en la capa de presentación, en la capa de datos o en ambas. En la arquitectura de dos niveles, el nivel de presentación, y, por tanto, el usuario final, tiene acceso directo al nivel de datos, y la lógica empresarial suele estar 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 N niveles, también denominada 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.
Un servicio totalmente gestionado y de inquilino único para desarrollar y entregar aplicaciones Java.
Utilice el software y las herramientas de DevOps para crear, implementar y gestionar aplicaciones nativas de la nube en varios dispositivos y entornos.
El desarrollo de aplicaciones en la nube significa crear una vez, iterar rápidamente e implementar en cualquier lugar.