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.

Slides:



Advertisements
Apresentações semelhantes
Desenvolvimento Web.
Advertisements

Configuração de um servidor FTP
Engenharia de Software Alessandro Cruz Marcelo Brandão Theodoro Júnior
Web Services Erika Hmeljevski Estefania Borm Leonardo Malagoli
Redes de Computadores 2 - Camada de Aplicação (HTTP) –
Tecnologias para Internet
Sistemas Distribuídos
SOA - Arquitetura Orientada a Serviços
Aplicativos Web Com Orientação a Objetos
Gerenciamento de conteúdo na ALESP
Introdução ao Desenvolvimento Web
Minicurso PHP – Parte 2 João Paulo Ribeiro jpribeiro.com
Open Cloud Computing Interface - OCCI Projeto EUBrazilCC
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando.
Tópicos avançados em internet B Carlos Oberdan Rolim Ciência da Computação.
Tópicos de Sistemas de Informação A
ALUNO: José Alves de Oliveira Junior NOME: Flicker / Imagem ENDEREÇO DO SITE ORIGINAL:
Web Services Uninorte Semana de Tecnologia da Informação
Funcionalidade e Protocolos da Camada de Aplicação
Conceitos de J2EE para a WEB
RESTful Webservices Lucas Batistussi –
Professor: Márcio Amador
Faculdade de Tecnologia SENAI de Desenvolvimento Gerencial
Arquitetura de Desenvolvimento Web MVC vs. Three Tiers
Arquitetura das JSP - Aula 2
Aplicações Web com Orientação a Objetos
RESTFul com Slim Framework
Unidade 6 – Formulários HTML Prof.: Henrique Santos
1 REST Caio Nakashima
Aula 1 - Fundamentos Web Servidor
IIS Web Server.
Tópicos avançados em internet B Carlos Oberdan Rolim Ciência da Computação.
Redes Sociais Colaborativas Patrícia Ramos | 22/05/2006.
José Francisco PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente.
Hypertext Transfer Protocol Equipe: Alan José de Moura Silva Filho (ajmsf) Cyrus Dias da Silva (cds) Dayse Danielle Soares da Rocha(ddsr) Elton Renan Magalhães.
Padrões de Interação com o Usuário
Unidade 1 – Introdução a J2EE Prof.: Henrique Santos
Fundamentos da Linguagem C#
Aguilar Figueira Dias Orientador Prof. Dr. João Bosco da Mota Alves
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Introdução a Aplicações Web.
Treinamento PHP Módulo 1 PHP Básico Waelson Negreiros waelson.com.br “Está conosco o Senhor dos Exércitos”
Proprietary and Confidential Bruno Pereira Web Services REST.
Página do Projeto Sistema de Gerenciamento de Confinamentos de Gado de Corte
SyncML Apresentação –Introdução Motivação Iniciativa SyncML –XML (eXtensible Markup Language) –Protocolos SyncML –Sincronização em duas vias –Conclusões.
Integrando Web Services em um Groupware de simulação
WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.
Luiz Felipe Oliveira – SUNMP/MPACL
Engenhos de Busca Renato Marcelino de Oliveira. World Wide Web Existem centenas de milhões de paginas na web tratando de variados assuntos.
Programação para Internet
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Servidores.
Aula 1 - Fundamentos Web Servidor Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros.
UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas Programação para Aplicações WEB Profa. Semíramis Assis
Utilizando subversion como controle de versão
Aplicativos para Internet Prof. Wolley W. Silva
Introdução a Arquitetura, HTML e CSS
Universidade Federal de Sergipe Departamento de Sistemas de Informação Bruno Cruz Jessica Rodrigo Aragão – ASP.NET MVC 3.
UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas Programação para Aplicações WEB Profa. Semíramis Assis
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Introdução ao Projeto.
Publicação de Dados Abertos através de portais CKAN
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Webservices.
Graph Database Neo4j Edson Barboza.
Internet A Internet é um conglomerado de redes em escala mundial de milhões de computadores interligados pelo protocolo de comunicação TCP/IP que permite.
Programação Web Comunicação entre Cliente e Servidor Leonardo IFRN.
Mar/2016 Manual de Integração. Atenção Este manual sofre constantes alterações. Por favor consulte a versão mais recente em
Redes de Computadores e Aplicações – Camada de aplicação IGOR ALVES.
UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE CIÊNCIA DA COMPUTAÇÃO Redes de Computadores Ferramenta NTop (Network Traffic Probe) Explorador.
Servidor WEB IGOR ALVES. O protocolo HTTP 1990 surgimento da aplicação www Grande quantidade de informação que pode ser acessada por demanda Buscadores.
Administração e serviços de redes
Webservices Rest.
APROM Aplicação para Gestão de Projetos
Transcrição da apresentação:

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 acessível  Fora do contexto do navegador

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

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

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)

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

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

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

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

REST: Comparação com RPC getUser() addUser() removeUser() updateUser() getLocation() addLocation() removeLocation() updateLocation() listUsers() listLocations() findLocation() findUser() GET PUT DELETE

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)

GData API: GET GET /myFeed200 OK Foo T16:25:00-08:00 Jo March

GData API: POST POST /myFeed Elizabeth Bennet Entry 1 This is my entry 201 CREATED 1 <link rel="edit“ href=“ /> T16:26:03-08:00 Elizabeth Bennet Entry 1 This is my entry

GData API: GET (consulta) GET /myFeed?q=This 200 OK Foo T16:26:03-08:00 Jo March T16:26:03-08:00 Elizabeth Bennet Entry 1 This is my entry

GData API: PUT PUT /myFeed/1/1/ 1 <link rel="edit“ href=" /> T16:28:05-08:00 Elizabeth Bennet Entry 1 This is my first entry. 200 OK 1 <link rel="edit" href=" /> T16:28:05-08:00 Elizabeth Bennet Entry 1 This is my first entry.

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

Exemplo: Picasa <entry xmlns=' xmlns:media=' xmlns:gphoto=' Trip To Italy This was the recent trip I took to Italy. Italy public true italy, vacation <category scheme=' term='

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:  19T15:30:00&published-max= T15:30:00

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

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

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

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

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

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

Aplicação de Teste (2)

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