Arquivo

Posts Tagged ‘primefaces’

Bibliotecas de Interface Rica no JSF 2

Aprenda um pouco do que é RIA (Rich Internet Application) e veja um comparativo entre as três soluções de bibliotecas de interface rica para JSF: PrimeFaces, RichFaces e ICEfaces.

Essa palestra foi apresentada no CCT de maio do CEJUG e teve como base um artigo de minha autoria, intitulado Bibliotecas de Interface Rica no JSF 2, que saiu na edição 114 da Revista Java Magazine.

Anúncios

Como adicionar Captcha na aplicação JSF – solução com Recaptcha

Um problema muito sério em aplicações que possuem acesso aberto na internet é o uso de softwares automatizados que enviam inúmeras requisições seguidas, normalmente com a pretensão de gerar spam, diminuindo o desempenho de sistemas e gerando prejuízo às empresas.

A técnica mais utilizada para evitar esse problema é o emprego de imagens com letras distorcidas, que em alguns casos pode ter a adição de uma seqüência obscurecida das letras ou dos dígitos que aparecem na tela. O objetivo é evitar o uso de robôs, já que eles não conseguem fazer a leitura de imagens. Essa solução é conhecida como Captcha (da sigla Completely Automated Public Turing test to tell Computers and Humans Apart) e embora tenha recebido esse nome, é visto como um Teste de Turing reverso, uma vez que é administrado pelo computador e não por humanos.

No meus testes em JSF consegui utilizar as soluções do Tomahawk, do PrimeFaces, do JCaptcha e do Recaptcha. Todos são muitos simples de adicionar à aplicação, mas o Tomahawk  e o JCaptcha integrado ao JSF usam, para fazer a validação, um atributo em escopo de sessão com o valor da chave, o que muitas vezes não é desejado a nível de arquitetura. Já o PrimeFaces tem como base o Recaptcha da Google, mas a maioria dos desenvolvedores (eu me incluo entre eles) usa o RichFaces como solução de biblioteca de interface rica, tornando-se impensável colocar o PrimeFaces na aplicação apenas para ter o componente Captcha.

Por fim, meu último teste foi o Recaptcha, da Google. Vamos às vantagens da solução:

  1. Não utiliza a chave como atributo de sessão para validar a imagem;
  2. Ajuda a digitalizar livros e jornais (no momento estão sendo digitalizadas edições do The New York Times e livros do Google Books);
  3. É acessível para deficientes visuais;
  4. É popular: empresas como Facebook e TicketMaster utilizam;
  5. Tem compatibilidade com várias linguagens e aplicações.

Obviamente que nem tudo são flores. As desvantagens são:

  1. O serviço da Google está na web, portanto se ele cair (pouco provável), ou se o host onde a aplicação Java está não conseguir comunicação com ele, o componente não será exibido;
  2. O componente possui uma visual mais complexo do que os outros, o que às vezes confunde o usuário;

Pesando as desvantagens e as vantagens, decidimos optar pelo Recaptcha, que se mostrou com a melhor relação entre os dois aspectos. Vamos ao que interessa: como colocar na aplicação.

Leia mais