JSF 2.0 e ScrumToys
        Yara H. Senger               Alberto Lemos (Dr. Spock)
Diretora Educacional Globalcode   Instr...
Agenda
Sobre o JavaServer Faces
Benefícios da tecnologia
Deficiências na versão atual
Principais Novidades do JSF 2.0
Demo...
O que é JavaServer Faces
   Do mesmo criador do Struts;
   Paradigma de programação visual de User-interfaces
aplicado à w...
Benefícios
  Diversas bibliotecas de componentes disponíveis;
  Suporte nas principais IDEs;
  Ampla literatura, treinamen...
Deficiências na versão atual
  Não oferece Templates de tela “built in”
  Complexidade para criar componentes visuais
  Nã...
Principais Novidades do JSF 2.0

 Suporte a anotações para configuração
 Suporte a AJAX
 PDL baseado em XHTML (Facelets) e...
Principais Novidades do JSF 2.0

 Suporte a definição de estágio do projeto
 Mecanismo de Eventos
 Gerenciamento de Recurs...
Novas Anotações
Suportadas
@ManagedBean(name=”dashBoardBean”)
@ManagedProperty(“#{taskManager}”)
@RequestScoped
@ViewScope...
Suporte a AJAX
<h:commandButton id="btnDeleteSprint"
  styleClass="botaoPostIt"
  action="#{sprintManager.remove}"
  value...
PDL baseado em XHTML
<html xmlns="http://www.w3.org/1999/xhtml"
     xmlns:ui="http://java.sun.com/jsf/facelets"
     xmln...
Novo escopo: ViewScoped
No web.xml:
<managed-bean>
 <managed-bean-name>dashboardMB</managed-bean-name>
 <managed-bean-clas...
Estágios do Projeto
Estágios suportados: Production, Development,
  UnitTest e SystemTest

No web.xml:
<context-param>
 <p...
Mecanismo de Eventos
Exemplos de código no ScrumToys:
jsf2.demo.scrum.web.event.*
jsf2.demo.scrum.web.controller.AbstractM...
Gerenciamento de Recursos
Novas tags: <h:head>, <h:body>, <h:outputScript> e
  <h:outputStyle>
Acesso a recursos via EL: #...
Criação de Componentes
Exemplo de definição de Composite Component
   em:
/resources/components/postit.xhtml

Exemplo de u...
Navegação
Implícita:
 <navigation-rule>
  <from-view-id>/page1.xhtml</from-view-id>
  <navigation-case>
    <from-outcome>...
JSF Scrum Demo
  Aplicação para gestão de projetos, sprints, estórias
e tarefas
  Implementa o conceito de skins permitind...
Demonstração do ScrumToys




                Globalcode – Open4education
Perguntas & Respotas




              Globalcode – Open4education
Referências
  JSF Scrum Demo
  http://www.globalcode.com.br/site/noticias/painel.seam?
chave=jsf2scrumdemo

  Blog Ed Burn...
Referências
  MC45 JavaServer Faces e Facelets: Um casamento perfeito
  http://www.globalcode.com.br/site/gratuitos/minicu...
Upcoming SlideShare
Loading in …5
×

JSF 2.0 e ScrumToys

4,043 views
3,988 views

Published on

Slides da apresentação realizada no JustJava2009 sobre as novidades do JSF 2.0 e a implementação exemplo chamada de ScrumToys

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

No Downloads
Views
Total views
4,043
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
92
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

JSF 2.0 e ScrumToys

  1. 1. JSF 2.0 e ScrumToys Yara H. Senger Alberto Lemos (Dr. Spock) Diretora Educacional Globalcode Instrutor/Arquiteto Globalcode Globalcode – Open4education
  2. 2. Agenda Sobre o JavaServer Faces Benefícios da tecnologia Deficiências na versão atual Principais Novidades do JSF 2.0 Demonstração do ScrumToys Perguntas & Respotas Globalcode – Open4education
  3. 3. O que é JavaServer Faces Do mesmo criador do Struts; Paradigma de programação visual de User-interfaces aplicado à web; É um framework que permite a criação de aplicações Web com semântica de Swing implementando MVC; “Toolability = Ferramentabilidade” ; É uma especificação Java EE; Faces é mais fácil de aprender que outros frameworks; Faces é mais componentizado; Globalcode – Open4education
  4. 4. Benefícios Diversas bibliotecas de componentes disponíveis; Suporte nas principais IDEs; Ampla literatura, treinamentos e foruns de discussão; Integração com outras tecnologias e frameworks: Spring, JPA, EJB, JBoss Seam Encapsula a complexidade do HTML, CSS e JavaScript Oferece servicos fundamentais como conversores e validadores; Globalcode – Open4education
  5. 5. Deficiências na versão atual Não oferece Templates de tela “built in” Complexidade para criar componentes visuais Não permite criar Bookmarkble URLs Não suporta AJAX nativamente Incompatibilidade entre bibliotecas de componentes Uso de JSP: Scriptlets, CustomTags, etc Muitas configurações em XML Globalcode – Open4education
  6. 6. Principais Novidades do JSF 2.0 Suporte a anotações para configuração Suporte a AJAX PDL baseado em XHTML (Facelets) e JSP PDL extensível Novo escopo para MBs: ViewScoped e CustomScoped Bookmarkable URLs Globalcode – Open4education
  7. 7. Principais Novidades do JSF 2.0 Suporte a definição de estágio do projeto Mecanismo de Eventos Gerenciamento de Recursos Suporte a criação de componentes via XHTML Navegação implícita e condicional Globalcode – Open4education
  8. 8. Novas Anotações Suportadas @ManagedBean(name=”dashBoardBean”) @ManagedProperty(“#{taskManager}”) @RequestScoped @ViewScoped @SessionScoped @ApplicationScoped @CustomScoped @FacesConverter(forClass=Project.class) @FacesValidator Globalcode – Open4education
  9. 9. Suporte a AJAX <h:commandButton id="btnDeleteSprint" styleClass="botaoPostIt" action="#{sprintManager.remove}" value="#{i18n['sprint.show.button.delete']} AJAX" onclick="jsf.ajax.request(this, event, {execute: 'frmListSprints', render: 'frmListSprints'}); return false;" /> Também suporta uma tag: <f:ajax> Globalcode – Open4education
  10. 10. PDL baseado em XHTML <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"> Incorpora o Facelets. Não são necessárias configurações extras no web.xml. Globalcode – Open4education
  11. 11. Novo escopo: ViewScoped No web.xml: <managed-bean> <managed-bean-name>dashboardMB</managed-bean-name> <managed-bean-class>jsf.mb.DashboardMB</managed-bean-class> <managed-bean-scope>view</managed-bean-scope> </managed-bean> No Managed Bean: @ManagedBean(name="dashboardManager") @ViewScoped public class DashboardMB implements Serializable { ... } Globalcode – Open4education
  12. 12. Estágios do Projeto Estágios suportados: Production, Development, UnitTest e SystemTest No web.xml: <context-param> <param-name>javax.faces.PROJECT_STAGE</param-name> <param-value>Development</param-value> </context-param> Globalcode – Open4education
  13. 13. Mecanismo de Eventos Exemplos de código no ScrumToys: jsf2.demo.scrum.web.event.* jsf2.demo.scrum.web.controller.AbstractManager Alguns eventos suportados: AfterAddToParentEvent BeforeRenderEvent ViewMapCreatedEvent ViewMapDestroyEvent Suporte a tag: <f:event type=”...” listener=”...” /> Globalcode – Open4education
  14. 14. Gerenciamento de Recursos Novas tags: <h:head>, <h:body>, <h:outputScript> e <h:outputStyle> Acesso a recursos via EL: #{resouce[...]} ... <h:head> <title>#{dashboard2MB.name}</title> <h:outputStylesheet library="css/1_1" name="app.css"/> <h:outputScript library="javax.faces" name="ajax.js" target="head"/> </h:head> <h:body> ... <h:form id="frmDashboard"> <img src="#{resource['images/exemplo.jpg']}" width="50px"/> ... Globalcode – Open4education
  15. 15. Criação de Componentes Exemplo de definição de Composite Component em: /resources/components/postit.xhtml Exemplo de uso do componente em: /dashboard/show.xhtml Globalcode – Open4education
  16. 16. Navegação Implícita: <navigation-rule> <from-view-id>/page1.xhtml</from-view-id> <navigation-case> <from-outcome>success</from-outcome> <to-view-id>/page2.xhtml</to-view-id> </navigation-case> </navigation-rule> Não é necessário! Bastar no MB retornar: “page2”. Condicional: <navigation-case> <from-outcome>success</from-outcome> <to-view-id>/page2.xhtml</to-view-id> <if>#{foo.someCondition}</if> </navigation-case> Globalcode – Open4education
  17. 17. JSF Scrum Demo Aplicação para gestão de projetos, sprints, estórias e tarefas Implementa o conceito de skins permitindo ao usuário trocar as cores da tela JSF 2, JPA, Maven, Glassfish, JavaDB Implementa Bookmarkble URL Implementação de componentes compostos Open Source, parte do projeto Glassfish e agora NetBeans Usa Beans Validation Globalcode – Open4education
  18. 18. Demonstração do ScrumToys Globalcode – Open4education
  19. 19. Perguntas & Respotas Globalcode – Open4education
  20. 20. Referências JSF Scrum Demo http://www.globalcode.com.br/site/noticias/painel.seam? chave=jsf2scrumdemo Blog Ed Burns http://www.java.net/blogs/edburns Blog Ryan Lubke http://blogs.sun.com/rlubke/ JSF User Group http://groups.google.com.br/group/javasf?hl=pt-BR Globalcode – Open4education
  21. 21. Referências MC45 JavaServer Faces e Facelets: Um casamento perfeito http://www.globalcode.com.br/site/gratuitos/minicurso.seam?id=640 MC17 Introdução a JSF http://www.globalcode.com.br/site/gratuitos/minicurso.seam?id=362 MC27 Produtividade com JSF e EJB3 http://www.globalcode.com.br/site/gratuitos/minicurso.seam?id=428 MC31 Desenvolvendo um aplicativo completo com JSF, Facelets, Hibernate, AJAX e Design Patterns http://www.globalcode.com.br/site/gratuitos/minicurso.seam?id=458 Globalcode – Open4education

×