O documento discute como REST é fundamental para o futuro das aplicações web. Ele explica os principais conceitos de HTTP como protocolo stateless e síncrono e como REST utiliza os verbos e status codes do HTTP. Também discute como REST pode ser usado como camada web, de integração e serviços, com exemplos de cada caso. A conclusão é que REST é principalmente sobre simplicidade e possibilidades.
Trabalho comparativo entre os protocolos SOAP e REST.
Disciplina Programação de Sistemas Distribuídos e Concorrência (PSDC) - UNITRI - Uberlândia - MG.
Trabalho comparativo entre os protocolos SOAP e REST.
Disciplina Programação de Sistemas Distribuídos e Concorrência (PSDC) - UNITRI - Uberlândia - MG.
Segunda palestra da PHP Conference Brasil, falando sobre webservices, uma visão geral para quem quer começar a usar e métodos e estratégias para quem já os adota
Transferencia de Estado Representacional (Representational State Transfer) o REST
Originado en el año 2000 por el doctor Roy Fielding en la Universidad de California en su tesis doctoral
Tesis “Estilos de Arquitectura y el Diseño de Arquitecturas de Software basadas en Redes”
Principios arquitectónicos de software para usar a la Web como una plataforma de Procesamiento Distribuido
Segunda palestra da PHP Conference Brasil, falando sobre webservices, uma visão geral para quem quer começar a usar e métodos e estratégias para quem já os adota
Transferencia de Estado Representacional (Representational State Transfer) o REST
Originado en el año 2000 por el doctor Roy Fielding en la Universidad de California en su tesis doctoral
Tesis “Estilos de Arquitectura y el Diseño de Arquitecturas de Software basadas en Redes”
Principios arquitectónicos de software para usar a la Web como una plataforma de Procesamiento Distribuido
En estas transparencias se hace un repaso a las ventajas de la computación distribuida y a las distintas iniciativas de Servicios Web, para terminar en los servicios de tipo REST.
Estas transparencias son la introducción a las transparencias sobre consumo de Servicios Web REST en PHP (http://www.slideshare.net/brenes/rest-en-php).
Usado en el Curso de Extensión Universitaria "Desarrollo de aplicaciones web mediante servicios web y APIs abiertas" de la Universidad de Oviedo: http://directo.uniovi.es/postgrado/cabecera_ep.asp?Curso=2008&IdPrograma=5187
Navegando em um mar de siglas do mundo javaAndrei Tognolo
O números de apis e frameworks que existem para a plataforma Java podem assustar novos desenvolvedores. Essa palestra busca mostrar uma visão geral das principais apis relacionadas ao padrão JavaEE.
Após visitar as principais tecnologias JavaEE, vamos analisar cenários e decidir quais tecnologias utilizar.
Node.js: 5 razões para começar a utilizarFilipe Falcão
5 razões para te convencer a adicionar o Node a sua stack back-end. Nessa talk, mostro as principais características que tornam o Node uma escolha bastante interessante para sua aplicação.
Arquitetura de um sistema crítico de alta disponibilidade com soluções open s...Daniel Destro Do Carmo
A plataforma Java revolucionou o panorama do desenvolvimento com a sua comunidade ativa, de onde originaram muitos projetos e iniciativas de soluções open source. Diversas soluções nasceram e são utilizadas com frequência, mas podem apresentar problemas comuns se não tomarmos o devido cuidado. Será apresentada uma abordagem de como utilizar software livre, como os populares Spring, Hibernate, Netty e Jetty com clusterização e virtualização, em uma arquitetura focada em um sistema crítico (24x7) de alta disponibilidade que atende milhares de dezenas de solicitações diariamente, no mercado de 300 mil cientes e 430 mil usuários do SPC. Veremos problemas enfrentados e as medidas tomadas em situações diversas, debatendo detalhes técnicos e gargalos comuns que podem aparecer.
Este conteúdo disponibiliza um curso para o desenvolvimento de APIs RESTful utilizando recursos avançados da especificações JAX-RS, seguindo as boas práticas de desenvolvimento de APIs REST com base nos níveis de maturidade REST descritos por Leonard Richardson.
A customização da API RESTful é realizada a partir de providers JAX-RS, implementando a autenticação com JWT (Json Web Token) e customizações de Hypermedia, tornando a API altamente customizável e adaptável para a leitura e escrita de tipos de dados de vários formatos enviados e recebidos pelo cliente da API REST.
Além do desenvolvimento da API em JAX-RS, será demonstrado exemplos de utilização da API via interfaces Resources, criado clientes proxies HTTP para consumir a API utilizando as implementações da especificação JAX-RS RestEasy.
Todo o código fonte está disponibilizado no repositório: https://bitbucket.org/luan_knebel/vendarapidarestapi/src/master
Obs: Ao baixar o PDF as imagens estarão em melhor qualidade.
1. REST e o futuro das aplicações web
Rafael 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