Professional Documents
Culture Documents
Web Services
Web Services
Comunicao entre sistemas HTTP como meio de transporte Protocolo estvel Simples Escalvel Trfego permitido
Web Services
Web Services
Exemplo - RSS
Exemplo - RSS
XML-RPC request
XML-RPC response
SOAP request
SOAP response
REST
REST no
Novo envelope xml semelhante ao SOAP Toolkit/Framework Padro Sem especificao na W3C
REST
Princpios para desenvolvimento de uma arquitetura Utiliza padres j existentes Tese de Roy Fielding (2000)
REST
Stateless Orientado a Recurso (ResourceOriented) Interface uniforme para acesso aos recursos Representaes independentes (baseadas no Content-Type)
REST - Stateless
Toda requisio HTTP completamente isolada de outras Uma requisio precisa incluir todas as informaes necessrias para uma resposta do servidor
REST - Recursos
REST - Recursos
Possveis recursos: Bookmarks no Delicious Atualizaes no Twitter Scraps do Orkut Fotos no Flickr
REST - Recursos
URI (Identificador Universal de Recursos) Todo recurso possui no mnimo uma URI
http://rails.lighthouseapp.com/projects/8994ruby-on-rails
http://rails.lighthouseapp.com/projects/8994ruby-on-rails/tickets
http://rails.lighthouseapp.com/projects/8994ruby-on-rails/milestones
Utiliza os mtodos do protocolo HTTP para manipulao de recursos (Verbos) GET POST PUT DELETE
Associar os verbos ao C.R.U.D em banco de dados Create (INSERT) = POST Read (SELECT) = GET Update (UPDATE) = PUT Delete (DELETE) = DELETE
No RESTful Verbo POST GET POST POST/GET Verbo POST GET PUT DELETE HREF /bookmarks/create /bookmarks/show/1 /bookmarks/update/1 /bookmarks/delete/1 RESTful URI /bookmarks /bookmarks/1 /bookmarks/1 /bookmarks/1 Ao Criar (Create) Visualizar (Read) Atualizar (Update) Apagar (Delete) Ao Criar (Create) Visualizar (Read) Atualizar (Update) Apagar (Delete)
REST Representaes
No se limita ao XML A representao livre HTML/XHTML XML JSON PDF PNG
REST - Classificao
RESTful (High REST) Implementao em confirmidade com a tese de Roy Fielding Utilizao dos quatro verbos (POST, GET, PUT, DELETE)
REST - Classificao
MySpace
MySpace
RESTful http://developer.myspace.com/com munity/RestfulAPIs/resources.aspx
del.icio.us
del.icio.us
REST-RPC http://del.icio.us/help/api/
Flickr
Flickr
REST-RPC http://www.flickr.com/services/api/
Twitter
REST-RPC http://groups.google.com/group/twi tter-development-talk/web/apidocumentation
Dvidas?
Obrigado!