A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Google Data API Sandro Rama Fiorini. Introdução Missão Google: “organizar a informação do mundo inteiro e fazê-la universalmente acessível e útil”. Universalmente.

Apresentações semelhantes


Apresentação em tema: "Google Data API Sandro Rama Fiorini. Introdução Missão Google: “organizar a informação do mundo inteiro e fazê-la universalmente acessível e útil”. Universalmente."— Transcrição da apresentação:

1 Google Data API Sandro Rama Fiorini

2 Introdução Missão Google: “organizar a informação do mundo inteiro e fazê-la universalmente acessível e útil”. Universalmente acessível  Fora do contexto do navegador

3 Introdução GData API Interface básica para vários serviços Google Incorpora  Arquitetura REST  Atom  RSS

4 Roteiro Atom REST Google GData API  Operações  Concorrência  Autenticação  Estado  Bibliotecas Clientes  Exemplo de Cliente

5 Atom Formato XML para publicação de informações  Proposta de padrão RFC 4287 Conceitos  Feeds  Metadados  Entradas (Entry) Extensível (metadados do feed).........

6 Example Feed A subtitle. 2003-12-13T18:30:02Z John Doe johndoe@example.com urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6 Atom-Powered Robots Run Amok urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a 2003-12-13T18:30:02Z Some text. Atom-Powered Robots Run Amok urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a 2003-12-13T18:30:02Z Some text.

7 Arquitetura REST Representational State Transfer  Termo proposto no ano 2000, na tese de doutorado de Roy Fielding, um dos criadores do protocolo HTTP Modelo de arquitetura baseado em  Recursos  Transições de estado

8 Arquitetura REST: Princípios Estado e funcionalidade divididos em recursos Cada recurso é endereçado unicamente com um sintaxe universal (como URI) Todos os recursos dividem um interface comum que consistindo de:  Um conjunto restrito de operações bem definidas  Um conjunto restrito de tipos de conteúdo Baseado em um protocolo que é  Cliente servidor  Stateless  Cacheable  Dividio em camadas

9 REST: Tipos RESTful  Segue todos os princípios  Melhor exemplo: WWW Recursos: paginas web Transição de estado: links Protocolo HTTP  Requisições GET, PUT, POST, e DELETE RESTafarian  Segue alguns princípios  XML  RPC  Cookies

10 REST: Comparação com RPC getUser() addUser() removeUser() updateUser() getLocation() addLocation() removeLocation() updateLocation() listUsers() listLocations() findLocation() findUser() http://example.com/users/ http://example.com/users/JohnDoe http://example.com/findUserForm http://example.com/locations/ http://example.com/locations/PortoAlegre http://example.com/findLocationForm GET http://example.com/users/http://example.com/users/ PUT http://example.com/users/MaryJanehttp://example.com/users/MaryJane DELETE http://example.com/users/JohnDoehttp://example.com/users/JohnDoe

11 Google GData API Arquitetura REST  RESTafarian Recursos descritos em XML  Atom (padrão) e RSS  Suporta extensões Acesso via HTTP  Requisições GET, PUT, POST, e DELETE  Atom Publishing Protocol (APP)

12 GData API: GET GET /myFeed200 OK Foo 2006-01-23T16:25:00-08:00 http://www.example.com/myFeed Jo March

13 GData API: POST POST /myFeed Elizabeth Bennet liz@gmail.com Entry 1 This is my entry 201 CREATED 1 <link rel="edit“ href=“http://example.com/myFeed/1/1/” /> 2006-01-23T16:26:03-08:00 Elizabeth Bennet liz@gmail.com Entry 1 This is my entry

14 GData API: GET (consulta) GET /myFeed?q=This 200 OK Foo 2006-01-23T16:26:03-08:00 http://www.example.com/myFeed Jo March 1 2006-01-23T16:26:03-08:00 Elizabeth Bennet liz@gmail.com Entry 1 This is my entry

15 GData API: PUT PUT /myFeed/1/1/ 1 <link rel="edit“ href="http://example.com/myFeed/1/1/“ /> 2006-01-23T16:28:05-08:00 Elizabeth Bennet liz@gmail.com Entry 1 This is my first entry. 200 OK 1 <link rel="edit" href="http://example.com/myFeed/1/2/“ /> 2006-01-23T16:28:05-08:00 Elizabeth Bennet liz@gmail.com Entry 1 This is my first entry.

16 GData API: DELETE DELETE /myFeed/1/2/ 200 OK

17 Exemplo: Picasa <entry xmlns='http://www.w3.org/2005/Atom' xmlns:media='http://search.yahoo.com/mrss/' xmlns:gphoto='http://schemas.google.com/photos/2007'> Trip To Italy This was the recent trip I took to Italy. Italy public true 1152255600000 italy, vacation <category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/photos/2007#album'>

18 GData API: Consulta Modelo intencionalmente simples Consultas representadas como HTTP URIs Não existe maneira de relacionar itens Ordenação depende da implementeção Protocolo extensível Exemplo:  http://www.example.com/feeds/jo?q=travel+Paris&published-min=2005-04- 19T15:30:00&published-max=2006-04-19T15:30:00

19 GData API: Concorrência Concorrência otimista  Controle de versão Identificador  Se um cliente tenta fazer uma alteração de uma entrada que já foi alterada, o acesso é negado.  Negação de atualização: 409 Conflict Seguido do atual estado da entrada Alguns serviços não suportam esse modelo

20 GData API: Autenticação Para clientes desktop:  ClientLogin  Aplicativo pergunta ao usuário as suas credenciais e as envia ao Google.  Google retorna um token que é utilizado nas interações seguintes Para clientes Web:  AuthSub  Semelhante ao ClientLogin  O usuário informa as suas credenciais a um serviço web da Google  Não passa pelo aplicativo web  Mais seguro

21 GData API: Estado Manutenção de estado de duas formas  Via Cookies  Via Tokens

22 Bibliotecas Clientes Java Phyton.NET JavaScript/AJAX  JSON no lugar de XML PHP

23 Java: Exemplo Classes que correspondem as entidades e tipos de dados da API   com.google.gdata.data.Feed   com.google.gdata.data.Entry Especializações para cada serviço  com.google.gdata.data.photos.PhotoFeed Extensível

24 Aplicação de Teste (1) Blogger armazena fotos no Picasa, mas... Não permite postar fotos que já estejam no Picasa Aplicativo Java para fazer isso  Mashup

25 Aplicação de Teste (2)

26 Conclusão Ótima iniciativa  Mashups Abordagem pragmática  Contraste com SOAP+WSDL Documentação razoável Bibliotecas cliente  Biblioteca Java ainda precisa de um polimento


Carregar ppt "Google Data API Sandro Rama Fiorini. Introdução Missão Google: “organizar a informação do mundo inteiro e fazê-la universalmente acessível e útil”. Universalmente."

Apresentações semelhantes


Anúncios Google