Your SlideShare is downloading. ×
  • Like
JSF 2.0 e ScrumToys
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

JSF 2.0 e ScrumToys

  • 2,286 views
Published

Palestra para o LinguÁgil 2009 em Salvador. …

Palestra para o LinguÁgil 2009 em Salvador.
Evento realizado entre os dias 12 e 14 de novembro de 2009 em Salvador. Palestra realizada no dia 14/11 das 17:20 às 18:10.

Published in Education , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,286
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
76
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. JSF 2.0 e ScrumToys Dr. Spock (Alberto Lemos) Profissional 1.5 Desenvolvedor/Instrutor Java Arquiteto Bacanão Globalcode – Open4education
  • 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. 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. 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. JavaServer Faces Página JSF Managed Bean config.xml faces- Globalcode – Open4education
  • 6. Demonstração Globalcode – Open4education
  • 7. 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 Globalcode – Open4education
  • 8. 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
  • 9. 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
  • 10. Novas Anotações Suportadas @ManagedBean(name=”dashBoardBean”) @ManagedProperty(“#{taskManager}”) @RequestScoped @ViewScoped @SessionScoped @ApplicationScoped @CustomScoped @FacesConverter(forClass=Project.class) @FacesValidator Globalcode – Open4education
  • 11. 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
  • 12. 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
  • 13. 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 { ... } Globalcode – Open4education
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. Demonstração do ScrumToys Globalcode – Open4education
  • 21. Perguntas & Respostas Globalcode – Open4education
  • 22. 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 spock@globalcode.com.br blog@spock.com.br Globalcode – Open4education
  • 23. 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