¿Cuál es un ejemplo de ‘aplicación de arquitectura de 3 niveles en Java’? ¿Podrían marcos como Spring ayudarme a entender esta forma de programación?

Consideremos el ejemplo de Facebook para la arquitectura de 3 niveles.

  1. Capa de presentación: la interfaz de usuario de Facebook es la presentación posterior. Puede ver diferentes IU en su computadora portátil y una diferente en su teléfono celular. Pero detrás de escena puedes usar estas IU para hacer el mismo trabajo en Facebook. Por ejemplo, un me gusta de la versión portátil de Facebook es igual que un me gusta de la versión del teléfono celular.
  2. Capa de lógica empresarial: la lógica empresarial central de una aplicación debe implementarse en esta capa. En el ejemplo de Facebook, los me gusta de diferentes usuarios y fuentes se agregan para una historia. Puedes ver la suma total de Me gusta en cualquier momento. Esta capa controla qué mostrar y qué almacenar en la capa de datos.
  3. Capa de datos: cualquier dato que necesite persistencia se almacena en la Capa de datos. En Facebook, el número total de Me gusta y recursos compartidos se almacena en DB. Puede ser db relacional o sistema de archivos o Nosql db, etc.

Por lo tanto, podemos dividir casi cualquier negocio en una arquitectura de tres niveles.

En Spring tenemos el concepto de MVC, es decir, modelo, vista, controlador que ayuda a implementar la misma arquitectura de 3 capas.

Para obtener más información sobre Spring y la arquitectura de software, sígueme en Gautam Gupta.

Ambos son patrones de arquitectura.

MVC consta de modelo, vista, controlador. El modelo no es solo datos, son datos y métodos que cambian estos datos. No contiene información sobre cómo presentar estos datos: para esto se usa la vista. La vista generalmente solicita datos del Modelo, pero el Modelo también puede obligar a la Vista a representar datos (por ejemplo, en caso de cambiarlos desde afuera). El controlador es un componente que valida la entrada del usuario y llama al método del modelo para cambiar los datos. El controlador no debe actualizar los datos directamente (o se convertirán en controladores feos, estúpidos y gordos (c)).

La arquitectura de 3 niveles consiste en Presentación, Lógica, Datos. Estos niveles generalmente se asocian más con el servidor de bases de datos, el servidor de aplicaciones y el navegador. Si establece un paralelismo entre estos dos patrones, puede suponer que Presentación es una Vista, Lógica es un Controlador y Modelo (objetos de acceso a datos), Datos es Modelo (datos).

Ambos son patrones de diseño, por lo que no están relacionados con un lenguaje de programación específico. Los marcos como Spring MVC simplemente lo ayudan a escribir aplicaciones en estilo MVC y desplegarlas como arquitectura de 3 niveles.

Puede obtener una comprensión muy básica de la arquitectura de tres niveles en términos simples desde el siguiente enlace:

ARQUITECTURA DE TRES NIVELES: EL PRINCIPIO – CoffeeTechAndMe – Medium

Ahora responde a tu segunda pregunta:

¿Podrían los frameworks como Spring ayudarme a entender esta forma de programación?

Spring framework o cualquier otro marco web, por ejemplo. Django en python, ayudará a construir una aplicación web que reside principalmente en la capa de aplicación de la arquitectura de 3 niveles.

Espero que esta breve respuesta resuelva lo que quieres entender.

Tres niveles generalmente se refiere a:

  1. Equilibrio de carga y nivel de contenido web estático (F5, Apache, Sun iPlanet, Oracle Traffic Director, nginx, Microsoft IIS, etc.)
  2. Nivel del servidor de aplicaciones (Oracle WebLogic, IBM WebSphere, JBoss, Glassfish, etc.)
  3. Nivel de base de datos

¿Qué es una arquitectura de tres niveles?

Se trata de cualquier sistema que imponga una separación normal entre las siguientes categorías:

  1. Nivel de usuario
  2. Nivel comercial o de nivel medio
  3. Nivel de almacenamiento de datos

Arquitectura de tres niveles y Java:

Hay más divisiones para el código del programa en el servidor de aplicaciones. El servidor de aplicaciones se asemeja a la arquitectura general del sistema. En un sistema JSP típico, estas categorías se pueden mostrar como:

  1. Páginas que se usan para hacer interfaces de usuario HTML
  2. Códigos de programa que se usan para hacer lógica de negocios
  3. Programa los códigos utilizados para acceder a los datos.

Ejemplo práctico

El sistema EJB es un ejemplo de la vida real para la pregunta. En este caso, los tres niveles lógicos generalmente se muestran como aplicaciones de cliente Java responsables de la interfaz de usuario.

Para más información sobre Enterprise y Web Architecture :

Símbolos de arquitectura empresarial

Marco de arquitectura empresarial y beneficios de software

7 ejemplos prácticos de arquitectura empresarial

Los programas Javafx se implementan utilizando la arquitectura MVC. Para comprender MVC, estudie los códigos de muestra que vienen con su instalación predeterminada de Javafx. También puede leer los tutoriales de Javafx en el sitio de Sun Microsystems para obtener una mejor comprensión del concepto.

Tres niveles

1- Front End

2. Capa intermedia (la lógica del lado del servidor permanece aquí)

3. DB: sus datos están aquí.

A mi entender, esta es una arquitectura de tres capas.