PortletFaces y PortletFaces Bridge: Integrando JSF, ICEfaces y Liferay

3,818 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,818
On SlideShare
0
From Embeds
0
Number of Embeds
674
Actions
Shares
0
Downloads
77
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

PortletFaces y PortletFaces Bridge: Integrando JSF, ICEfaces y Liferay

  1. 1. webinar presented by: For audio, please dial Toll Free: 1+866 222 0259 International: +1 416 915 8403 www.icefaces.org Access Code: 2220271
  2. 2. PortletFaces Tools y PortletFaces Bridge:Integrando JSF y Liferay + José Antonio Álvarez jose.antonio.alvarez@mimacom.com ICESOFT TECHNOLOGIES INC For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222ICESOFT TECHNOLOGIES INC Wednesday, January 19, 2011 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.comSlide: 1 Access Code: 2220271
  3. 3. Índice• Edoras Framework• PortletFaces Tools + JSF 1.2 • Introducción, historia, ventajas • Ciclo de vida Portlet vs Ciclo de vida JSF• PortletFaces Tools + ICEfaces 1.8.x • Mejoras en la integración con Liferay • Ciclo de vida con ICEfaces• PortletFaces Bridge + JSF 2.0/ICEfaces 2 • Características de JSF 2.0 e ICEfaces 2• Resumen y turno de preguntas For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  4. 4. ¿Qué es edoras framework?edoras framework es una coleccion de módulos y código de interconexiónorientado al desarrollo de aplicaciones empresariales• Open Source• Estándares JPA, JSF, y JSR-286 (Portales)• Combina Spring, ICEfaces y Liferay• Uso de Maven 2 para labores de compilación y manejo de dependencias• Full Web Application Stack• Módulos más populares • Motor de Procesos y Sistema de Workflows • Ámbitos Extendidos (Parte de Spring 3.1) • PortletFaces y PortletBridge …Y más módulos y características útiles For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  5. 5. ¿Qué es Liferay Portal?Liferay Portal es una solución que permite crear de manera sencilla portalesweb, proporcionando facilidades para la publicación de contenido así comopara la colaboración entre usuarios • Es un contenedor de Portlets • Open Source. Desarrollado en Java • Posee un sistema de gestión de contenidos (CMS) • Más de 60 portlets incluidos de serie – Wiki, Foros, Calendarios compartidos... • De los primeros portales en dar soporte a Portlets en JSF (Mayo 2005) For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  6. 6. PortletFaces Tools Project • El propósito del proyecto es hacer más fácil el desarrollo de portlets JSF 1.2 (e ICEfaces 1.8.x) sobre Liferay Portal • Website: http://www.portletfaces.org/projects/portletfaces-tools • Versión actual : 1.3.0 GA (General Availability) For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  7. 7. PortletFaces Tools – Historia • Fundado por Joel Kozikowski y Neil Griffin • Originalmente promovido por Liferay, Inc. en modo de incubación • Mimacom AG asumió el control desde la incubación y actualmente es un subproyecto de edoras framework • Contribuyentes notables: Micha Kiener, Atul Patel, Ed Shin, Stefan Niederhauser For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  8. 8. PortletFaces Tools – Ventajas • Tanto las características estándar de la API Portlet 2.0 y otras específicas de Liferay se proporcionan de un modo natural para desarrolladores JSF. – Acceso a preferencias del portlet vía Expression Language – Access a objetos de Liferay vía Expression Language • Integración mejorada ICEfaces-Liferay • Interfaz integrada con el tema de Liferay • Carga de archivos para portlets estándar JSF For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  9. 9. Mejoras sobre FacesContext • Se proporciona la clase PortletFacesContext, que hereda de FacesContext, añadiendo más funcionalidades: public class BackingBean { private PortletFacesContext portletFacesContext = PortletFacesContext.getInstance(); public void actionListener(ActionEvent e) { // Get the current Liferay User„s email address User user = portletFacesContext.getUser(); String emailAddress = user.getEmailAddress(); } } For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  10. 10. Mejoras sobre Expression Language • PortletFaces permite el acceso a preferencias del portlet (JSR 286) desde EL (Expression Language) • Compatible con partialSubmit de ICEfaces <ice:inputText id="datePattern” partialSubmit=“true” value="#{portletPreference[datePattern]}" /> <ice:commandButton actionListener="#{portletPreferencesForm.submit}” value="#{i18n[submit]}" /> For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  11. 11. Mejoras sobre Expression Language (II) • PortletFaces proporciona acceso a información específica de Liferay desde EL <h:outputLabel for="postalCode" value="#{i18n[zip-postal]}" /> <img src="#{liferay.themeImageURL[/common/help.png]}" title="#{i18n[postal-code-hint]}" /> <a href="mailto:#{liferay.user.emailAddress}" /> For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  12. 12. Carga de Archivos • Con JSF 1.0-2.0 no se proporciona un componente estándar de subida de ficheros • PortletFaces soluciona el problema proporcionando el componente pf:inputFile <pf:inputFile value=“#{modelBean.file}”> For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  13. 13. Ciclos de vida JSF/Portlet ¿Pero cómo adapto el ciclo de vida de JSF al ciclo de vida de un Portlet? Solución: JSF Portlet Bridges For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  14. 14. Ciclos de vida JSF/Portlet JSF Portlet Bridges: Hacen de puente entre los ciclos de vida JSF y Portlet ¿Cómo se definen? En WEB-INF/portlet.xml. Por ejemplo para Sun OpenPortal JSF Bridge: <portlet-class> com.sun.faces.portlet.FacesPortlet </portlet-class> Sun OpenPortal JSF Bridge soporta Portlet API 1.0 y 2.0, JSF 1.1 y 1.2 (Mojarra) For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  15. 15. Ciclos de vida JSF/Portlet – Petición HTTP GET RENDER_PHASE del Ciclo de vida Portlet APPLY REQUEST PROCESS RESTORE VIEW VALUES VALIDATIONS Ciclo de vida JSF RENDER INVOKE UPDATE RESPONSE APPLICATION MODEL VALUES For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  16. 16. Ciclos de vida JSF/Portlet – Petición HTTP POST ACTION_PHASE del Ciclo de vida Portlet APPLY REQUEST PROCESS RESTORE VIEW VALUES VALIDATIONS Ciclo de vida JSF RENDER INVOKE UPDATE RESPONSE APPLICATION MODEL VALUES For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  17. 17. Peticiones en Portlets• Aunque las páginas de un Portal pueden contener varios Portlets, sólo un Portlet participará en el evento de envío del formulario.• El envío de un formulario en un Portlet obliga al resto de Portlets a renderizarse de nuevo. – ¡Pueden perderse valores introducidos por el usuario en el resto de Portlets!• La experiencia de usuario puede verse afectada por este comportamiento. For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  18. 18. ¿Qué aporta el uso de ICEfaces? For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  19. 19. Integración mejorada ICEfaces-Liferay • El ICEfaces 1.x Portlet Bridge sólo participa en la fase RENDER_PHASE del ciclo de vida de un portlet • Una vez que finaliza, toda la interacción con el servidor se hace por medio de Ajax. Esto previene recargas completas de la página que alteran la experiencia de usuario • Las futuras versiones harán uso de la fase RESOURCE_PHASE presente en la especificación Portlet 2.0 For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  20. 20. Ciclos de vida ICEfaces/Portlet – Petición HTTP GET Se ejecuta la fase de Portlet RENDER_PHASE, pero después ICEfaces toma el control y todo cambio se realiza incrementalmente a través del Ajax Bridge. No se realiza un Http Post, evitando una recarga total de la página For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  21. 21. Integración mejorada (II) • El desarrollo de portlets para Liferay normalmente requiere el uso de dos objetos comúnmente usados: – PermissionChecker – ThemeDisplay • Desgraciadamente, después de RENDER_PHASE, Liferay recicla estos objetos y están disponibles para el recolector de basura de la JVM • PortletFaces permite el acceso a estos objetos para su uso mediante ICEfaces For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  22. 22. Integración mejorada (III) • Durante la RENDER_PHASE inicial PortletFaces hace una copia de PermissionChecker y ThemeDisplay y las almacena en el ámbito extendido de ICEfaces • Con ello se permite el uso de estas instancias en cualquier momento a través de la clase PortletFacesContext: PermissionChecker permissionChecker = portletFacesContext.getPermissionChecker(); ThemeDisplay themeDisplay = portletFacesContext.getThemeDisplay(); For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  23. 23. ¿Y JSF 2.0? • JSF 2.0 + Portlet 1.0 – Debido a las nuevas características Ajax en JSF 2.0, no es posible integrar ambas tecnologías de una manera estándar • JSF 2.0 + Portlet 2.0 – Aún no se ha decidido si se establecerá un JSR para definir un estándar para JSF 2.0 y Portlet 2.0 – Actualmente podemos usar: For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  24. 24. PortletFaces Bridge • Permite el despliegue de portlets JSF 2.0 dentro de contenedores Portlet 2.0 como Liferay Portal • También permite el uso de portlets ICEfaces 2.0 • Actualmente en versión 2.0.0-Beta 3. La versión GA será liberada después de ICEfaces 2.0 GA • Website: http://www.portletfaces.org/projects/portletfaces-bridge For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  25. 25. Nuevas características de JSF 2.0 • Estándar de Anotaciones Java: – @ManagedBean – @RequestScoped – @SessionScoped – @ApplicationScoped – @ManagedProperty Las anotaciones permiten definir los managed beans en las mismas clases Java, simplificando el archivo faces-config.xml. For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  26. 26. Nuevas características de JSF 2.0 (II) • Estándar de Ajax: – Envío parcial de formularios mediante librería Javascript (jsf.js) – Actualizaciones (render) parciales automáticas hacia el DOM del navegador • Nuevo ámbito View (@ViewScoped) • El Controlador de Vista estándar es Facelets – Permite Componentes custom sin código Java • Controlador de recursos estándar – Permite empaquetar recursos para los componentes sin apenas configuración For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  27. 27. PortletFaces Bridge + JSF 2.0 • JSF 2.0 Ajax – Permite el acceso total a la Portlet API a los desarrolladores JSF • JSF 2.0 Resources – El ‘bridge’ hace uso de la fase RESOURCE_PHASE para: • Librerías JavaScript • Archivos CSS • Archivos de imagen For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  28. 28. PortletFaces Bridge + ICEfaces 2 • ICEfaces 2 usa el mecanismo estándar jsf.js para llamadas Ajax – ICEfaces 1.8 usaba un Servlet (incluso ejecutándose como portlet) para la comunicación Ajax • Portlets de ICEfaces desplegados con PortletFaces Bridge aprovechan la fase RESOURCE_PHASE de Portlet 2.0 • Los desarrolladores tienen acceso total a la Portlet API durante el ciclo de vida del portlet, incluso con Ajax Push! For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  29. 29. Resumen PortletFaces Bridge • Nuevo proyecto Open Source • Permite a los desarrolladores crear y desplegar JSF 2.0 e ICEfaces 2 portlets en portales que cumplen el estándar Portlet 2.0 como Liferay 5.x/6.x • La versión GA será liberada poco después de ICEfaces 2 GA For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  30. 30. mimacom • ¿Qué ofrece mimacom? – Training, Soporte y servicios para los siguientes frameworks: – ICEfaces (icefaces.org) – PortletFaces (portletfaces.org) – Liferay (liferay.com) – edoras-framework (edorasframework.org) – Spring-Framework (springframework.org) For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  31. 31. mimacom edoras path Methodology Tool Chain Technology / Frameworks Complete Application Lifecyle Management (ALM) Know-How transfer For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  32. 32. mimacom Scrum For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  33. 33. mimacom Version Control Build System Knowledge-Mngmt Subversion Maven 2 Code Reviews Confluence Crucible Development Continuous Integration Eclipse (IDE) Bamboo Issue – Tracker (Requirements, Bugs, Changes, etc.) JIRA Toolchain For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  34. 34. Turno de preguntas • ¿Preguntas? – Por favor escriban sus preguntas en la ventana “Question and Answer” en la parte inferior derecha de su pantalla – Las respuestas a las preguntas que no puedan tratarse en esta sesión serán enviadas por correo electrónico For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  35. 35. ContactoEl enlace a las transparencias y ejemplos expuestos en el Webinar será suministrado vía: Blog: http://blog.mimacomiberica.es Twitter: @icefaces_espana Email: jose.antonio.alvarez@mimacom.com jfclercx@mimacom.com For audio, please dial Toll Free: 1+86665 0259 Dial-in if required : +41 (0) 415 0008 222 Access code +1 416 915 International:935-074-787 8403 www.icefaces.org www.icefaces.org | www.mimacom.com Access Code: 2220271
  36. 36. Contacto Contact mimacom: Contact ICESoft: Tel: +34 963524125 Toll Free: +1 877 263 3822 USA info@mimacomiberica.es International: +1 403 663 3322 Skype: jfclercx product.support@icesoft.comICESOFT TECHNOLOGIES INC For audio, please dial Toll Free: 1+866 222 0259 International: +1 416 915 8403 www.icefaces.orgSlide: 35 Access Code: 2220271

×