La arquitectura de tres niveles es una arquitectura de aplicación de software bien establecida, que organiza las aplicaciones en tres niveles informáticos 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 asociados con la aplicación.
El beneficio principal de la arquitectura de tres niveles es que debido a que cada nivel se ejecuta en su propia infraestructura, cada nivel puede ser desarrollado simultáneamente por un equipo de desarrolladores distinto y se puede actualizar o escalar según sea necesario sin que afecte a los demás niveles.
Durante décadas, la arquitectura de tres niveles fue la arquitectura predominante para las aplicaciones de cliente-servidor. Hoy en día, la mayoría de las aplicaciones de tres niveles son objetivos para la modernización, utilizando tecnologías nativa de la nube como contenedores y microservicios, además de para la migración a la nube.
El nivel de presentación es la interfaz de usuario y de comunicación de la aplicación, donde el usuario final interactúa con la aplicación. Su objetivo principal es mostrar información al usuario y recopilar datos de este. Este primer nivel se puede ejecutar en un navegador web como una aplicación de desktop o una interfaz gráfica de usuario (GUI). Los niveles de presentación web se suelen desarrollar utilizando HTML, CSS y JavaScript. Las aplicaciones de desktop se pueden escribir en una variedad de lenguajes, dependiendo de la plataforma.
El nivel de aplicación, también conocido como el nivel lógico o medio, es el núcleo de la aplicación. En este nivel, la información recopilada en el nivel de presentación se procesa, a veces contra otra información en el nivel de datos, utilizando la lógica empresarial, un conjunto específico de normas empresariales. El nivel de aplicación también puede añadir, suprimir o modificar datos en el nivel de datos.
El nivel de aplicación normalmente se desarrolla utilizando Python, Java, Perl, PHP o Ruby, y se comunica con el nivel de datos mediante llamadas API.
El nivel de datos, a veces denominado nivel de base de datos, nivel de acceso a datos o backend, es donde se almacena y gestiona la información procesada por la aplicación. Este puede ser un sistema relacional de gestión de base de datos, tal como PostgreSQL, MySQL, MariaDB, Oracle, DB2, Informix o Microsoft SQL Server, o en un servidor de base de datos NoSQL como Cassandra, CouchDB o MongoDB.
En una aplicación de tres niveles, toda la comunicación pasa por el nivel de la aplicación. Los niveles de presentación y de datos no pueden comunicarse directamente entre sí.
En discusiones sobre arquitectura de tres niveles, la capa a menudo se usa indistintamente, y de manera errónea para referirse a nivel, como en "capa de presentación" o "capa de lógica empresarial".
No significan 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 de su teléfono, por ejemplo, es una aplicación de tres capas, pero una aplicación 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.
Como se mencionó anteriormente, 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 base de datos) que mejor se adapte a sus requisitos funcionales. Además, cada nivel se ejecuta en al menos un hardware de servidor o un servidor virtual dedicado, por lo que los servicios de cada nivel pueden personalizarse y optimizarse sin afectar los demás niveles.
Otros beneficios, en comparación con la arquitectura de uno o dos niveles, incluyen:
En el desarrollo web, los niveles tienen nombres distintos 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 de cliente-servidor original que consta de un nivel de presentación y un nivel de datos. La lógica empresarial 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, en consecuencia, el usuario final, tiene acceso directo al nivel de datos y la lógica empresarial suele ser limitada. Un ejemplo de aplicación de dos niveles es una sencilla aplicación de gestión de contactos, en la que los usuarios pueden entrar y recuperar datos de sus contactos.
La arquitectura de n niveles, también llamada arquitectura de varios niveles, se refiere a cualquier arquitectura de aplicación 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, su gestión más difícil y su ejecución más costosa. Así, la arquitectura multinivel suele ser sinónimo para la arquitectura de tres niveles.
Migre hacia la nube más rápido con las soluciones IBM® Cloud Pak que se ejecutan en el software Red Hat OpenShift: soluciones integradas, abiertas y en contenedores certificadas por IBM.
Modernice de forma continua sus cargas de trabajo y aplicaciones de VMware con IBM® Cloud.
Modernice, cree nuevas aplicaciones, reduzca costos y maximice el retorno de inversión.
Descubra qué es la modernización de aplicaciones, sus beneficios y retos comunes y cómo empezar a usarla.
Conozca cómo funcionan las bases de datos relacionales y cómo se comparan con otras opciones de almacenamiento de datos.
Explore las aplicaciones nativas en la nube y cómo impulsan la innovación y aumentan la velocidad dentro de su empresa.