Slideshow transcript
Slide 1: RESTful Web Services Allisson Azevedo II Encontro Comunicação Digital http://allisson.eti.br
Slide 2: Web Services
Slide 3: Web Services ➔ Comunicação entre sistemas ➔ HTTP como meio de transporte ➔ Protocolo estável ➔ Simples ➔ Escalável ➔ Tráfego permitido
Slide 4: Web Services ➔ Independência ➔ Sistema operacional ➔ Linguagem de programação ➔ Hardware
Slide 5: Web Services ➔ Padrões Abertos ➔ XML ➔ XML-RPC ➔ SOAP
Slide 6: Web Services - XML ➔ Representação eficiente para sistemas ➔ Fácil manipulação em linguagens de programação ➔ Padrão para troca de informações
Slide 7: Exemplo - RSS
Slide 8: Exemplo - RSS
Slide 9: Web Services - XML-RPC ➔ Criado por Dave Winer (1995) ➔ Transportado via protocolo HTTP ➔ Focado na simplicidade
Slide 10: XML-RPC request
Slide 11: XML-RPC response
Slide 12: 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)
Slide 13: SOAP request
Slide 14: SOAP response
Slide 15: Web Services - SOAP ➔ Crítica ➔ Complexidade dos formatos SOAP e WSDL
Slide 16: REST
Slide 17: REpresentational State Transfer
Slide 18: REST não é ➔ Novo envelope xml semelhante ao SOAP ➔ Toolkit/Framework ➔ Padrão ➔ Sem especificação na W3C
Slide 19: REST é ➔ Princípios para desenvolvimento de uma arquitetura ➔ Utiliza padrões já existentes ➔ Tese de Roy Fielding (2000)
Slide 20: REST ➔ Stateless ➔ Orientado a Recurso (Resource- Oriented) ➔ Interface uniforme para acesso aos recursos ➔ Representações independentes (baseadas no Content-Type)
Slide 21: 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
Slide 22: REST - Recursos ➔ Tudo que é importante ao ponto de ser exposto pelo sistema na web
Slide 23: REST - Recursos ➔ Possíveis recursos: ➔ Bookmarks no Delicious ➔ Atualizações no Twitter ➔ Scraps do Orkut ➔ Fotos no Flickr
Slide 24: REST - Recursos ➔ URI (Identificador Universal de Recursos) ➔ Todo recurso possui no mínimo uma URI
Slide 25: http://rails.lighthouseapp.com/projects/8994- ruby-on-rails
Slide 26: http://rails.lighthouseapp.com/projects/8994- ruby-on-rails/tickets
Slide 27: http://rails.lighthouseapp.com/projects/8994- ruby-on-rails/milestones
Slide 28: REST – Interface Uniforme ➔ Utiliza os métodos do protocolo HTTP para manipulação de recursos (Verbos) ➔ GET ➔ POST ➔ PUT ➔ DELETE
Slide 29: REST – Interface Uniforme ➔ GET ➔ Utilizado para obter uma representação do recurso
Slide 30: REST – Interface Uniforme ➔ POST ➔ Utilizado para criar um novo recurso
Slide 31: REST – Interface Uniforme ➔ PUT ➔ Utilizado para modificar um recurso existente
Slide 32: REST – Interface Uniforme ➔ DELETE ➔ Utilizado para apagar um recurso existente
Slide 33: 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
Slide 34: Não RESTful Verbo HREF Ação POST /bookmarks/create Criar (Create) GET /bookmarks/show/1 Visualizar (Read) POST /bookmarks/update/1 Atualizar (Update) POST/GET /bookmarks/delete/1 Apagar (Delete) RESTful Verbo URI Ação POST /bookmarks Criar (Create) GET /bookmarks/1 Visualizar (Read) PUT /bookmarks/1 Atualizar (Update) DELETE /bookmarks/1 Apagar (Delete)
Slide 35: REST – Representações ➔ Não se limita ao XML ➔ A representação é livre ➔ HTML/XHTML ➔ XML ➔ JSON ➔ PDF ➔ PNG
Slide 39: 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)
Slide 40: REST - Classificação ➔ REST-RPC (Low REST) ➔ Utilização do método GET para toda API
Slide 41: REST no mundo real
Slide 42: MySpace
Slide 43: MySpace ➔ RESTful ➔ http://developer.myspace.com/com munity/RestfulAPIs/resources.aspx
Slide 45: del.icio.us
Slide 46: del.icio.us ➔ REST-RPC ➔ http://del.icio.us/help/api/
Slide 48: Flickr
Slide 49: Flickr ➔ REST-RPC ➔ http://www.flickr.com/services/api/
Slide 51: Twitter
Slide 52: Twitter ➔ REST-RPC ➔ http://groups.google.com/group/twi tter-development-talk/web/api- documentation
Slide 54: Amazon Simple Storage Service
Slide 55: Amazon Simple Storage Service ➔ RESTful ➔ Exclusivo via web services ➔ http://docs.amazonwebservices.co m/AmazonS3/2006-03-01/gsg/
Slide 57: Dúvidas?
Slide 58: Obrigado!




Add a comment on Slide 1
If you have a SlideShare account, login to comment; else you can comment as a guest- Favorites & Groups
Showing 1-50 of 0 (more)