La arquitectura de tres niveles, que separa las aplicaciones en tres niveles de informática lógica y física, es la arquitectura de software predominante para las aplicaciones de cliente-servidor tradicionales.
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 administran 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íasnativa de la nube comocontenedores ymicroservicios, además de para lamigración a la nube.
IBM Cloud Pak for Applications
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 reglas comerciales. 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 a las 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 sistemarelacional de administración de base de datos, tal comoPostgreSQL , MySQL, MariaDB, Oracle, DB2, Informix o Microsoft SQL Server, o en un ServidorNoSQL de base de datos como Cassandra,CouchDB oMongoDB .
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,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 son iguales. 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 detrescapas, pero una aplicaciónde 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.
IBM Cloud Paks
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 diferentes nombres, 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.
Arquitectura de n niveles, también llamada arquitectura de varios niveles, se refiere a alguna 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, su gestión más difícil y su ejecución más costosa. Así, la arquitectura de n niveles suele ser sinónimo para la arquitectura de tres niveles.
IBM Cloud ofrece productos y servicios que le ayudarán a modernizar sus aplicaciones de tres niveles heredadas en su proceso de cambio a la nube.
Dé el primer paso:
Empiece con una cuenta de IBM Cloud hoy mismo.
Migre hacia la nube más rápido ejecutando IBM Cloud Pak en Red Hat OpenShift: soluciones en contenedores integradas y abiertas certificadas por IBM.
IBM Cloud for VMware Solutions está diseñado para ayudarle a mover cargas de trabajo de VMware locales hacia IBM Cloud.
Modernice sus aplicaciones con la estrategia y la tecnología de nube más recientes.