Abstract
Un primer objetivo de este documento es presentar una arquitectura de aplicación distribuida basada en la plataforma Java Enterprise Edition, a la que se refiere normalmente como Java EE. La arquitectura se apoya en varias herramientas de código abierto y este documento se ocupará principalmente de describir estas herramientas, comprender su papel dentro de la tecnología Java Enterprise, y presentar el diseño de aplicaciones basado en ellas. En el mundo Java EE, las herramientas de código abierto han liderado la innovación tecnológica desde el principio de la década. A lo largo de los años los programadores de este tipo de aplicaciones se han encontrado con numerosos problemas a la hora de desarrollar en esta plataforma. Como resultado de la búsqueda de soluciones y diseños repetibles que facilitasen el desarrollo, han surgido numerosas herramientas que han pasado a formar parte del movimiento de código abierto u Open Source. Estas herramientas proporcionan una infraestructura sólida para el desarrollo de aplicaciones a la vez que innovaciones tecnológicas a menudo no disponibles en productos Java EE comerciales (servidores de aplicación), tal y como Websphere (IBM) o Weblogic (Oracle). El segundo objetivo es presentar la tecnología seleccionada para desarrollar interfaces de usuario ricos para aquellas aplicaciones de Web en nuestro sistema que así lo requerían. Este tipo de tecnologías están avanzando rápidamente, de forma que hoy en día es posible crear interfaces gráficos que eran inconcebibles hace sólo unos años. El objetivo final será evaluar cual es el resultado del trabajo realizado. Se habrá de revisar cual ha sido el impacto de la nueva arquitectura y tecnologías en la base de código existente, en el equipo de desarrollo, y en los usuarios. Si los problemas que impulsaron tales cambios tecnológicos se han resuelto o las mejoras buscadas se han materializado.