JSF 2.0 e ScrumToys

2,585 views

Published on

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
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,585
On SlideShare
0
From Embeds
0
Number of Embeds
658
Actions
Shares
0
Downloads
77
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

JSF 2.0 e ScrumToys

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

×