Pular para o conteúdo principal

JSF 2.0 e ScrumToys

No último JustJava promovido pelo grupo SouJava realizamos uma palestra apresentando algumas novidades do JSF 2.0 e a implementação exemplo chamada de ScrumToys. Agora disponibilizamos os slides desta apresentação.

O ScrumToys nasceu de uma iniciativa sem compromisso quando um grupo de desenvolvedores e instrutores da Globalcode resolveu atender o chamado do líder da especificação do JSF, Ed Burns, com uma solicitação de exemplos de aplicações web usando o maior número possível de funcionalidades do JSF 2.0. Como este grupo já possuía um versão alfa de uma aplicação desenvolvida pelo Vinicius Nunes (Globalcode/VOffice/Florianópolis), este grupo realizou diversas melhorias e correções nesta versão alfa para atender a solicitação do Ed Burns. Deste trabalho resultou o projeto chamado JSF 2.0 Scrum Whiteboard Application.

A aplicação web JSF 2.0 Scrum Whiteboard Application, ou simplesmente, ScrumToys é uma aplicação simples e completa que demonstra diversas funcionalidades da nova especificação do JSF através de um cadastro em banco de dados de algumas entidades usadas no processo ágil Scrum. O interesse do expert group do JSF 2.0 foi tão grande que agora esta aplicação será incorporada ao pacote de exemplos da implementação de referência (Mojarra) e integrada ao pacote de exemplos da nova versão do NetBeans.

As seguintes novidades do JSF 2.0 foram demonstradas nesta aplicação:
  • Uso de XHTML para descrever as telas (Facelets nativo);
  • Requisições Ajax;
  • Composite Components (componentes e tags customizados criados a partir de XHTML);
  • Navegação implícita;
  • Configuração de Managed Beans por anotações;
  • Novos componentes de estruturação de telas (<h:body>, <h:head>, <h:outputScript> e <h:outputStylesheet>)
  • Validação (BeanValidation) via anotações e integrado às mensagens JSF;
  • Injeção de contexto de persistência JPA (Entity Manager);
  • Propriedades gerenciadas e injetadas por anotações.
Além destas novidades do JSF 2.0, o projeto utiliza o Maven para configuração de dedendências, empacotamento e instalação no servidor de aplicações, uso de JPA 1.0 para persistência no banco de dados JavaDB e instalação simplificada para o Glassfish v3. A partir da compilação e empacotamento do projeto através do NetBeans ou a partir do arquivo WAR (Web ARchive) gerado, a instalação no Glassfish (com suporte a JSF 2.0) é simples e sem configurações extras.

Como o projeto é open source sob as licenças GPL-v2 e CDDL, o código fonte pode ser baixado e estudado por qualquer um que tenha um usuário no site java.net (cadastro online e gratuito). O download do projeto pode ser realizado por linha de comando com um cliente de Subversion (SVN) devidamente instalado:
svn checkout https://mojarra.dev.java.net/svn/mojarra/trunk/jsf-demo/sandbox/scrumtoys2009/eclipseProject scrumtoys --username <seu_usuario>
Após baixar o ScrumToys, a compilação e empacotamento podem ser realizados através do Maven com a seguinte linha de comando no diretório raiz do projeto:
mvn package
O arquivo WAR criado poderá ser instalado no Glassfish v3.

Contudo, um NetBeans pode ser usado para baixar, compilar e rodar o projeto no Glassfish integrado. Para tal, o pacote do NetBeans 6.8 (M1) com suporte a Java EE, Web e Glassfish deve ser baixado e instalado na máquina do desenvolvedor.

Outros detalhes sobre este projeto podem ser obtidos nas seguintes páginas:
Outras referências:

Comentários

Anônimo disse…
No slide 11 da apresentação, não seria "No faces-config.xml" ao invés de "No web.xml"?

Muito legal a inicitiva. Parabéns!
Daniel Borges Ribeiro disse…
Olá,

o link para o minicurso 45 citado em "referências" do slide acima não possui o link para download do pdf.
Eu gostaria de baixá-lo. Seria possível corrigir?

Obrigado(danielbribeiro@gmail.com)

Postagens mais visitadas deste blog

10 reasons why we love JSF

1. One-slide technology: it's so simple that I can explain basic JSF with one slide. 2. Easy to extend: components, listeners, render kit, Events, Controller, etc. 3. Real-world adoption: JBoss, Exadel, Oracle, IBM, ... 4. Architecture model: you can choose between more than 100 different architecture. 5. Open-mind community: using JSF you are going to meet very interesting people. 6. We are using JSF the last 5 years and we found very good market for JSF in Brazil 7. Progress: look to JSf 1.1 to JSF 1.2, JSF 1.2 to JSF 2.0. People are working really hard! 8. Many professionals now available 9. It's a standard. It's JCP. Before complain, report and help! 10. Ed Burns, spec leader, is an old Globalcode community friend! EXTRA: My wife is specialist in JSF. She's my F1 for JSF :) Nice job JSF community! -Vinicius Senger

Sistema interativo de TV Digital com Ginga-J

No início de 2009, os estudantes de Sistema de Informação do Centro Universitário de Votuporanga ( UNIFEV ), Caio César Pereira de Souza e Rodrigo Gonçalves Constantino me apresentaram uma proposta para que eu fosse co-orientador junto ao professor orientador Djalma Domingos da Silva , em seu Trabalho de conclusão de curso (TCC) com tema TV Digital. A base que motivou o assunto, foi a palestra apresentada por Maurício Leal na I Conferência Java Noroeste sobre o tema TV Digital, realizada em 2006 em Votuporanga-SP. Ficamos muito entusiasmados com a possibilidade de interatividade na TV Digital, e a grande quantidade de possibilidades de desenvolvimento de aplicativos nesta área. Acompanhamos de perto as notícias na imprensa e todo o esforço e iniciativas realizadas pelo Fórum do Sistema Brasileiro de TV Digital Terrestre (SBTVD) , que organizou e produziu especificações ABNT, normatizando o sistema de TV Digital Terrestre. O foco do TCC foi realizar o desenvolvimento de uma pequena ...

O que é Lógica de programação?

Este é o segundo de uma série de posts voltados aos leitores do blog que estão dando início à carreira de desenvolvimento de software. O assunto de hoje é a lógica de programação. Para ler antes: Entendendo como funciona a programação de computadores: linguagens de programação, lógica, banco de dados A lógica de programação é um pré-requisito para quem quer se tornar um desenvolvedor de software, independente da linguagem de programação que se pretende utilizar. Mas o que é de fato a Lógica de Programação e como saber se eu tenho esse pré-requisito? A lógica de programação nada mais é do que a organização coerente das instruções do programa para que seu objetivo seja alcançado. Para criar essa organização, instruções simples do programa, como mudar o valor de uma variável ou desenhar uma imagem na tela do computador, são interconectadas a estruturas lógicas que guiam o fluxo da execução do programa. Isso é muito próximo ao que usamos em nosso cotidiano para realizar atividad...

Google TV: Unboxing e Hello World

Recentemente recebemos um "presente" do Google Brasil, um dispositivo Google TV, modelo Sony NSZ-GT1, e coube a mim a honra de receber esse gadget e fazer o unboxing e um hello world para começar a explorar mais essa aposta do Google ! Conhecendo o Google TV Em maio de 2010, durante o Google I/O, a empresa anunciou a criação em conjunto com a Intel, Sony e Logitech a criação de uma plataforma de "Smart TV". Coube ao Google integrar a TV com o Android e também uma versão baseada em Linux do navegador Chrome. Porém, devido a uma série de fatores, como por exemplo a escassez de conteúdo e a ausência de aplicativos, o Google TV teve seu início competitivo um pouco abalado, inclusive alguns analistas na época diziam que o dispositivo era muito "beta". Pois bem, o Google percebeu que a plataforma não ia muito bem, mas não deixou de apostar na idéia, e durante o Google I/O desse ano eles apresentaram o Google TV 2.0 ! O dispositivo agora recebia um update d...

JSF 2 - Composite Components, você não precisa mais ser um ninja

Estamos em uma nova era da computação, os dados não estão mais localizados em um banco dentro de sua empresa, vivemos a explosão de redes sociais, informações são geradas a todo instante, e se torna essencial que sua aplicação conheça os serviços disponíveis na web e consumam suas APIs geralmente disponíveis por serviços REST. Legal, mas como ficam meus aplicativos Java EE neste novo cenário? Para quem vem acompanhando a evolução da plataforma, é notório que todo esforço vem sendo utilizado para aumentar a produtividade e a integração com novos serviços. Basicamente duas especificações surgem com muita força para atender este cenário, a JSR - 314 (JSF-2) e JSR - 311 (JAX-RS), neste post exploraremos a JSR-314 (JSF2) e sua nova forma de criar Composite Components. Uma das grandes queixas dos desenvolvedores JSF era a complexidade em criar composite components, era necessário um vasto conhecimento sobre o ciclo de vida de uma aplicação JSF. Agora, você não precisa ser mais um “ninja” em ...

JavaMail: Enviando e-mail com Java

Introdução Além da necessidade de envio de e-mail ser comum a várias aplicações, foi a pergunta de um aluno da Academia Java ,  “Como enviar um e-mail com Java?”, que me motivou a escrever este post sobre JavaMail. JavaMail Para realizar o envio de e-mail por meio de uma aplicação Java, precisamos da biblioteca JavaMail, pois ela não é incluída no Java SE. A biblioteca está disponível em http://www.oracle.com/technetwork/java/index-138643.html . Neste download, além da biblioteca mail.jar que inclui a implementação completa da API e providers, também é disponibilizada a documentação da biblioteca ( javadoc ) na pasta docs , alguns exemplos na pasta demo e partes da implementação em lib . A forma mais simples de utilizar a JavaMail e incluir o mail.jar , porém para uma aplicação que só envia e-mail como o nosso exemplo, necessitamos apenas dos arquivos mailapi.jar e smtp.jar , economizando 177KB. Como a economia é pouca e as aplicações evoluem, vamos adicionar o mail.j...