Your SlideShare is downloading. ×
0
REST and JEE
REST and JEE
REST and JEE
REST and JEE
REST and JEE
REST and JEE
REST and JEE
REST and JEE
REST and JEE
REST and JEE
REST and JEE
REST and JEE
REST and JEE
REST and JEE
REST and JEE
REST and JEE
REST and JEE
REST and JEE
REST and JEE
REST and JEE
REST and JEE
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

REST and JEE

640

Published on

Arquitetura REST e JEE 6

Arquitetura REST e JEE 6

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

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

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. REST e o futuro das aplicações webRafael Nunes - www.yaw.com.br
  • 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. 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. HTTP Hiper Text Transfer Protocol Dos tempos imemoriaveis da ARPA NET Transferência de hipertexto www.pudim.com.br - facebook.com
  • 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. 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. 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. HTTP - Caracterísicas Síncrono Não há resposta sem requisição Efeito da natureza stateless Ajax, (Long) Pooling
  • 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. 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. 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. REST Representation State Transfer A proposta é continuar com o que temos feito, mas utilizando verdadeiramente o protocolo HTTP
  • 13. REST HTTP é feito de verbos Que ver algo? GET, HEAD, TRACE Quer modificar algo? PUT, POST, DELETE
  • 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. REST e JEE Especificado pela JSR 127 JAX-RS e Jersey é a implementação de referência Diversos outros frameworks: RestEasy, SpringMVC, CXF
  • 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. 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. 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. Exemplos REST como camada web REST como camada de integração REST como API programável
  • 20. Conclusão REST é principalmente sobre: Simplicidade Possibilidades
  • 21. Perguntas?rafael@yaw.com.brtwitter.com/rafanunestwitter.com/youandwewww.yaw.com.br

×