Arquitectura Tecnológica de Referencia

LIBP-0005 (Libro de pautas)

MADEJA recomienda el uso del modelo arquitectónico basado en capas, para conseguir la independencia y robustez de cada una de ellas centrándose en sus objetivos específicos. Esta arquitectura debe seguir al menos el patrón MVC y seguir alguna de las soluciones tecnológicas que se exponen en los puntos siguientes.

Pautas

TítuloCarácter
Modelo de arquitectura en capasRecomendada
Uso de tecnologías por capaRecomendada
Implementaciones y extensiones de componentes JSF recomendadosRecomendada

Modelo de arquitectura en capas

MADEJA recomienda el uso del modelo arquitectónico basado en capas, para conseguir la independencia y robustez de cada una de ellas centrándose en sus objetivos específicos.

Uso de tecnologías por capa

Para proyectos nuevos MADEJA hace una recomendación en en función de distintos criterios. Para sistemas ya desarrollados con tecnologías anteriores como JSP, Servlets o JDBC, u otras tecnologías no recomendadas por MADEJA, por ejemplo Struts2, la inclusión de nuevas tecnologías no es siempre viable, y bajo estas circunstancias puede ser recomendable seguir con las tecnologías actuales del proyecto.

Las soluciones recomendadas para proyectos nuevos son:

TamañoComplejidad

Concurrencia Usuarios

Aplicaciones Internas

Aplicaciones Externas

Sistemas Distribuidos

Arquitecturas_Recomendadas
BajaBajaBaja-MediaSi es interna, configuración de seguridad ligeraSi es externa, configuración de seguridad robustaNOJSF-JPA
Baja-MediaBaja-MediaMedia-AltaSi es interna, configuración de seguridad ligeraSi es externa, configuración de seguridad robustaNOJSF-SEAM-JPA o JSF-SPRING-JPA(*)
Media-AltaMedia-AltaMedia-AltaSi es interna, configuración de seguridad ligeraSi es externa, configuración de seguridad robustaNOJSF-SEAM-EJB3-JPA
Baja-Media-AltaBaja-Media-AltaBaja-Media-AltaSi es interna, configuración de seguridad ligeraSi es externa, configuración de seguridad robustaSIJSF-SEAM-EJB3-JPA(*)

(*)Actualmente MADEJA sigue teniendo esta combinación de tecnologías entre sus recomendaciones, pero en segundo lugar, por detrás del uso de Seam.

Existen ya una serie de arquetipos desarrollados para facilitar el uso de estas tecnologías:

Implementaciones y extensiones de componentes JSF recomendados

MADEJA recomienda en uso del proyecto Mojarra como implementación de JSF y RichFaces como librería de componentes adicionales.

Esta recomendación se hace en base a la comparativa realizada recientemente sobre varias implementaciones y librerías de componentes adicionales JSF. Pueden verse los resultados de esta comparativa en el siguiente enlace. La comparativa ha sido realizada sobre la especificación de jsf 1.2, pero en breve se irán añadiendo a MADEJA pautas y recursos sobre la nueva especificación de JSF 2.0.