Atenção: esse artigo tem um vídeo complementar. Clique e assista!

Artigo no estilo: Curso

De que se trata o artigo:

Neste artigo veremos, passo a passo, como criar uma aplicação Java integrada com o serviço de fotos do Google, o Picasa Web Albums (PWA). Nossa aplicação será capaz de listar os álbuns e fotos do usuário, e também permitirá a postagem de comentários nas fotos. Tudo isso de forma prática, utilizando a biblioteca cliente Java, o Google Web Toolkit e o Google App Engine.


Para que serve:

Assim como as demais APIs de dados Google, a Picasa Web Albums Data API permite que nossas aplicações possam se integrar com algum serviço Google: neste caso, o PWA. Com ela, podemos construir, por exemplo, um cliente desktop para ver os álbuns e fotos do usuário, uma aplicação que grave e faça upload de vídeos direto do celular, dentre outras possibilidades.


Em que situação o tema é útil:

O tema é útil no contexto da criação e utilização de serviços, que visa promover o reuso e evitar o retrabalho. A ideia básica é poder construir software aproveitando ao máximo os diversos serviços existentes. Com isso, cada vez mais é possível concentrar esforços nas regras de negócio do software, reduzir o tempo de desenvolvimento e ter a garantia de um serviço testado e confiável.

Picasa Web Albums Data API – Parte 2:

A Picasa Web Albums Data API permite que nossas aplicações possam interagir com o Picasa Web Albums, possibilitando a execução de operações básicas como listar, criar, editar e excluir os álbuns, fotos, vídeos, tags e comentários do usuário.

Para utilizar essa API, a biblioteca do Google disponibiliza uma série de classes que representam os serviços, como a classe PicasawebService e tipos de dados utilizados pelo PWA, tornando o desenvolvimento bastante simples.

O artigo também mostra como criar e publicar uma aplicação web com GWT e GAE, utilizando o Google Plugin para Eclipse, que facilita o processo de desenvolvimento e o deploy nos servidores Google.

No cenário atual do desenvolvimento de software, a integração com outros sistemas e serviços se torna cada vez mais comum. Nessa direção, o Google provê aos desenvolvedores uma série de APIs, dentre as quais estão as APIs de Dados, que permitem a aplicações de terceiros se integrar aos vários serviços Google disponíveis.

Na primeira parte, publicada na Edição anterior, conhecemos o serviço PWA e a sua respectiva API de dados, a Picasa Web Albums Data API. Vimos como utilizar a Java Client Library para efetuar operações básicas como listar, criar, editar e excluir os álbuns, fotos, tags e comentários do usuário.

Neste artigo aplicaremos os conceitos explorados na construção de uma aplicação real. O projeto que desenvolveremos ao longo do artigo será uma aplicação web, que atuará como um cliente do PWA, utilizando duas outras tecnologias Google: o Google Web Toolkit e o Google App Engine.

Projeto: Picasa Web Albums GWT Client

Agora que já sabemos como efetuar as operações básicas oferecidas pela API para trabalhar com álbuns, fotos, vídeos, tags e comentários, vamos construir o nosso projeto final. Como falamos no início do artigo, o projeto trata-se de um cliente web para o Picasa Web Albums. A aplicação permitirá ao usuário:

  • Listar seus álbuns ou os de outros usuários (neste segundo caso apenas os álbuns públicos serão listados);
  • Ver as fotos de cada álbum. Para isso serão oferecidas duas formas de apresentação: galeria ou slide-show;
  • Ler e adicionar comentários nas fotos.
  • Nossa aplicação será construída utilizando outras duas tecnologias oferecidas pelo Google, o Google Web Toolkit (GWT) e Google App Engine (GAE). Como não é o foco deste artigo, não entraremos nos detalhes destas tecnologias, entretanto veremos o necessário para o entendimento do exemplo. A Figura 1 mostra um screenshot da aplicação, que também pode ser vista em produção no endereço http://jm-picasa.appspot.com.

    O quadro “Google Web Toolkit” traz um pequeno resumo sobre o GWT. Além disso, as Edições 38 e 39 da Java Magazine trazem os artigos “AJAX com Google Web Toolkit” e “AJAX avançado com GWT”.

    Para saber mais detalhes sobre o GAE, veja a Edição 71 da Java Magazine, que traz o artigo “Java no Google App Engine”.

    Google Web Toolkit

    O Google Web Toolkit (GWT), como o próprio nome sugere, consiste num kit de ferramentas para o desenvolvimento de aplicações web. Kit esse que contém um SDK próprio, com compilador capaz de converter código Java em Javascript e um servidor de aplicações, além de ferramentas para análise de desempenho e um plugin para Eclipse. A ideia central do GWT é prover uma forma de criar aplicações web ricas, com AJAX, utilizando apenas Java. Dessa forma o desenvolvedor não precisa se preocupar com compatibilidade entre browsers, além de tornar o desenvolvimento mais produtivo, visto que escrever e depurar código Java com todas as facilidades do Eclipse (ou mesmo outras IDEs) é bem mais prático do que quando se trata de Javascript.

    Para tornar essa tarefa possível, o GWT traz consigo um conjunto de bibliotecas e widgets (Ex.: botões, caixas de texto, etc.) que permitem ao desenvolvedor escrever toda lógica da sua aplicação, incluindo os componentes visuais HTML em código Java puro. O compilador é o responsável por traduzir o código Java em Javascript otimizado e compatível com a maioria dos browsers do mercado.

    Além disso, é perfeitamente possível criar aplicações GWT que possuam um back-end que rode no servidor e não no cliente. Para isso são oferecidas as seguintes estratégias:

    GWT RPC – Opção indicada para comunicação com back-end em Java. Consiste na criação de interfaces dos serviços que serão oferecidos pelo servidor para que essas possam ser utilizadas de forma assíncrona pelo código front-end;

    JSON / XML – Consiste na troca de dados com o servidor nos formatos JSON ou XML. Para isso o GWT oferece classes para manipulação dos dados nestes formatos;

    Cross-Site – Utilizado por aplicações que necessitam obter dados de servidores remotos de diferentes domínios.

    ...
    Quer ler esse conteúdo completo? Tenha acesso completo