vraptor: o framework de aprendizado java web ... - Project Kenai
vraptor: o framework de aprendizado java web ... - Project Kenai
vraptor: o framework de aprendizado java web ... - Project Kenai
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
VRAPTOR: O FRAMEWORK DE APRENDIZADO JAVA WEB<br />
AUGUSTO BEVILAQUA<br />
RAFAEL CIRINO LACERDA<br />
SAULO ALMEIDA LIMA<br />
RESUMO<br />
Framework MVC Java voltado para facilitar o <strong>de</strong>senvolvimento <strong>de</strong> aplicações <strong>web</strong>,<br />
o VRaptor é uma opção aos <strong>de</strong>senvolvedores <strong>de</strong>vido à sua facilida<strong>de</strong> <strong>de</strong> <strong>aprendizado</strong><br />
e fácil configuração, além <strong>de</strong> ser gratuito e <strong>de</strong> código aberto (open source).<br />
ABSTRACT<br />
Java MVC <strong>framework</strong> <strong>de</strong>signed to facilitate the <strong>de</strong>velopment of <strong>web</strong> applications,<br />
"VRaptor” is an option for <strong>de</strong>velopers because of the fact that is easy to learn and<br />
setup, to be free and open source (open source).<br />
PALAVRAS-CHAVE:<br />
Framework; Java; open source; <strong>web</strong>; VRaptor.<br />
KEYWORDS<br />
Framework; Java; open source; <strong>web</strong>; VRaptor.
2<br />
1 INTRODUÇÃO<br />
Po<strong>de</strong>roso controlador MVC open source. É voltado para <strong>de</strong>senvolvimento ágil e <strong>de</strong> alta<br />
produtivida<strong>de</strong>. Implementa um controlador baseado no padrão Front Controller.<br />
É <strong>de</strong>senvolvido pela Caelum, mas disponível para uso geral. Além da própria Caelum, é<br />
usado em outros projetos (como o GUJ e o JForum) e por várias empresas. (CAELUM, A-<br />
POSTILA-FJ28)<br />
2 O DESENVOLVIMENTO<br />
As versões iniciais foram criadas por Alexandre Freire e Paulo Silveira quando ainda a-<br />
lunos do BCC no IME/USP para um projeto do <strong>de</strong>partamento <strong>de</strong> estatística. O projeto cresceu<br />
<strong>de</strong> forma contínua <strong>de</strong>s<strong>de</strong> então e, principalmente a partir da versão 2, vem influenciando significativamente<br />
a comunida<strong>de</strong> brasileira.<br />
Atualmente, é <strong>de</strong>senvolvido primariamente pela Caelum e utilizado por diversas entida<strong>de</strong>s,<br />
como a Agência Click, a Defferrari Informática, a IG Celular, a LocaWeb, o GUJ.com.br<br />
entre outros, como a própria Caelum com a utilização do <strong>framework</strong> na sala <strong>de</strong> aula em seus<br />
próprios cursos que ministra. (CCSL)<br />
A Caelum atua no mercado <strong>de</strong>s<strong>de</strong> 2002, <strong>de</strong>senvolvendo sistemas e prestando consultoria<br />
em diversas áreas, à luz sempre da plataforma Java. Foi fundada por profissionais que se encontraram<br />
no Brasil <strong>de</strong>pois <strong>de</strong> uma experiência na Alemanha e Itália, <strong>de</strong>senvolvendo sistemas<br />
<strong>de</strong> gran<strong>de</strong> porte com integração aos mais variados ERPs, além <strong>de</strong> oferecer cursos amplamente<br />
conhecido no meio acadêmico. (CAELUM)<br />
3 O FRAMEWORK<br />
O VRaptor 3 foca em simplicida<strong>de</strong> e, portanto, todas as funcionalida<strong>de</strong>s têm como primeira<br />
meta resolver o problema do programador da maneira menos intrusiva possível em seu<br />
código. Tanto para salvar, remover, buscar e atualizar ou ainda funcionalida<strong>de</strong>s que costumam<br />
ser mais complexas como upload e download <strong>de</strong> arquivos, resultados em formatos diferentes<br />
(xml, json, xhtml etc), tudo isso é feito através <strong>de</strong> funcionalida<strong>de</strong>s simples do VRaptor 3, que<br />
sempre procuram encapsular HttpServletRequest, Response, Session e toda a API do <strong>java</strong>x.servlet.<br />
(VRAPTOR, CAELUM)<br />
O VRaptor trabalha com a idéia <strong>de</strong> POJOs (Plain Old Java Objects) como componentes<br />
para executar as lógicas <strong>de</strong> negócio. (CAELUM, APOSTILA-FJ28)<br />
A idéia na utilização <strong>de</strong>sse <strong>framework</strong> é com a criação <strong>de</strong> objetos muito simples, com código<br />
Java comum, o <strong>framework</strong> entenda-o <strong>de</strong> maneira fácil. (CAELUM, APOSTILA-FJ28)<br />
Seus principais méritos são:<br />
<br />
Framework MVC Java para <strong>web</strong> focado em <strong>de</strong>senvolvimento rápido;
3<br />
<br />
<br />
Gran<strong>de</strong> comunida<strong>de</strong> <strong>de</strong> usuários e <strong>de</strong>senvolvedores;<br />
Ampla documentação disponível em Português.<br />
4 BENEFÍCIOS<br />
Os principais benefícios, segundo o site CAELUM, VRAPTOR são:<br />
4.1 ALTA PRODUTIVIDADE<br />
O VRaptor 3 é simples e intuitivo. On<strong>de</strong> o foco é atingir níveis altíssimos <strong>de</strong> produtivida<strong>de</strong><br />
com Java para <strong>web</strong>.<br />
4.2 CURVA DE APRENDIZADO<br />
Sua proposta é que em pouco tempo o usuário aprenda o necessário para iniciar o<br />
<strong>de</strong>senvolvimento.<br />
4.3 TESTABILIDADE<br />
Usando códigos modularizado e <strong>de</strong>sacoplado do VRaptor, a aplicação fica altamente<br />
testável e <strong>de</strong> fácil manutenção.<br />
4.4 ECONOMIA<br />
Com a facilida<strong>de</strong> no treinamento da equipe, a economia <strong>de</strong> horas <strong>de</strong> trabalho gerará<br />
alta produtivida<strong>de</strong> utilizando o VRaptor.<br />
4.5 FLEXIBILIDADE<br />
Po<strong>de</strong> ser integrado à projetos com qualquer outro <strong>framework</strong>, sem pren<strong>de</strong>r o <strong>de</strong>senvolvedor<br />
a nenhuma tecnologia específica.<br />
4.6 SOA E REST - READY<br />
Po<strong>de</strong>m ser feitas aplicações RESTful ou orientadas a serviço sem complicações,<br />
como se estivesse fazendo aplicações <strong>web</strong> normais.
4<br />
4.7 MELHORES PRÁTICAS DE DESENVOLVIMENTO<br />
Utilizando os conceitos <strong>de</strong> Injeção <strong>de</strong> Dependência, Inversão <strong>de</strong> Controle e PO-<br />
JOs, esse <strong>framework</strong> <strong>de</strong>ixa o código mais simples e testável.<br />
4.8 DOCUMENTAÇÕES EM PORTUGUÊS<br />
Ampla documentação, fóruns e listas <strong>de</strong> discussão em português.<br />
5 CONFIGURAÇÃO / UTILIZAÇÃO<br />
Com o Eclipse, você po<strong>de</strong> começar seu projeto a partir do <strong>vraptor</strong>-blank-project, que<br />
contem as <strong>de</strong>pendências necessárias e a configuração no <strong>web</strong>.xml.<br />
Ele po<strong>de</strong> ser baixado em: http://<strong>vraptor</strong>.caelum.com.br/download.jsp<br />
O VRaptor trabalha por convenções o que diminui relativamente o número <strong>de</strong> configurações.<br />
6 CONCLUSÃO<br />
O VRaptor, atualmente na versão 3, é um <strong>framework</strong> MVC para <strong>web</strong> focado no<br />
<strong>de</strong>senvolvimento ágil. Através da inversão <strong>de</strong> controle e da injeção <strong>de</strong> <strong>de</strong>pên<strong>de</strong>ncias, o tempo<br />
<strong>de</strong> trabalho com ele é drasticamente reduzido, graças à eliminação <strong>de</strong> código repetitivo: validações,<br />
conversões, direcionamentos, ajax e lookups (CCSL).<br />
Por ser uma <strong>framework</strong> grátis, voltado ao meio acadêmico e <strong>de</strong> fácil <strong>aprendizado</strong>,<br />
é uma ferramenta com gran<strong>de</strong> potencial <strong>de</strong> utilização com foco no <strong>de</strong>senvolvimento <strong>web</strong>, pois<br />
além da própria Caelum (quem produziu), várias empresas já adotaram esse <strong>framework</strong>, no<br />
<strong>de</strong>senvolvimento <strong>de</strong> sistemas Java.
5<br />
REFERÊNCIAS<br />
Caelum. Caelum - Ensino à distância. Disponível em:<br />
. Acesso em: 20 nov. 2009.<br />
Caelum, Apostila-fj28. Web 2.0 com VRaptor, Hibernate e Ajax. Disponível em:<br />
. Acesso em: 20 nov.<br />
2009.<br />
VRaptor, Caelum. VRaptor3. Disponível em:<br />
< http://<strong>vraptor</strong>.caelum.com.br/ >. Acesso em: 20 nov. 2009.<br />
CCSL. VRaptor. Disponível em:<br />
< http://ccsl.ime.usp.br/pt-br/project/<strong>vraptor</strong> >. Acesso em: 25 nov. 2009.