2. Apresentação
● Mestre em Ciência da Computação
● Professor na Universidade do Oeste de Santa Catarina - Unoesc
(unoesc.edu.br)
● Sócio proprietário da Camtwo Sistemas (camtwo.com.br)
● A mais de 10 anos trabalhando com Java e web
● Autor do agosti.blog.br
● Participante da comunidade oesc-livre.org
Cristiano Agosti
3. Agenda
● Motivação
● Conceito
● Surgimento
● Características
● Vantagens e Desvantagens
● Por onde começar
● Funcionamento
● Estrutura de um Projeto
● Configurações
● Integração
8. ● Desenvolvido por Guilherme Silveira no IME-USP em 2003
● Versão 2 em 2004
● Versão 3 em 2009
● Mantido pela empresa Caelum (http://vraptor.caelum.com.br)
● Fontes https://github.com/caelum/vraptor
● Apostila http://www.caelum.com.br/apostilas
QUEM DISSE QUE PROGRAMAR JAVA PRA WEB
TINHA QUE SER CHATO?
Surgimento
17. Vantagens
● Framework Brasileiro Open source
● Traz alta produtividade e facilidades de outros mundos
(ex. Grails, Rails)
● Encapsula a lógica dos Servlets
● Baseado em Configuração por Convensão
● Utiliza Injeção de Dependência
● Construção de Ações usando Anotações
34. Rest
A Transferência de Estado Representacional
(Representational State Transfer) ou somente (REST)
é uma técnica de engenharia de software para
sistemas hipermídia distribuídos como a World Wide
Web. (Roy Fielding)
36. Ganhos Rest
● Menor acoplamento da view com controller
● O desenvolvedor web não precisa conhecer os métodos
presentes na classe Java
● Integração Rest com outras linguagens
38. Escopo
● @RequestScoped - o componente é o mesmo durante
uma requisição
● @SessionScoped - o componente é o mesmo durante
uma http session
● @ApplicationScoped - component é um singleton,
apenas um por aplicação
● @PrototypeScoped - component é instanciado sempre
que requisitado.
40. Result
● Classe Result deve ser injetada no construtor
● result.include("pessoas", pessoas);
● result.include("pessoa", pessoa);
● result.redirectTo(this).formulario();
● result.use(json())
● result.use(xml())
53. Como Contribuir
● Participando das listas de discussões (guj e google groups)
● Colaborando com a documentação
● Reportando bugs e sugerindo novas funcionalidades
● Montando o ambiente
● Colaborando com código (github)
54. Fontes de Exemplos
● Os códigos apresentados podem ser obtidos no endereço:
● https://github.com/agosti
55. Considerações
● É preciso analisar o problema que se quer resolver (cada
caso é um caso)
● Alternativa a mais
● Curva de aprendizado pequena
● Código fonte Livre
● Saiba analisar os frameworks