REST e o futuro das aplicações webRafael Nunes - www.yaw.com.br
Rafael Nunes Desenvolvedor há mais de uma década Sócio da YaW Java, Python e outras coisas menos glamurosas(ASP,  VDF7)...
A web, esta velha desconhecida Mais importante que aprender a última tecnologia da  moda, é compreender os fundamentos qu...
HTTP Hiper Text Transfer Protocol Dos tempos imemoriaveis da ARPA NET Transferência de hipertexto www.pudim.com.br - f...
Dissecando o HTTP - Request Abre uma conexão TCP Monta envelope de request:   Cabeçalho: Informações sobre o    usuário...
Dissecando o HTTP - Response Recebe envelope para processamento Interpreta requisição do usuário Monta envelope de resp...
HTTP - Características Stateless/ Sem estado Não mantém uma conexão de vida longa entre cliente  e servidor Virtude ou ...
HTTP - Caracterísicas Síncrono Não há resposta sem requisição Efeito da natureza stateless Ajax, (Long) Pooling
HTTP - Características E as sessões? A má notícia é que elas não existem A boa notícia é que temos boas alternativas pa...
Web atual Estamos em um momento de transição:   A web ‘tradicional’   HTML5 e suas novas tecnologias(localStorage, sess...
Web como plataforma O que é uma requisição HTTP?  R: Uma representação de determinado recurso no  servidor web em determi...
REST Representation State Transfer A proposta é continuar com o que temos feito, mas  utilizando verdadeiramente o proto...
REST HTTP é feito de verbos Que ver algo? GET, HEAD, TRACE Quer modificar algo? PUT, POST, DELETE
REST HTTP é feito de status: Foi tudo bem? 20x O que eu procuro não está mais ai? 30x Não pedi do jeito certo? 40x Ho...
REST e JEE Especificado pela JSR 127 JAX-RS e Jersey é a implementação de referência Diversos outros frameworks: RestEa...
REST como camada web É possível criar uma arquitetura REST com JEE desde  sempre, com servlets Não há acoplamento entre ...
REST como camada de integração Como integramos sistemas?   Banco de dados   Arquivo txt   WebService SOAP(run to the h...
REST como camada de serviços O que é sua aplicação?(regras de negócio?  Tecnologias, telas e interfaces?) Ela pode(e tal...
Exemplos REST como camada web REST como camada de integração REST como API programável
Conclusão REST é principalmente sobre: Simplicidade Possibilidades
Perguntas?rafael@yaw.com.brtwitter.com/rafanunestwitter.com/youandwewww.yaw.com.br
Upcoming SlideShare
Loading in...5
×

REST and JEE

668

Published on

Arquitetura REST e JEE 6

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
668
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
17
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

REST and JEE

  1. 1. REST e o futuro das aplicações webRafael Nunes - www.yaw.com.br
  2. 2. Rafael Nunes Desenvolvedor há mais de uma década Sócio da YaW Java, Python e outras coisas menos glamurosas(ASP, VDF7) Atualmente prestando consultoria para o mercado financeiro Instrutor da Globalcode há 6 anos
  3. 3. A web, esta velha desconhecida Mais importante que aprender a última tecnologia da moda, é compreender os fundamentos que a suportam A Web tem sido fundamentalmente a mesma nas últimas décadas HTTP – o protocolo que move o mundo
  4. 4. HTTP Hiper Text Transfer Protocol Dos tempos imemoriaveis da ARPA NET Transferência de hipertexto www.pudim.com.br - facebook.com
  5. 5. Dissecando o HTTP - Request Abre uma conexão TCP Monta envelope de request:  Cabeçalho: Informações sobre o usuário/máquina/navegador/sistema operacional/infos da requisição  Corpo: Dados para o processamento da requisição  Anexo: Em caso de upload de arquivo Envia envelope para processamento no servidor
  6. 6. Dissecando o HTTP - Response Recebe envelope para processamento Interpreta requisição do usuário Monta envelope de resposta:  Cabeçalho: infos do servidor/infos do conteúdo de resposta/tamanho da resposta  Corpo: Conteúdo da resposta  Anexo: Em caso de download de arquivo Envia envelope e FECHA A CONEXÃO!
  7. 7. HTTP - Características Stateless/ Sem estado Não mantém uma conexão de vida longa entre cliente e servidor Virtude ou limitação? Comet, HTTP push, HTTP reverso foram criados para manter estado
  8. 8. HTTP - Caracterísicas Síncrono Não há resposta sem requisição Efeito da natureza stateless Ajax, (Long) Pooling
  9. 9. HTTP - Características E as sessões? A má notícia é que elas não existem A boa notícia é que temos boas alternativas para contornar esta característica Mas……eu preciso mesmo de sessão na web, o tempo todo?
  10. 10. Web atual Estamos em um momento de transição:  A web ‘tradicional’  HTML5 e suas novas tecnologias(localStorage, session storage, websockets, SPDY, etc) REST tem sido ainda mais crucial para a nova web que estamos construindo
  11. 11. Web como plataforma O que é uma requisição HTTP? R: Uma representação de determinado recurso no servidor web em determinado momento. Ex. http://www.yaw.com.br/screencasts.html
  12. 12. REST Representation State Transfer A proposta é continuar com o que temos feito, mas utilizando verdadeiramente o protocolo HTTP
  13. 13. REST HTTP é feito de verbos Que ver algo? GET, HEAD, TRACE Quer modificar algo? PUT, POST, DELETE
  14. 14. REST HTTP é feito de status: Foi tudo bem? 20x O que eu procuro não está mais ai? 30x Não pedi do jeito certo? 40x Houve algum problema? 50x
  15. 15. REST e JEE Especificado pela JSR 127 JAX-RS e Jersey é a implementação de referência Diversos outros frameworks: RestEasy, SpringMVC, CXF
  16. 16. REST como camada web É possível criar uma arquitetura REST com JEE desde sempre, com servlets Não há acoplamento entre cliente e servidor Cliente pode ser com JSP+JQuery De quebra ganha uma API de acesso para outras interfaces(Desktop, Mobile, etc) REST utiliza outras tecnologias(XML, JSON)
  17. 17. REST como camada de integração Como integramos sistemas?  Banco de dados  Arquivo txt  WebService SOAP(run to the hills) Tem funcionado há algumas décadas, e não há nada de errado. Mas não tem uma forma mais simples?
  18. 18. REST como camada de serviços O que é sua aplicação?(regras de negócio? Tecnologias, telas e interfaces?) Ela pode(e talvez deva) ser isso tudo. Sua aplicação deve ter uma API(Application Programming Interface) pública Esta API é quem vai criar um ecossistema em volta da sua aplicação
  19. 19. Exemplos REST como camada web REST como camada de integração REST como API programável
  20. 20. Conclusão REST é principalmente sobre: Simplicidade Possibilidades
  21. 21. Perguntas?rafael@yaw.com.brtwitter.com/rafanunestwitter.com/youandwewww.yaw.com.br
  1. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×