¿qué es la arquitectura de tres niveles?,
la arquitectura de tres niveles es una arquitectura de aplicación de software bien establecida que organiza las aplicaciones en tres niveles de computación lógica y física: 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 principal beneficio 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 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 objetivos para la modernización, el uso de tecnologías nativas de la nube, como contenedores y microservicios, y para la migración a la nube.
los tres niveles en detalle
nivel de presentació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 propósito principal es mostrar información y recopilar información del usuario., Este nivel de 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 generalmente se desarrollan utilizando HTML, CSS y JavaScript. Las aplicaciones de escritorio se pueden escribir en una variedad de idiomas dependiendo de la plataforma.
nivel de aplicación
el nivel de aplicación, también conocido como nivel lógico o nivel medio, 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 contra otra información en el nivel de datos, utilizando la lógica de Negocio, un conjunto específico de reglas de negocio. El nivel de aplicación también puede agregar, eliminar o modificar datos en el nivel de datos.
el nivel de aplicación se desarrolla normalmente utilizando Python, Java, Perl, PHP o Ruby, y se comunica con el nivel de datos mediante llamadas a la API.
nivel de datos
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 administra la información procesada por la aplicación., Esto puede ser 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 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 aplicación. El nivel de presentación y el nivel de datos no pueden comunicarse directamente entre sí.
nivel vs. capa
en las discusiones de la arquitectura de tres niveles, la capa se usa a menudo indistintamente (y por error) para 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 una’ capa ‘ se refiere a una división funcional del software que se ejecuta en 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 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.,
beneficios de la arquitectura de tres niveles
nuevamente, 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. 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:
- Desarrollo más rápido: debido a que cada nivel puede ser desarrollado simultáneamente por diferentes equipos, una organización puede llevar la aplicación al mercado más rápido, y los programadores pueden usar los últimos y mejores lenguajes y herramientas para cada nivel.
- escalabilidad mejorada: cualquier nivel se puede escalar independientemente de los demás según sea necesario.
- confiabilidad mejorada: es menos probable que una interrupción en un nivel afecte la disponibilidad o el rendimiento de los otros niveles.,
- seguridad mejorada: debido a que el nivel de presentación y el nivel de datos no pueden comunicarse directamente, un nivel de aplicación bien diseñado puede funcionar como una especie de firewall interno, evitando inyecciones SQL y otros exploits maliciosos.
aplicación de tres niveles en desarrollo web
en desarrollo web, los niveles tienen diferentes nombres pero realizan funciones similares:
- El servidor web es el nivel de presentación y proporciona la interfaz de usuario., Esto suele ser una página web o sitio web, como un sitio de comercio electrónico donde el usuario agrega productos al carrito de compras, agrega detalles de pago o crea una cuenta. El contenido puede ser estático o dinámico, y generalmente se desarrolla utilizando HTML, CSS y Javascript .
- El servidor de aplicaciones corresponde al nivel medio, albergando la lógica de negocio utilizada para procesar las entradas del usuario. Para continuar con el ejemplo de comercio electrónico, Este es el nivel que consulta la base de datos de inventario para devolver la disponibilidad del producto o agrega detalles al perfil de un cliente., Esta capa a menudo se desarrolla usando Python, Ruby o PHP y ejecuta un framework como E Django, Rails, Symphony o ASP.NET por ejemplo.
- El servidor de base de datos es el nivel de datos o backend de una aplicación web. Se ejecuta en software de gestión de bases de datos, como MySQL, Oracle, DB2 o PostgreSQL, por ejemplo.
otras arquitecturas de varios niveles
mientras que la arquitectura de tres niveles es fácilmente la arquitectura de aplicaciones de varios niveles más ampliamente adoptada, hay otras que puede encontrar en su trabajo o su investigación.,
arquitectura de dos niveles
la arquitectura de dos niveles es la arquitectura cliente-servidor original, que consiste en un nivel de presentación y un nivel de datos; la lógica de negocio vive en el nivel de presentación, el nivel de datos o 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 de negocio a menudo es limitada. Una aplicación simple de gestión de contactos, donde los usuarios pueden ingresar y recuperar datos de contacto, es un ejemplo de una aplicación de dos niveles.,
n-tier architecture
n-tier architecture-también llamada o multi – tier architecture-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, más difícil de administrar y más costosa de ejecutar. Como resultado, la arquitectura n-tier y la arquitectura multi-tier son generalmente sinónimos para la arquitectura de tres niveles.,
arquitectura de tres niveles e IBM Cloud
IBM Cloud ofrece productos y servicios para ayudarlo a modernizar sus aplicaciones de tres niveles heredadas en su viaje a la nube.
dé el primer paso:
- ya sea que necesite asistencia con estrategias, procesos o capacidades, o desee atención de servicio completo, explore cómo IBM puede ayudarle con la modernización de aplicaciones.
- comience a usar middleware en contenedores que puede ejecutarse en cualquier Nube, Todo incluido en IBM Cloud Paks.
- migre fácilmente las cargas de trabajo existentes de VMWare a la nube pública mediante IBM Cloud for VMware Solutions.,
- planifique y ejecute sus estrategias de modernización de aplicaciones como parte de su transformación digital continua con la ayuda de los servicios de modernización de aplicaciones de IBM.
comience con una cuenta de IBM Cloud hoy mismo.