Slideshare.net (beta)

 
Post: 
Myspace Hi5 Friendster Xanga LiveJournal Facebook Blogger Tagged Typepad Freewebs BlackPlanet gigya icons



All comments

Add a comment on Slide 1

If you have a SlideShare account, login to comment; else you can comment as a guest


Showing 1-50 of 0 (more)

RESTful Web Services

From allisson, 2 months ago

Uma visão geral sobre RESTful Web Services

666 views  |  0 comments  |  0 favorites  |  5 downloads  |  2 embeds (Stats)
 

Groups/Events

Not added to any group/event

 
 

Privacy InfoNew!

This slideshow is Public

 
Embed in your blog
Embed (wordpress.com)
custom

Slideshow Statistics
Total Views: 666
on Slideshare: 647
from embeds: 19* * Views from embeds since 21 Aug, 07

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!