Arquitectura Tecnológica de Referencia
- Área: Arquitectura Tecnológica
- Tipo de pauta: Directriz
- Carácter de la pauta: Recomendada
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ítulo | Carácter |
---|---|
Modelo de arquitectura en capas | Recomendada |
Uso de tecnologías por capa | Recomendada |
Implementaciones y extensiones de componentes JSF recomendados |
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ño | Complejidad | Concurrencia Usuarios | Aplicaciones Internas | Aplicaciones Externas | Sistemas Distribuidos | Arquitecturas_Recomendadas |
---|---|---|---|---|---|---|
Baja | Baja | Baja-Media | Si es interna, configuración de seguridad ligera | Si es externa, configuración de seguridad robusta | NO | JSF-JPA |
Baja-Media | Baja-Media | Media-Alta | Si es interna, configuración de seguridad ligera | Si es externa, configuración de seguridad robusta | NO | JSF-SEAM-JPA o JSF-SPRING-JPA(*) |
Media-Alta | Media-Alta | Media-Alta | Si es interna, configuración de seguridad ligera | Si es externa, configuración de seguridad robusta | NO | JSF-SEAM-EJB3-JPA |
Baja-Media-Alta | Baja-Media-Alta | Baja-Media-Alta | Si es interna, configuración de seguridad ligera | Si es externa, configuración de seguridad robusta | SI | JSF-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:
- Arquetipo JSF con Richfaces. Es un arquetipo donde se explica el uso de distintos componentes richfaces en la interfaz de usuario, sin lógica de negocio ni persistencia.
- Arquetipo on JSF y Spring
- Arquetipo con JSF y Seam
- Arquetipo con JSF, Seam y EJB3
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.