SlideShare a Scribd company logo
1 of 34
Download to read offline
Presentado por




                                                      2.0




 ICESOFT TECHNOLOGIES INC
ICESOFT TECHNOLOGIES INC
 Wednesday, March 30, 2011                    www.icefaces.org
                             www.icefaces.org | www.mimacom.com
Slide: 0
¡Bienvenidos!


 • Introducciones     Moderador

 • Audio silenciado
                      Jean-François Clercx
 • Encuesta           CEO Mimacom Ibérica



                      Presentador

                      José Antonio Álvarez
                      Software Engineer Mimacom




                            www.icefaces.org | www.mimacom.com
Migrando a ICEfaces 2: Agenda


• Novedades en JSF 2

• Novedades en ICEfaces 2

• Demo: Migración de una aplicación existente de ICEfaces 1.8 a 2.0

• Turno de preguntas y respuestas




                                           www.icefaces.org | www.mimacom.com
ICEfaces 2

• La nueva generación para desarrollo JSF AJAX
• Construido sobre JSF 2
• Capa de Compatibilidad
   – Permite una adaptación sencilla desde ICEfaces 1.8 y JSF 1.2
   – Ofrece los componentes de ICEfaces 1.8 para su uso en JSF 2

• Nuevos componentes
• Configuración más sencilla
• Mejor compatibilidad
• Muchas nuevas características sobre JSF 2




                                                    www.icefaces.org | www.mimacom.com
Novedades JSF 2
JSF 2 aporta muchas mejoras frente a JSF 1.2.

• AJAX como parte de la arquitectura estándar
    -   Peticiones Ajax y actualizaciones parciales se integran en el ciclo de vida JSF

• Parte de JEE6

• Facelets se presenta como el estándar

• Desarrollo de componentes más fácil y sencillo con Facelets

• El tráfico se reduce mediante el guardado parcial de estado

• Soporte más amplio para eventos del sistema




                                                        www.icefaces.org | www.mimacom.com
Novedades en JSF 2, cont.
JSF 2 aporta muchas mejoras frente a JSF 1.2.

• HTTP GET soportado en el ciclo de vida JSF

• Nuevos ámbitos para beans, y soporte para ámbitos custom

• Anotaciones

• Carga de recursos estandarizada

• Mejora de manejo de excepciones

• Navegación mejorada

• Y más …




                                           www.icefaces.org | www.mimacom.com
Novedades en ICEfaces 2
ICEfaces 2 amplía y simplifica el desarrollo en JSF


• AJAX automático y renderizado Direct-2-DOM
• Single Submit
    -   Ciclo de vida se ejecuta en un único componente                                   2.0
• AJAX Push
• Bean Management
    -   Se ofrecen anotaciones que ajustan el comportamiento de beans de ámbito View
• Registro del uso de recursos
• Desarrollo de Portlets con PortletFaces Bridge
• APIs de cliente
    -   Monitorización de Eventos, envío de formularios, callbacks de eventos y
        monitorización de conexión AJAX Push




                                                     www.icefaces.org | www.mimacom.com
Novedades en ICEfaces 2, cont.
ICEfaces 2 amplía y simplifica el desarrollo en JSF


• Configuración simplificada
• Componentes ricos
    -   ICEfaces Components
                                                                                         2.0

    -   ICEfaces Advanced Components
    -   ICEfaces Enterprise Components

• Capa de Compatibilidad 1.8
    -   Actualiza rápidamente tu aplicación ICEfaces 1.8 a 2.0 con cambios menores

• Nuevo Ámbito Window
• Mejora de clustering y tolerancia a fallos




                                                    www.icefaces.org | www.mimacom.com
Demo: Actualización de aplicación existente



             Usando la integración de Eclipse IDE




                        Screen shot
                                       2.0




                                       www.icefaces.org | www.mimacom.com
Actualizando de ICEfaces 1.8 a 2.0
Paso 1, configuramos las librerías usadas …
1. Actualización de JSF jars
    •   jsf-impl.jar: 1.2 – 2.0 (ICEfaces 2.0 viene con Mojarra 2.0.3 FCS)
    •   jsf-api.jar

2. Actualización de ICEfaces jars
    •   icefaces.jar: 1.8 – 2.0
    •   icefaces-comps.jar -> icefaces-ace.jar, icefaces-compat.jar
    •   nueva librería independiente para AJAX Push: icepush.jar

3. Jars que ya no se necesitan
    •   backport-util-concurrent.jar
    •   commons-beanutils.jar
    •   commons-digester.jar
    •   commons-el.jar
    •   commons-fileupload.jar
    •   icefaces-facelets.jar


                                                     www.icefaces.org | www.mimacom.com
Actualizando de ICEfaces 1.8 a 2.0
Paso 2, editamos faces-config.xml…

1. Actualizamos la cabecera de faces-config.xml
    •   Antigua:
   <faces-config xmlns="http://java.sun.com/xml/ns/javaee"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
            http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
            version="1.2">


    •   Nueva:
   <faces-config xmlns="http://java.sun.com/xml/ns/javaee"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
            http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
            version="2.0">




                                              www.icefaces.org | www.mimacom.com
Actualizando de ICEfaces 1.8 a 2.0
Paso 2, editamos faces-config.xml…

2. Eliminamos la declaración del Controlador de Vista
    •   Declaración antigua:
   …
   <view-handler>
            com.icesoft.faces.facelets.D2DFaceletViewHandler
   </view-handler>
   …




                                              www.icefaces.org | www.mimacom.com
Actualizando de ICEfaces 1.8 a 2.0
Paso 2, editamos faces-config.xml…

3. Cambiamos los ámbitos de beans:
    •   El ámbito request ICEfaces se cambia por el nuevo ámbito View

    •   Ámbito antiguo:
   ... <managed-bean-scope>request</managed-bean-scope> ...


    •   Nuevo ámbito:
   ... <managed-bean-scope>view</managed-bean-scope> ...




                                              www.icefaces.org | www.mimacom.com
Actualizando de ICEfaces 1.8 a 2.0
 Paso 3, actualización de web.xml…

 1. Eliminamos los Servlets y mapeos de ICEfaces 1.8:
      •    ICEfaces 2 se basa ahora en servlets estándar de JSF
      •    Servlets y mapeos antiguos:
<servlet>
   <servlet-name>Persistent Faces Servlet</servlet-name>
   <servlet-class>com.icesoft.faces.webapp.xmlhttp.PersistentFacesServlet</servlet-class>
</servlet>
<servlet-mapping>
   <servlet-name>Persistent Faces Servlet</servlet-name>
   …
</servlet-mapping>
<servlet>
   <servlet-name>Blocking Servlet</servlet-name>
   <servlet-class>com.icesoft.faces.webapp.xmlhttp.BlockingServlet</servlet-class>
</servlet>
<servlet-mapping>
   <servlet-name>Blocking Servlet</servlet-name>
   <url-pattern>/block/*</url-pattern>
</servlet-mapping>




                                                       www.icefaces.org | www.mimacom.com
Actualizando de ICEfaces 1.8 a 2.0
Paso 3, actualización de web.xml…

2. También eliminamos el listener ContextEventRepeater

 <listener>
     <listener-class>com.icesoft.faces.util.event.servlet.ContextEventRepeater</listener-class>
 </listener>




3. Añadimos el servlet ICEfaces Compat Resources:
    •     Nuevo servlet y mapeo:
 <servlet>
    <servlet-name>Resource Servlet</servlet-name>
    <servlet-class>com.icesoft.faces.webapp.CompatResourceServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
    <servlet-name>Resource Servlet</servlet-name>
    <url-pattern>/xmlhttp/*</url-pattern>
 </servlet-mapping>




                                                                www.icefaces.org | www.mimacom.com
Actualizando de ICEfaces 1.8 a 2.0
Paso 3, actualización de web.xml…

3. Nos aseguramos que disponemos del Faces Servlet y mapeos:
    •    Servlet y mapeos:
 <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
 </servlet>
 <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/icefaces/*</url-pattern>
  </servlet-mapping>




                                                     www.icefaces.org | www.mimacom.com
Actualizando de ICEfaces 1.8 a 2.0
 Paso 3, actualización de web.xml…

 3. Cambiamos los parámetros de contexto:


      Parámetros antiguos              Nuevos parámetros                              Valores
                                                                                     Por defecto
                                                                                 Antiguo por defecto

facelets.LIBRARIES                javax.faces.FACELETS_LIBRARIES

n/a                               javax.faces.VALIDATE_EMPTY_FIELDS             true/false

javax.faces.STATE_SAVING_METHOD   Sin cambios                                   server/client

javax.faces.CONFIG_FILES          Sin cambios

javax.faces.DEFAULT_SUFFIX        Sin cambios                                   *.jsp -> *.xhtml




                                                     www.icefaces.org | www.mimacom.com
Actualizando de ICEfaces 1.8 a 2.0
Paso 4, actualizamos index.jsp

Cambiamos la extensión *.iface por *.jsf
 <jsp:forward page="applicantForm.jsf" />




                                            www.icefaces.org | www.mimacom.com
Actualizando de ICEfaces 1.8 a 2.0
Paso 4, actualizamos los archivos xhtml



 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:icecore="http://www.icefaces.org/icefaces/core"
    xmlns:ace="http://www.icefaces.org/icefaces/components"
    xmlns:ice="http://www.icesoft.com/icefaces/component">
    <h:head>
         <title>Job Application</title>
         <ice:outputStyle href="./xmlhttp/css/xp/xp.css" />
     </h:head>
     <h:body>
      …
     </h:body>
 </html>




                                                      www.icefaces.org | www.mimacom.com
Actualizando de ICEfaces 1.8 a 2.0
Paso 4, actualizamos los archivos xhtml

Reemplazamos la <ice:outputDeclaration> por:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">




                                                      www.icefaces.org | www.mimacom.com
Actualizando de ICEfaces 1.8 a 2.0
Paso 5, cambiamos los componentes que se actualizan

<ice:inputFile> se cambia por <ace:fileEntry>
<ace:fileEntry id="resume"
                     label="File Upload"
                     relativePath="uploaded"
                     fileEntryListener="#{resumeUploader.actionListener}"/>
<h:commandButton id="fileUploadButton" value="Upload"/>


<tr>
<td><ice:outputProgress value="#{resumeUploader.fileProgress}"
labelComplete="#{resumeUploader.currentFile.fileName}" /></td>
</tr>


Eliminamos el servlet de subida de ficheros antiguo
<servlet>
   <servlet-name>uploadServlet</servlet-name>
   <servlet-class>com.icesoft.faces.component.inputfile.FileUploadServlet</servlet-class>
   <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
   <servlet-name>uploadServlet</servlet-name>
   <url-pattern>/uploadHtml</url-pattern>
</servlet-mapping>




                                                                 www.icefaces.org | www.mimacom.com
Actualizando de ICEfaces 1.8 a 2.0
Paso 5, cambiamos los componentes que se actualizan

Actualizamos el bean FileUploader
package training.jobapplication.bean.util;

import org.icefaces.component.fileentry.FileEntry;
import org.icefaces.component.fileentry.FileEntryEvent;
import org.icefaces.component.fileentry.FileEntryResults;

public class FileUploader {

private FileEntryResults.FileInfo currentFile;

public FileEntryResults.FileInfo getCurrentFile() {
return currentFile;
}

public void actionListener(FileEntryEvent event) {
FileEntry fileEntry = (FileEntry) event.getSource();
        FileEntryResults results = fileEntry.getResults();
        for (FileEntryResults.FileInfo fileInfo : results.getFiles()) {
            if (fileInfo.isSaved()) {
                currentFile = fileInfo;
            }
        }
}
}




                                                                  www.icefaces.org | www.mimacom.com
Actualizando de ICEfaces 1.8 a 2.0
Paso 6, actualización de APIs de Ajax Push

Llamadas de Ajax Push que se actualizan
RenderManager
OnDemandRenderer
IntervalRenderer
DelayedRenderer



PushRenderer.addCurrentView();
PushRenderer.addCurrentSession();
PushRenderer.render(String);




                                             www.icefaces.org | www.mimacom.com
Actualizando de ICEfaces 1.8 a 2.0
Paso 6, actualizamos reglas de navegación de JSF 2

Las reglas ya no se necesitan en faces-config.xml
<navigation-rule>
   <from-view-id>/applicantForm.xhtml</from-view-id>
   <navigation-case>
      <from-outcome>success</from-outcome>
      <to-view-id>/thankYou.iface</to-view-id>
    </navigation-case>
    <navigation-case>
       <from-outcome>failure</from-outcome>
       <to-view-id>/noThanks.iface</to-view-id>
    </navigation-case>
</navigation-rule>


public String submit() {
   return "thankYou?faces-redirect=true";
}


Actualizamos las navegaciones en las páginas .xhtml.


                                               www.icefaces.org | www.mimacom.com
Actualizando de ICEfaces 1.8 a 2.0
Paso 7, cambiamos Partial Submit por Single Submit

Partial Submit todavía funciona pero Single Submit es más eficiente

<h:form id="applicantForm">
   <icecore:singleSubmit/>




                                             www.icefaces.org | www.mimacom.com
¡Muchas Gracias!

A continuación:


   • Breve visión de Mimacom

   • Turno de preguntas y respuestas




                                       www.icefaces.org | www.mimacom.com
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)



                                       www.icefaces.org | www.mimacom.com
mimacom


              edoras path
               Methodology

                Tool Chain

           Technology / Frameworks



    Complete Application Lifecyle
       Management (ALM)
       Know-How transfer
                              www.icefaces.org | www.mimacom.com
mimacom




          Scrum
                  www.icefaces.org | www.mimacom.com
mimacom


                    Version Control             Build System




                                                                                 Knowledge-Mngmt
                      Subversion                  Maven 2
 Code Reviews




                                                                                    Confluence
   Crucible




                                                 Continuous
                     Development
                                                 Integration
                     Eclipse (IDE)
                                                  Bamboo


                Issue – Tracker (Requirements, Bugs, Changes, etc.)
                                        JIRA



                                  Toolchain
                                                   www.icefaces.org | www.mimacom.com
Contacto
El enlace a las transparencias y ejemplos expuestos en el
   Webinar será suministrado vía:

      Blog:         http://blog.mimacomiberica.es
      Twitter:      @icefaces_espana
      Facebook:     Mimacom Ibérica
                    ICEfaces Hispano

      Email:        jose.antonio.alvarez@mimacom.com
                    jfclercx@mimacom.com




                                       www.icefaces.org | www.mimacom.com
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.com




ICESOFT TECHNOLOGIES INC
                                                                www.icefaces.org | www.mimacom.com
                                                    Slide: 31
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




                                                   www.icefaces.org | www.mimacom.com
Links
 • Home:
    – http://www.icefaces.org
 • Forums:
    – http://www.icefaces.org/JForum/
 • ICEpack:
    – http://www.icefaces.org/main/ajax-java/icepack.iface
 • Tutorials:
    – http://www.icefaces.org/main/resources/tutorials.iface
 • Documentation:
    – http://www.icefaces.org/main/resources/documentation.iface




                                           www.icefaces.org | www.mimacom.com

More Related Content

Similar to Migrating to ICEfaces 2 (Spanish)

Taller integracion jsf spring
Taller integracion jsf springTaller integracion jsf spring
Taller integracion jsf springIBM
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación JavaAntonio Contreras
 
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCSEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCParadigma Digital
 
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006
5. Curso Java Struts I (Framework para Java) - Curso 2005-20065. Curso Java Struts I (Framework para Java) - Curso 2005-2006
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006Samuel Marrero
 
DISEÑO DE APLICACIONES WEB (INTRODUCCION)
DISEÑO DE APLICACIONES WEB (INTRODUCCION)DISEÑO DE APLICACIONES WEB (INTRODUCCION)
DISEÑO DE APLICACIONES WEB (INTRODUCCION)René Pilataxi
 
Jc Web2.0 Java Ee5 Net Beans
Jc Web2.0 Java Ee5 Net BeansJc Web2.0 Java Ee5 Net Beans
Jc Web2.0 Java Ee5 Net Beansvicosw
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XMLJuan Carlos Rubio Pineda
 
Ejercicio basico jsf’s
Ejercicio basico jsf’sEjercicio basico jsf’s
Ejercicio basico jsf’sayreonmx
 
[ES] Desarrollo de aplicaciones con Java Server Faces
[ES] Desarrollo de aplicaciones con Java Server  Faces[ES] Desarrollo de aplicaciones con Java Server  Faces
[ES] Desarrollo de aplicaciones con Java Server FacesEudris Cabrera
 
Manual programacion - java - jsp & xml
Manual   programacion - java - jsp & xmlManual   programacion - java - jsp & xml
Manual programacion - java - jsp & xmlgilhorak
 
Desarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con AjaxDesarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con Ajaxjuliocasal
 

Similar to Migrating to ICEfaces 2 (Spanish) (20)

Curso JSF - Conceptos Basicos
Curso JSF - Conceptos BasicosCurso JSF - Conceptos Basicos
Curso JSF - Conceptos Basicos
 
Taller integracion jsf spring
Taller integracion jsf springTaller integracion jsf spring
Taller integracion jsf spring
 
Video
VideoVideo
Video
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación Java
 
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCSEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
 
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006
5. Curso Java Struts I (Framework para Java) - Curso 2005-20065. Curso Java Struts I (Framework para Java) - Curso 2005-2006
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006
 
Intro jsf
Intro jsfIntro jsf
Intro jsf
 
DISEÑO DE APLICACIONES WEB (INTRODUCCION)
DISEÑO DE APLICACIONES WEB (INTRODUCCION)DISEÑO DE APLICACIONES WEB (INTRODUCCION)
DISEÑO DE APLICACIONES WEB (INTRODUCCION)
 
Facelets
FaceletsFacelets
Facelets
 
Jc Web2.0 Java Ee5 Net Beans
Jc Web2.0 Java Ee5 Net BeansJc Web2.0 Java Ee5 Net Beans
Jc Web2.0 Java Ee5 Net Beans
 
Herramientas de trabajo (3)
Herramientas de trabajo (3)Herramientas de trabajo (3)
Herramientas de trabajo (3)
 
Java Web - JSF
Java Web - JSFJava Web - JSF
Java Web - JSF
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML
 
Ejercicio basico jsf’s
Ejercicio basico jsf’sEjercicio basico jsf’s
Ejercicio basico jsf’s
 
[ES] Desarrollo de aplicaciones con Java Server Faces
[ES] Desarrollo de aplicaciones con Java Server  Faces[ES] Desarrollo de aplicaciones con Java Server  Faces
[ES] Desarrollo de aplicaciones con Java Server Faces
 
Jsf
JsfJsf
Jsf
 
Frameworks J2EE
Frameworks J2EEFrameworks J2EE
Frameworks J2EE
 
Manual programacion - java - jsp & xml
Manual   programacion - java - jsp & xmlManual   programacion - java - jsp & xml
Manual programacion - java - jsp & xml
 
Desarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con AjaxDesarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con Ajax
 
Java server faces
Java server facesJava server faces
Java server faces
 

Recently uploaded

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxlosdiosesmanzaneros
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilJuanGallardo438714
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 

Recently uploaded (15)

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 

Migrating to ICEfaces 2 (Spanish)

  • 1. Presentado por 2.0 ICESOFT TECHNOLOGIES INC ICESOFT TECHNOLOGIES INC Wednesday, March 30, 2011 www.icefaces.org www.icefaces.org | www.mimacom.com Slide: 0
  • 2. ¡Bienvenidos! • Introducciones Moderador • Audio silenciado Jean-François Clercx • Encuesta CEO Mimacom Ibérica Presentador José Antonio Álvarez Software Engineer Mimacom www.icefaces.org | www.mimacom.com
  • 3. Migrando a ICEfaces 2: Agenda • Novedades en JSF 2 • Novedades en ICEfaces 2 • Demo: Migración de una aplicación existente de ICEfaces 1.8 a 2.0 • Turno de preguntas y respuestas www.icefaces.org | www.mimacom.com
  • 4. ICEfaces 2 • La nueva generación para desarrollo JSF AJAX • Construido sobre JSF 2 • Capa de Compatibilidad – Permite una adaptación sencilla desde ICEfaces 1.8 y JSF 1.2 – Ofrece los componentes de ICEfaces 1.8 para su uso en JSF 2 • Nuevos componentes • Configuración más sencilla • Mejor compatibilidad • Muchas nuevas características sobre JSF 2 www.icefaces.org | www.mimacom.com
  • 5. Novedades JSF 2 JSF 2 aporta muchas mejoras frente a JSF 1.2. • AJAX como parte de la arquitectura estándar - Peticiones Ajax y actualizaciones parciales se integran en el ciclo de vida JSF • Parte de JEE6 • Facelets se presenta como el estándar • Desarrollo de componentes más fácil y sencillo con Facelets • El tráfico se reduce mediante el guardado parcial de estado • Soporte más amplio para eventos del sistema www.icefaces.org | www.mimacom.com
  • 6. Novedades en JSF 2, cont. JSF 2 aporta muchas mejoras frente a JSF 1.2. • HTTP GET soportado en el ciclo de vida JSF • Nuevos ámbitos para beans, y soporte para ámbitos custom • Anotaciones • Carga de recursos estandarizada • Mejora de manejo de excepciones • Navegación mejorada • Y más … www.icefaces.org | www.mimacom.com
  • 7. Novedades en ICEfaces 2 ICEfaces 2 amplía y simplifica el desarrollo en JSF • AJAX automático y renderizado Direct-2-DOM • Single Submit - Ciclo de vida se ejecuta en un único componente 2.0 • AJAX Push • Bean Management - Se ofrecen anotaciones que ajustan el comportamiento de beans de ámbito View • Registro del uso de recursos • Desarrollo de Portlets con PortletFaces Bridge • APIs de cliente - Monitorización de Eventos, envío de formularios, callbacks de eventos y monitorización de conexión AJAX Push www.icefaces.org | www.mimacom.com
  • 8. Novedades en ICEfaces 2, cont. ICEfaces 2 amplía y simplifica el desarrollo en JSF • Configuración simplificada • Componentes ricos - ICEfaces Components 2.0 - ICEfaces Advanced Components - ICEfaces Enterprise Components • Capa de Compatibilidad 1.8 - Actualiza rápidamente tu aplicación ICEfaces 1.8 a 2.0 con cambios menores • Nuevo Ámbito Window • Mejora de clustering y tolerancia a fallos www.icefaces.org | www.mimacom.com
  • 9. Demo: Actualización de aplicación existente Usando la integración de Eclipse IDE Screen shot 2.0 www.icefaces.org | www.mimacom.com
  • 10. Actualizando de ICEfaces 1.8 a 2.0 Paso 1, configuramos las librerías usadas … 1. Actualización de JSF jars • jsf-impl.jar: 1.2 – 2.0 (ICEfaces 2.0 viene con Mojarra 2.0.3 FCS) • jsf-api.jar 2. Actualización de ICEfaces jars • icefaces.jar: 1.8 – 2.0 • icefaces-comps.jar -> icefaces-ace.jar, icefaces-compat.jar • nueva librería independiente para AJAX Push: icepush.jar 3. Jars que ya no se necesitan • backport-util-concurrent.jar • commons-beanutils.jar • commons-digester.jar • commons-el.jar • commons-fileupload.jar • icefaces-facelets.jar www.icefaces.org | www.mimacom.com
  • 11. Actualizando de ICEfaces 1.8 a 2.0 Paso 2, editamos faces-config.xml… 1. Actualizamos la cabecera de faces-config.xml • Antigua: <faces-config xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd" version="1.2"> • Nueva: <faces-config xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd" version="2.0"> www.icefaces.org | www.mimacom.com
  • 12. Actualizando de ICEfaces 1.8 a 2.0 Paso 2, editamos faces-config.xml… 2. Eliminamos la declaración del Controlador de Vista • Declaración antigua: … <view-handler> com.icesoft.faces.facelets.D2DFaceletViewHandler </view-handler> … www.icefaces.org | www.mimacom.com
  • 13. Actualizando de ICEfaces 1.8 a 2.0 Paso 2, editamos faces-config.xml… 3. Cambiamos los ámbitos de beans: • El ámbito request ICEfaces se cambia por el nuevo ámbito View • Ámbito antiguo: ... <managed-bean-scope>request</managed-bean-scope> ... • Nuevo ámbito: ... <managed-bean-scope>view</managed-bean-scope> ... www.icefaces.org | www.mimacom.com
  • 14. Actualizando de ICEfaces 1.8 a 2.0 Paso 3, actualización de web.xml… 1. Eliminamos los Servlets y mapeos de ICEfaces 1.8: • ICEfaces 2 se basa ahora en servlets estándar de JSF • Servlets y mapeos antiguos: <servlet> <servlet-name>Persistent Faces Servlet</servlet-name> <servlet-class>com.icesoft.faces.webapp.xmlhttp.PersistentFacesServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Persistent Faces Servlet</servlet-name> … </servlet-mapping> <servlet> <servlet-name>Blocking Servlet</servlet-name> <servlet-class>com.icesoft.faces.webapp.xmlhttp.BlockingServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Blocking Servlet</servlet-name> <url-pattern>/block/*</url-pattern> </servlet-mapping> www.icefaces.org | www.mimacom.com
  • 15. Actualizando de ICEfaces 1.8 a 2.0 Paso 3, actualización de web.xml… 2. También eliminamos el listener ContextEventRepeater <listener> <listener-class>com.icesoft.faces.util.event.servlet.ContextEventRepeater</listener-class> </listener> 3. Añadimos el servlet ICEfaces Compat Resources: • Nuevo servlet y mapeo: <servlet> <servlet-name>Resource Servlet</servlet-name> <servlet-class>com.icesoft.faces.webapp.CompatResourceServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Resource Servlet</servlet-name> <url-pattern>/xmlhttp/*</url-pattern> </servlet-mapping> www.icefaces.org | www.mimacom.com
  • 16. Actualizando de ICEfaces 1.8 a 2.0 Paso 3, actualización de web.xml… 3. Nos aseguramos que disponemos del Faces Servlet y mapeos: • Servlet y mapeos: <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.jsf</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>/icefaces/*</url-pattern> </servlet-mapping> www.icefaces.org | www.mimacom.com
  • 17. Actualizando de ICEfaces 1.8 a 2.0 Paso 3, actualización de web.xml… 3. Cambiamos los parámetros de contexto: Parámetros antiguos Nuevos parámetros Valores Por defecto Antiguo por defecto facelets.LIBRARIES javax.faces.FACELETS_LIBRARIES n/a javax.faces.VALIDATE_EMPTY_FIELDS true/false javax.faces.STATE_SAVING_METHOD Sin cambios server/client javax.faces.CONFIG_FILES Sin cambios javax.faces.DEFAULT_SUFFIX Sin cambios *.jsp -> *.xhtml www.icefaces.org | www.mimacom.com
  • 18. Actualizando de ICEfaces 1.8 a 2.0 Paso 4, actualizamos index.jsp Cambiamos la extensión *.iface por *.jsf <jsp:forward page="applicantForm.jsf" /> www.icefaces.org | www.mimacom.com
  • 19. Actualizando de ICEfaces 1.8 a 2.0 Paso 4, actualizamos los archivos xhtml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:icecore="http://www.icefaces.org/icefaces/core" xmlns:ace="http://www.icefaces.org/icefaces/components" xmlns:ice="http://www.icesoft.com/icefaces/component"> <h:head> <title>Job Application</title> <ice:outputStyle href="./xmlhttp/css/xp/xp.css" /> </h:head> <h:body> … </h:body> </html> www.icefaces.org | www.mimacom.com
  • 20. Actualizando de ICEfaces 1.8 a 2.0 Paso 4, actualizamos los archivos xhtml Reemplazamos la <ice:outputDeclaration> por: <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> www.icefaces.org | www.mimacom.com
  • 21. Actualizando de ICEfaces 1.8 a 2.0 Paso 5, cambiamos los componentes que se actualizan <ice:inputFile> se cambia por <ace:fileEntry> <ace:fileEntry id="resume" label="File Upload" relativePath="uploaded" fileEntryListener="#{resumeUploader.actionListener}"/> <h:commandButton id="fileUploadButton" value="Upload"/> <tr> <td><ice:outputProgress value="#{resumeUploader.fileProgress}" labelComplete="#{resumeUploader.currentFile.fileName}" /></td> </tr> Eliminamos el servlet de subida de ficheros antiguo <servlet> <servlet-name>uploadServlet</servlet-name> <servlet-class>com.icesoft.faces.component.inputfile.FileUploadServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>uploadServlet</servlet-name> <url-pattern>/uploadHtml</url-pattern> </servlet-mapping> www.icefaces.org | www.mimacom.com
  • 22. Actualizando de ICEfaces 1.8 a 2.0 Paso 5, cambiamos los componentes que se actualizan Actualizamos el bean FileUploader package training.jobapplication.bean.util; import org.icefaces.component.fileentry.FileEntry; import org.icefaces.component.fileentry.FileEntryEvent; import org.icefaces.component.fileentry.FileEntryResults; public class FileUploader { private FileEntryResults.FileInfo currentFile; public FileEntryResults.FileInfo getCurrentFile() { return currentFile; } public void actionListener(FileEntryEvent event) { FileEntry fileEntry = (FileEntry) event.getSource(); FileEntryResults results = fileEntry.getResults(); for (FileEntryResults.FileInfo fileInfo : results.getFiles()) { if (fileInfo.isSaved()) { currentFile = fileInfo; } } } } www.icefaces.org | www.mimacom.com
  • 23. Actualizando de ICEfaces 1.8 a 2.0 Paso 6, actualización de APIs de Ajax Push Llamadas de Ajax Push que se actualizan RenderManager OnDemandRenderer IntervalRenderer DelayedRenderer PushRenderer.addCurrentView(); PushRenderer.addCurrentSession(); PushRenderer.render(String); www.icefaces.org | www.mimacom.com
  • 24. Actualizando de ICEfaces 1.8 a 2.0 Paso 6, actualizamos reglas de navegación de JSF 2 Las reglas ya no se necesitan en faces-config.xml <navigation-rule> <from-view-id>/applicantForm.xhtml</from-view-id> <navigation-case> <from-outcome>success</from-outcome> <to-view-id>/thankYou.iface</to-view-id> </navigation-case> <navigation-case> <from-outcome>failure</from-outcome> <to-view-id>/noThanks.iface</to-view-id> </navigation-case> </navigation-rule> public String submit() { return "thankYou?faces-redirect=true"; } Actualizamos las navegaciones en las páginas .xhtml. www.icefaces.org | www.mimacom.com
  • 25. Actualizando de ICEfaces 1.8 a 2.0 Paso 7, cambiamos Partial Submit por Single Submit Partial Submit todavía funciona pero Single Submit es más eficiente <h:form id="applicantForm"> <icecore:singleSubmit/> www.icefaces.org | www.mimacom.com
  • 26. ¡Muchas Gracias! A continuación: • Breve visión de Mimacom • Turno de preguntas y respuestas www.icefaces.org | www.mimacom.com
  • 27. 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) www.icefaces.org | www.mimacom.com
  • 28. mimacom edoras path Methodology Tool Chain Technology / Frameworks Complete Application Lifecyle Management (ALM) Know-How transfer www.icefaces.org | www.mimacom.com
  • 29. mimacom Scrum www.icefaces.org | www.mimacom.com
  • 30. mimacom Version Control Build System Knowledge-Mngmt Subversion Maven 2 Code Reviews Confluence Crucible Continuous Development Integration Eclipse (IDE) Bamboo Issue – Tracker (Requirements, Bugs, Changes, etc.) JIRA Toolchain www.icefaces.org | www.mimacom.com
  • 31. Contacto El enlace a las transparencias y ejemplos expuestos en el Webinar será suministrado vía: Blog: http://blog.mimacomiberica.es Twitter: @icefaces_espana Facebook: Mimacom Ibérica ICEfaces Hispano Email: jose.antonio.alvarez@mimacom.com jfclercx@mimacom.com www.icefaces.org | www.mimacom.com
  • 32. 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.com ICESOFT TECHNOLOGIES INC www.icefaces.org | www.mimacom.com Slide: 31
  • 33. 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 www.icefaces.org | www.mimacom.com
  • 34. Links • Home: – http://www.icefaces.org • Forums: – http://www.icefaces.org/JForum/ • ICEpack: – http://www.icefaces.org/main/ajax-java/icepack.iface • Tutorials: – http://www.icefaces.org/main/resources/tutorials.iface • Documentation: – http://www.icefaces.org/main/resources/documentation.iface www.icefaces.org | www.mimacom.com