Download - JSF 2.0 e ScrumToys
![Page 1: JSF 2.0 e ScrumToys](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559511611a28ab06108b479a/html5/thumbnails/1.jpg)
Globalcode – Open4education
JSF 2.0 e ScrumToysDr. Spock (Alberto Lemos)
D
Profissional 1.5Desenvolvedor/Instrutor Java
Arquiteto Bacanão
![Page 2: JSF 2.0 e ScrumToys](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559511611a28ab06108b479a/html5/thumbnails/2.jpg)
Globalcode – Open4education
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
![Page 3: JSF 2.0 e ScrumToys](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559511611a28ab06108b479a/html5/thumbnails/3.jpg)
Globalcode – Open4education
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;
![Page 4: JSF 2.0 e ScrumToys](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559511611a28ab06108b479a/html5/thumbnails/4.jpg)
Globalcode – Open4education
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;
![Page 5: JSF 2.0 e ScrumToys](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559511611a28ab06108b479a/html5/thumbnails/5.jpg)
Globalcode – Open4education
JavaServer FacesP
ág
i na
JSF
faces-
con
f ig
.xm
l
Man
ag
ed
Bean
![Page 6: JSF 2.0 e ScrumToys](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559511611a28ab06108b479a/html5/thumbnails/6.jpg)
Globalcode – Open4education
Demonstração
![Page 7: JSF 2.0 e ScrumToys](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559511611a28ab06108b479a/html5/thumbnails/7.jpg)
Globalcode – Open4education
Deficiências na versão atual (JSF 1.2)
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
![Page 8: JSF 2.0 e ScrumToys](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559511611a28ab06108b479a/html5/thumbnails/8.jpg)
Globalcode – Open4education
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
![Page 9: JSF 2.0 e ScrumToys](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559511611a28ab06108b479a/html5/thumbnails/9.jpg)
Globalcode – Open4education
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
![Page 10: JSF 2.0 e ScrumToys](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559511611a28ab06108b479a/html5/thumbnails/10.jpg)
Globalcode – Open4education
Novas Anotações Suportadas@ManagedBean(name=”dashBoardBean”)@ManagedProperty(“#{taskManager}”)@RequestScoped@ViewScoped@SessionScoped@ApplicationScoped@CustomScoped@FacesConverter(forClass=Project.class)@FacesValidator
![Page 11: JSF 2.0 e ScrumToys](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559511611a28ab06108b479a/html5/thumbnails/11.jpg)
Globalcode – Open4education
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>
![Page 12: JSF 2.0 e ScrumToys](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559511611a28ab06108b479a/html5/thumbnails/12.jpg)
Globalcode – Open4education
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.
![Page 13: JSF 2.0 e ScrumToys](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559511611a28ab06108b479a/html5/thumbnails/13.jpg)
Globalcode – Open4education
Novo escopo: ViewScoped
No faces-config.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 {
...
}
![Page 14: JSF 2.0 e ScrumToys](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559511611a28ab06108b479a/html5/thumbnails/14.jpg)
Globalcode – Open4education
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>
![Page 15: JSF 2.0 e ScrumToys](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559511611a28ab06108b479a/html5/thumbnails/15.jpg)
Globalcode – Open4education
Mecanismo de Eventos
Exemplos de código no ScrumToys:jsf2.demo.scrum.web.event.*jsf2.demo.scrum.web.controller.AbstractManager
Alguns eventos suportados:AfterAddToParentEventBeforeRenderEventViewMapCreatedEventViewMapDestroyEvent
Suporte a tag: <f:event type=”...” listener=”...” />
![Page 16: JSF 2.0 e ScrumToys](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559511611a28ab06108b479a/html5/thumbnails/16.jpg)
Globalcode – Open4education
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"/>...
![Page 17: JSF 2.0 e ScrumToys](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559511611a28ab06108b479a/html5/thumbnails/17.jpg)
Globalcode – Open4education
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
![Page 18: JSF 2.0 e ScrumToys](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559511611a28ab06108b479a/html5/thumbnails/18.jpg)
Globalcode – Open4education
NavegaçãoImplí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>
![Page 19: JSF 2.0 e ScrumToys](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559511611a28ab06108b479a/html5/thumbnails/19.jpg)
Globalcode – Open4education
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
![Page 20: JSF 2.0 e ScrumToys](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559511611a28ab06108b479a/html5/thumbnails/20.jpg)
Globalcode – Open4education
Demonstração do ScrumToys
![Page 21: JSF 2.0 e ScrumToys](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559511611a28ab06108b479a/html5/thumbnails/21.jpg)
Globalcode – Open4education
Perguntas & Respostas
![Page 22: JSF 2.0 e ScrumToys](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559511611a28ab06108b479a/html5/thumbnails/22.jpg)
Globalcode – Open4education
Mais informações
Blog da Globalcode http://blog.globalcode.com.br/2009/10/jsf-20-e-scrumtoys.html
Blog do Spock http://blog.spock.com.br/
E-mail do Spock [email protected] [email protected]
![Page 23: JSF 2.0 e ScrumToys](https://reader034.vdocuments.pub/reader034/viewer/2022052316/559511611a28ab06108b479a/html5/thumbnails/23.jpg)
Globalcode – Open4education
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