Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RESTful Web Services

RESTful Web Services

Uma visão geral sobre RESTful Web Services

Allisson Azevedo

November 02, 2011
Tweet

More Decks by Allisson Azevedo

Other Decks in Technology

Transcript

  1. Web Services ➔ Comunicação entre sistemas ➔ HTTP como meio

    de transporte ➔ Protocolo estável ➔ Simples ➔ Escalável ➔ Tráfego permitido
  2. Web Services - XML ➔ Representação eficiente para sistemas ➔

    Fácil manipulação em linguagens de programação ➔ Padrão para troca de informações
  3. Web Services - XML-RPC ➔ Criado por Dave Winer (1995)

    ➔ Transportado via protocolo HTTP ➔ Focado na simplicidade
  4. Web Services - SOAP ➔ Padrão para Web Services (W3C)

    ➔ Transporte em vários protocolos ➔ Descrição dos serviços disponíveis (WSDL) ➔ Em desenvolvimento (1.2 W3C)
  5. REST não é ➔ Novo envelope xml semelhante ao SOAP

    ➔ Toolkit/Framework ➔ Padrão ➔ Sem especificação na W3C
  6. REST é ➔ Princípios para desenvolvimento de uma arquitetura ➔

    Utiliza padrões já existentes ➔ Tese de Roy Fielding (2000)
  7. REST ➔ Stateless ➔ Orientado a Recurso (Resource- Oriented) ➔

    Interface uniforme para acesso aos recursos ➔ Representações independentes (baseadas no Content-Type)
  8. REST - Stateless ➔ Toda requisição HTTP é completamente isolada

    de outras ➔ Uma requisição precisa incluir todas as informações necessárias para uma resposta do servidor
  9. REST - Recursos ➔ Tudo que é importante ao ponto

    de ser exposto pelo sistema na web
  10. REST - Recursos ➔ Possíveis recursos: ➔ Bookmarks no Delicious

    ➔ Atualizações no Twitter ➔ Scraps do Orkut ➔ Fotos no Flickr
  11. REST – Interface Uniforme ➔ Utiliza os métodos do protocolo

    HTTP para manipulação de recursos (Verbos) ➔ GET ➔ POST ➔ PUT ➔ DELETE
  12. REST – Interface Uniforme ➔ Associar os verbos ao C.R.U.D

    em banco de dados ➔ Create (INSERT) = POST ➔ Read (SELECT) = GET ➔ Update (UPDATE) = PUT ➔ Delete (DELETE) = DELETE
  13. HREF POST /bookmarks/create GET /bookmarks/show/1 POST /bookmarks/update/1 POST/GET /bookmarks/delete/1 URI

    POST /bookmarks GET /bookmarks/1 PUT /bookmarks/1 DELETE /bookmarks/1 Não RESTful Verbo Ação Criar (Create) Visualizar (Read) Atualizar (Update) Apagar (Delete) RESTful Verbo Ação Criar (Create) Visualizar (Read) Atualizar (Update) Apagar (Delete)
  14. REST – Representações ➔ Não se limita ao XML ➔

    A representação é livre ➔ HTML/XHTML ➔ XML ➔ JSON ➔ PDF ➔ PNG
  15. REST - Classificação ➔ RESTful (High REST) ➔ Implementação em

    confirmidade com a tese de Roy Fielding ➔ Utilização dos quatro verbos (POST, GET, PUT, DELETE)
  16. Amazon Simple Storage Service ➔ RESTful ➔ Exclusivo via web

    services ➔ http://docs.amazonwebservices.co m/AmazonS3/2006-03-01/gsg/