Liferay Faces permite desarrollar portlets JSF para Liferay. JSF es un framework estándar para crear interfaces de usuario en Java que surgió en 2004 y ha tenido varias versiones. Liferay Faces es un puente entre el ciclo de vida de portlets y JSF que incluye soporte para CDI y componentes como los de Liferay y AUI. El documento muestra cómo funciona JSF, sus ventajas y características clave de Liferay Faces, concluyendo con una demostración de su uso.
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Desarrollo de portlets JSF con Liferay Faces
1. Desarrollo de portlets JSF con
Liferay Faces
Juan González del Pino
Sofware Engineer – OCMJEA 6, Liferay
2. Contenido
• Java Server Faces
●
Historia
●
Cómo funciona
●
Ventajas
• Liferay Faces
●
Historia
●
Características
• Demo Liferay Faces
3. JSF - Historia
●
JSF 1.0 (JSR 127) → Marzo 2004
●
JSF 1.1 → Mayo 2004
●
JSF 1.2 (JSR-252) → 2006
●
JSF 2.0 (JSR-314) → 2009
●
●
●
Corrige gran parte de las carencias de la versión anterior
Bookmarkable URL, composite components...
JSF 2.2 (JSR-344) → 2013
●
Faces Flows, Stateless views, HTML5 passthrough...
4. JSF – Cómo funciona
●
Varias implementaciones:
●
Mojarra
●
MyFaces
●
Basado en componentes (UI)
●
La vista se genera y procesa en servidor
●
●
Gran parte de las tareas están automatizadas
(formulario, validación, recursos y dependencia)
CDI (JSR-299)
●
●
●
Context and Dependency Injection
@Inject private SessionBean sessionBean
Fases de una petición JSF
6. JSF - Ventajas
●
Estándar
●
Basado en componentes:
●
●
Reutilización (loose coupling)
●
Cohexistencia de distintos proveedores (< vendor lock-in)
●
●
Separación de tareas UI ↔ backend (vs JSP y scriptlets)
UI personalizado por cada dispositivo
La vista se genera en el servidor:
●
●
Seguridad (form spoofing)
Tareas automatizadas, CDI:
●
Productividad
8. Liferay Faces - Historia
●
●
●
Comenzado como proyecto Portletfaces (Mimacom
y Triton)
2012: se contribuye el proyecto a Liferay → Liferay
Faces (Neil Griffin).
Agosto 2012:
●
●
●
2.x (JSF 1.2)
3.x (JSF 2.1).
Actualidad:
●
2.1.4
●
3.1.4
●
4.x → Compatibilidad con JSF 2.2
9. Liferay Faces - Características
●
Puente (Bridge) entre ciclo de vida Portlet y JSF.
●
Soporte CDI
●
Componentes:
●
Liferay (<liferay-ui:captcha/>..)
●
AUI
●
Más componentes próximamente
●
JSF + Liferay: permisos, service builder...
●
Utilidades disponibles:
●
LiferayFacesContext.getInstance().getThemeDisplay()
●
#{liferayFacesContext.themeDisplay}
10. Liferay Faces – Demo
●
Crear a partir de arquetipo maven:
●
●
liferay-portlet-primefaces-archetype
●
liferay-portlet-icefaces-archetype
●
liferay-portlet-richfaces-archetype
●
●
liferay-portlet-jsf-archetype
liferay-portlet-liferay-faces-alloy-archetype
Crear a partir de Liferay IDE
●
Soporte Apache Ivy (dependencias)
11. Liferay Faces - Demo
●
Atención a:
●
Look & Feel
●
XHTML vs JSP y Scriptlets
●
●
Unión entre vista y backend mediante Expression
Language
Facilidad para añadir componentes/funcionalidades
(AJAX)
●
Ausencia de javascript/css
●
“Separation of concerns” (SoC)