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

REST and JEE

on

  • 873 views

Arquitetura REST e JEE 6

Arquitetura REST e JEE 6

Statistics

Views

Total Views
873
Views on SlideShare
872
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 REST and JEE Presentation Transcript

  • 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) Atualmente prestando consultoria para o mercado financeiro Instrutor da Globalcode há 6 anos
  • 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
  • HTTP Hiper Text Transfer Protocol Dos tempos imemoriaveis da ARPA NET Transferência de hipertexto www.pudim.com.br - facebook.com
  • 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
  • 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!
  • 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
  • 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 para contornar esta característica Mas……eu preciso mesmo de sessão na web, o tempo todo?
  • 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
  • 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
  • REST Representation State Transfer A proposta é continuar com o que temos feito, mas utilizando verdadeiramente o protocolo HTTP
  • 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 Houve algum problema? 50x
  • REST e JEE Especificado pela JSR 127 JAX-RS e Jersey é a implementação de referência Diversos outros frameworks: RestEasy, SpringMVC, CXF
  • 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)
  • 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?
  • 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
  • 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