Artigo do tipo Tutorial
Recursos especiais neste artigo:
Contém Solução Completa.
Autores: Fernanda Cristina Girelli e Everton Coimbra de Araújo
Desenvolvendo aplicações web com RichFaces
Este artigo tem por objetivo apresentar o framework RichFaces. Deste modo, serão abordados procedimentos de configuração, bem como alguns dos seus componentes utilizados na criação de interfaces gráficas. Os componentes do RichFaces serão exemplificados por meio do desenvolvimento de uma aplicação Web, referente a um cadastro de funcionários e departamentos.

Em que situação o tema é útil
Este tema é útil para quem deseja conhecer e utilizar o RichFaces no desenvolvimento de aplicações Web baseadas na tecnologia JavaServer Faces. Com este framework, a construção das interfaces visuais das aplicações se torna mais simples, fácil e rápida, além de trazer excelentes resultados para a usabilidade.

Quando se trata do desenvolvimento de uma aplicação Web, a parte mais preocupante e, talvez, a mais trabalhosa para a maioria dos programadores, é a criação da interface gráfica das páginas. Esta preocupação se dá pelo fato da aplicação precisar oferecer ao usuário uma interface amigável, compatível com os padrões visuais encontrados na Internet hoje em dia.

A questão da usabilidade também é um fator importante no desenvolvimento de páginas Web. Se um site for difícil de navegar, de encontrar informações, ou seja, o site não apresentar de maneira clara e objetiva os produtos/recursos/serviços que tem a oferecer, o usuário se sentirá perdido e, é bem provável, que não permaneça na página.

No que diz respeito à navegação dos usuários em um website, Nielsen e Loranger (2000) afirmam que cada página do site precisa apresentar sua importância de maneira bem justificada ao usuário, de forma que, ao acessar a página, ele já consiga identificar qual é o objetivo principal dela, sem precisar utilizar o scroll do mouse para ver o que ela contém.

Um site que possui uma interface visual intuitiva e agradável atrai com mais facilidade a atenção do usuário ao seu conteúdo. O layout das páginas Web deve transmitir a informação desejada com eficiência, utilizando recursos (linguagem, cores, figuras, entre outros) que condizem com o objetivo do site.

No desenvolvimento de aplicações Web é bastante comum a utilização de Servlets. Os Servlets são classes desenvolvidas em Java, onde é possível criar/trabalhar com objetos e gerar páginas HTML dinamicamente, de acordo com a requisição do usuário. Com apenas Servlets e HTML é possível construir um site, porém existem grandes desvantagens nessa prática, como: dificuldades na programação e na manutenção; e o design do site ainda fica a cargo do programador, e não do web designer.

Com o surgimento de frameworks para o desenvolvimento Web, a tarefa de desenvolver uma aplicação Web de aparência amigável e dentro dos padrões de usabilidade foi se tornando menos complicada. O JavaServer Faces (JSF) foi um desses frameworks que proporcionou um grande avanço no desenvolvimento de páginas Web.

O JSF é um framework MVC baseado na linguagem Java que tem por objetivo facilitar o desenvolvimento de aplicações Web. Sua primeira especificação foi lançada em 2004, trazendo diversos benefícios ao programador. Atualmente, ele encontra-se disponível na versão 2.0, oferecendo componentes visuais ainda mais fáceis de serem utilizados, suporte a Ajax, entre outras vantagens.

Entretanto, mesmo com os recursos oferecidos por ele, ainda se faz necessário utilizar folhas de estilos (CSS) para criar a identidade visual das páginas, pois os componentes do JSF são apresentados ao usuário sem qualquer tipo de formatação visual.

Nesse contexto surgiram vários frameworks que visam facilitar o processo de construção da interface visual das aplicações, oferecendo suporte a CSS e à criação e utilização de templates. Entre esses frameworks estão o Apache Tobago da Apache Software Foundation, o PrimeFaces e o RichFaces.

Neste artigo será apresentado o framework RichFaces, que surgiu com o objetivo de reduzir o trabalho a ser realizado por parte dos desenvolvedores, oferecendo facilidade e agilidade no uso e na criação de componentes visuais relacionados a aplicações web.

O RichFaces originou-se a partir do Ajax4Jsf, criado por Alexander Smirnov e lançado em 2006 em parceria com a Exadel. Mas foi somente em setembro de 2007 que o framework foi originalmente lançado sob organização da JBoss, sua atual proprietária. Atualmente ele é distribuído como framework de licença gratuita e já se encontra disponível na versão 4, oferecendo uma rica biblioteca de componentes visuais que são utilizados juntamente com os componentes do JSF.

Com base nisso, neste artigo serão apresentadas algumas das características do framework, bem como o desenvolvimento de uma aplicação Web, referente a um cadastro de funcionários e departamentos, com o objetivo de demonstrar os passos da configuração e a utilização de alguns dos seus componentes.

Conhecendo o RichFaces

O RichFaces é um framework de código aberto que disponibiliza uma biblioteca de componentes UI (User Interface) que são utilizados em aplicações desenvolvidas a partir do JavaServer Faces. Uma das principais características desse framework é o uso integrado de Ajax em seus componentes. Desta maneira, deixa de ser necessária a criação de funções que executem códigos JavaScript.

A versão mais recente do RichFaces (4.0) oferece suporte total ao JSF 2 e é executada em qualquer Web Container ou servidor de aplicação compatível com o Java EE 6 (GlassFish, JBoss AS). Também é suportada por grande parte dos navegadores, entre eles: Mozilla Firefox, Internet Explorer, Google Chrome, Opera e Safari.

O RichFaces é dividido, basicamente, em duas bibliotecas, sendo elas: RichFaces e Ajax4Jsf (por convenção, são representadas pelas tags rich e a4j, respectivamente). Nas tags a4j são disponibilizados componentes que executam as requisições Ajax como, por exemplo, o <a4j:param>, que é responsável por atribuir um valor a uma variável em um ManagedBean. Já nas tags rich são disponibilizados os componentes UI utilizados na criação da interface visual da aplicação. Entre eles está o <rich:calendar>, que permite ao usuário selecionar uma data em um calendário mensal. Nas tags rich também são oferecidos os esquemas de cores (skins) para os componentes. Esses skins possibilitam padronizar o visual de todas as páginas da aplicação.

Configurando o RichFaces

Para que os desenvolvedores possam utilizar as bibliotecas do RichFaces em suas aplicações Web, alguns requisitos devem ser atendidos:

· Ter um Web Container compatível com o Java EE 6. Neste artigo será utilizado o Tomcat 7;

· Java Development Kit (JDK) 1.5 ou superior;

· Bibliotecas do JavaServer Faces 2 (jsf-api.jar e jsf-impl.jar). Lembrando que, para este artigo, o JSF 2 já deverá estar configurado no projeto Web;

· Bibliotecas externas para o funcionamento do RichFaces, a saber:

o cssparser.jar: esta biblioteca permite que os estilos CSS sejam adicionados nos componentes do RichFaces. Caso este JAR não seja adicionado ao projeto, os componentes assumirão o layout HTML comum, ou seja, sem qualquer tipo de formatação visual;

o sac.jar: esta biblioteca é composta por classes Java que são responsáveis por oferecer uma interface para tratamento de CSS. É nesta biblioteca que está inclusa a implementação do CSS Parser descrito anteriormente;

o guava-r08.jar: este JAR é referente ao projeto Guava do Google. Ele oferece uma serie de bibliotecas baseadas na linguagem Java que trabalham com coleções, processamento de String, caching, entre outras.

· Bibliotecas do RichFaces 4 (para este artigo, será utilizada a versão 4.2.3), a saber:

o richfaces-components-api-4.2.3.CR1.jar;

o richfaces-components-ui-4.2.3.CR1.jar;

o richfaces-core-api-4.2.3.CR1.jar;

o richfaces-core-impl-4.2.3.CR1.jar.

Após realizar download das bibliotecas referentes ao funcionamento do RichFaces (veja ...

Quer ler esse conteúdo completo? Tenha acesso completo