Pular para o conteúdo principal

RichFaces, JSF 2.0, Twitter, Marretadas e Cerveja

Com o advento do Java EE 6 temos a nossa disposição o JavaServer Faces 2.0, que traz diversas melhorias, inclusive um suporte nativo para aplicações Ajax. Nas versões anteriores do JSF o suporte a Ajax é viabilizado através de Servlet Filters e JSF Phase Listeners constantes nas bibliotecas de componentes especializadas (RichFaces, IceFaces, ...)

RichFaces é uma biblioteca importante para aplicações JavaServer Faces que oferece um poderoso conjunto de componentes Ajax, e sempre foi divulgada e utilizada aqui na Globalcode. Atualmente o RichFaces está na versão 3.x que é oficialmente compatível com JSF 1.2, enquanto que o RichFaces 4.0 atualmente em desenvolvimento será oficialmente compatível com JSF 2.0.

E se você quisesse migrar sua aplicação JSF / Richfaces para o Java EE 6 ? Esperaria pelo release do RichFaces 4.0 ?

Pois é, aconteceu comigo: Ao migrar aplicações instaladas no Glassfish V2, que suporta Java EE 5 e JSF 1.2 para o Glassfish V3 (Java EE 6, JSF 2.0), tropecei na falta de compatibilidade entre o RichFaces e o JSF 2.0.

Comecei a pesquisar sobre o assunto e no meio da minha pesquisa recebi um mensagem via Twitter do meu colega Globalcoder Eder Magalhães comentando sobre o RichFaces 3.3.3 (na época Beta, hoje CR1, essa semana talvez GA) e uma chance compatibilidade com JSF 2.0.

Eu tive a oportunidade de experimentar essa versão do RichFaces e a boa notícia é que funciona. Sim, com algumas marretadas, mas funciona. Consegui evoluir com a migração para o Java EE 6, sem ter que re-escrever as aplicações web ou abrir mão do excelente suporte a Ajax do RichFaces, e sem esperar pelo RichFaces 4.

Acompanhe aqui minha aventura e marretadas, onde compartilho duas soluções possíveis para uma migração imediata para o Java EE 6. Quem conseguir migrar tem direito a uma cerveja.

Feliz Páscoa a todos !

Renato Bellia
http://notasingleshot.blogspot.com
http://twitter.com/renatobellia

PS: Obrigado pela dica Eder!

Comentários

Unknown disse…
Show de bola Renato!

Com "suaves marretadas", rs. O que importa é que sem muito stress foi possível realizar a migração.

[]'s
Wagner Santos disse…
kkkk é nas marretadas que vc aprende e nunca mais esquece...

Valeu Bellia!

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

EJB 3: Uma evolução sob os conceitos do Hibernate e Spring

Definitivamente o modelo de componentização definido no Java EE 5 e 6 evoluiu e melhorou muito. Mas, sem dúvida muita dessa evolução se deve às pressões do Hibernate e Spring Framework. Estes dois últimos frameworks nasceram baseados no conceito de POJO, que nada mais é do que a concepção de um modelo de componentização baseado em classes Java sem as regras impostas pelo EJB (curioso, sem o EJB não existiria o Hibernate ou o Spring). A morte dos Entity Beans O Hibernate nasceu da idéia de promover um modelo de persistência mais simples que o proposto pelos EJBs do tipo Entity Beans definido na especificação EJB 2.x. Este foi o primeiro tipo de EJB a sofrer com a evasão de desenvolvedores com o surgimento deste framework e a conscientização sobre os problemas nos Entity Beans. A partir de um modelo baseado em JavaBeans e o uso do JDBC, o Hibernate usa a Reflection API para gerar os SQLs necessários para persistir o estado de beans em diversos banco de dados relacionais, além de defini...

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

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

Java no mundo das Telecomunicações

Este é meu primeiro post aqui no blog e gostaria de dizer que estou muito feliz em também poder contribuir com esta grande (e crescente) família Globalcode. Vou começar escrevendo aqui sobre um tópico pouco explorado no universo Java: o seu uso no mundo das telecomunicações. Vários de vocês podem ter trabalhado em projetos para empresas de telecom utilizando a tecnologia Java. Eu mesmo já participei de alguns, implantando sistemas de tarifação, faturamento, CRM e cobrança. Mas o objetivo deste post é um pouco diferente: estou falando do uso de Java na própria rede de telecom. Como vocês podem imaginar, esta rede que permite que ligações telefônicas sejam feitas de seu celular ou aparelho fixo é um tanto quanto complexa, lidando com aspectos como roteamento, bilhetagem, roaming , etc. E o Java está presente neste cenário também. Para provar que não estou mentindo, abram o site do JCP e cliquem no link "JSRs by Technology". Observem que uma das categorias lista é a JAIN ( Jav...

NIO.2 do Java 7: uma nova API do Java para file system

Uma das novidades mais importantes e aguardadas do Java 7 foi a NIO.2, a nova API para a manipulação I/O com Java. A NIO.2, também conhecida como JSR 203 , disponibiliza um conjunto de novos componentes, projetados para melhorar caracterísiticas de I/O com Java como por exemplo: uma nova API para o acesso e manipulação de conteúdo do file system (sistema de arquivos); outra API para operações assíncronas com I/O; e a atualização da API para comunicação via sockets ( channel sockets ).   O Java, antes da versão 7, tratava a manipulação do sistema de arquivos de forma primitiva. O programador tinha de trabalhar com a classe File para representar arquivos e/ou diretórios, com um número escasso de funcionalidades. Uma operação simples como copiar um arquivo demandava um código relativamente grande. Outras funcionalidades triviais, como por exemplo o uso de links simbólicos, não eram suportadas. Esses são alguns dos motivos para justificar o uso de bibliotecas terceiras...