Tema 1: Arquitectura de aplicaciones J2EE

1.1. Modelo de capas

La mayor parte de aplicaciones J2EE utilizan una arquitectura dividida en capas (tiers). Cada capa asume responsabilidades distintas, estando separada de las demás desde el punto de vista lógico. En general, una aplicación J2EE estará constituida por las siguientes capas:

1.1. Patrones J2EE

En el proceso de desarrollo de muchas aplicaciones J2EE es necesario solucionar una y otra vez los mismos problemas: autentificación del cliente, persistencia de datos, separación entre presentación, lógica y control,... En lugar de reinventar continuamente la rueda, para el desarrollador es mucho más productivo aplicar patrones software.

En ingeniería del software, un patrón (pattern) es una solución ya probada y aplicable a un problema que se presenta una y otra vez en el desarrollo de distintas aplicaciones y en distintos contextos. Los patrones J2EE están orientados específicamente a los problemas comunes a todas las aplicaciones J2EE. Es importante destacar que un patrón no es en general una solución que proporcione en forma de código directamente "listo para usar", sino más bien una descripción de cómo resolver el problema y de ante qué circunstancias es aplicable.

Los patrones software tienen su origen en el libro Design Patterns: Elements of Reusable Object-Oriented Software, que trata de patrones genéricos, aplicables a una amplia gama de contextos y a cualquier lenguaje orientado a objetos. En el caso de los patrones J2EE, los primeros fueron definidos en el Sun Java Center y publicados en el libro Core J2EE Patterns. También están accesibles en el sitio web de Java. Además, hay otros sitios que mantienen catálogos de patrones J2EE, por ejemplo "The Server Side".

Normalmente, los patrones J2EE se dividen por capas, correspondiéndose con la arquitectura típica de un sistema J2EE. La siguiente figura muestra los patrones definidos en Sun, y la relación existente entre ellos.