REST and JEE
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

REST and JEE

on

  • 900 views

Arquitetura REST e JEE 6

Arquitetura REST e JEE 6

Statistics

Views

Total Views
900
Views on SlideShare
899
Embed Views
1

Actions

Likes
1
Downloads
15
Comments
0

1 Embed 1

https://si0.twimg.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

REST and JEE Presentation 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