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

Vem vindo novidade por ai... Minicurso de desenvolvimento iOS

Ola pessoal, Depois de uma conversa com a Yara, resolvemos colocar em prática uma idéia que já tinhamos a um tempo, que é aumentar as opções de mobilidade no portifólio da Globalcode e também da iniciativa Open4Education. E nesse caso estamos falando de um minicurso sobre desenvolvimento para iPhone e iPad. O objetivo desse minicurso vai ser mostrar que desenvolver para iOS não é tão complicado como se pode pensar e que não é preciso ter medo do Objective-C ! Serão algumas horas onde os alunos poderão entender os fundamentos da plataforma, como funciona o programa para desenvolvedores da Apple, preparação do ambiente e dos devices de teste e também um overview dos layers de desenvolvimento do iOS. Além disso, o objetivo também vai ser passar um pouco da minha experiência na "migração" que fiz de Java (seja SE, ME ou Android) para o novo mundo do Objective-C e Cocoa Touch. O material está no começo e ainda não temos uma data certa (só sabemos que a primeira edição desse minicu...

Transmissão do minicurso Google App Engine

Os minicursos gratuitos realizados através da iniciativa Open4Education da Globalcode têm sido transmitidos ao vivo em forma de webcast e eu tenho acompanhado pessoalmente muitos deles, conversado com os alunos no chat, observando a qualidade e as limitações das transmissões. Sem dúvida o aproveitamento presencial é muito maior, principalmente pelo networking e pelo foco dado ao conteúdo. Mas, para aqueles que não estão em São Paulo o custo benefício é sensacional. Mesmo perdendo um pouco nas transmissões, é muito melhor poder assistir os minicursos à distância. Com o sucesso das transmissões do Profissão Java e do The Developer's Conference 2010 queremos melhorar e atingir um público ainda maior, e é por isto, que iremos fazer a primeira transmissão ao vivo em parceria com a WTV Streaming hoje! Os principais benefícios desta parceria são: Transmissão do vídeo e não apenas do conteúdo que está sendo projetado Captação e edição do conteúdo, para posterior disponibilizaç...

Facelets uma forma mais ágil para construção de telas – Parte I

A construção de telas ou camada de apresentação em um sistema MVC seja web ou desktop é uma tarefa complexa e de extrema importância. Nesse post vou comentar e mostrar algum exemplo do Facelets como solução para os desafios existentes nessa etapa especificamente para web. Com a web cada vez mais presente em nosso dia-a-dia, um fato é que com isso nossos usuários tornam-se mais exigentes em relação a usabilidade, agilidade, performance ou de uma forma bem resumida “o usuário espera uma navegação simples e agradável aonde uma determinado tarefa possa ser concluída em poucos passos e em um curto espaço de tempo”. Atender as expectativas em relação ao que o usuário espera com o que realmente ele precisa, definir uma estrutura flexível a mudanças sem engessar o desenvolvimento, acessibilidade, portabilidade em múltiplos navegadores, tudo isso e muito mais, num prazo que quase sempre é apertado. Um outro ponto fundamental é manter o time motivado e produtivo em um ambiente que favoreça a...

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...

JavaOne Brasil, dicas para submissão de palestras

Não quero parecer pretensiosa dando dicas para submissão de palestras para o JavaOne Brasil, mas sim repassar os tantos conselhos e sugestões recebidas pelos vetaranos do JavaOne: Bruno Souza e Leonardo Galvão que revisaram dezenas de submissões para o JavaOne e ajudaram a aprovar tantas palestras, e também misturar um pouco da minha experiência na seleção de palestras nos eventos realizados pela Globalcode e SouJava . 10 anos de JavaOne: http://www.globalcode.com.br/noticias/Globalcode10AnosNoJavaOne Os palestrantes ganham a entrada! A submissão pode ser feita em português! O passo mais importante para ser aprovado como palestrante no JavaOne é sem dúvida nenhuma submeter pelo menos uma palestra. Então, independente de qualquer coisa, participe, arrisque, divulgue.  Mas, se quiser aumentar as suas chances...   1) Leve a sério: peça para amigos fazerem uma leitura crítica do texto, e claro uma boa revisão ortográfica. 2) Submissão de várias palestras ou variações do ...