Web Services e J2ME de ponta a ponta

O Google é uma empresa líder no mercado de serviços na internet. O grupo oferece diversos serviços gratuitos, dentre eles o buscador mais utilizado do mundo, o Gmail (um dos pioneiros em caixas de e-mail de grande capacidade), Google Earth (fantástica ferramenta para visualização do mundo através de imagens via satélite) e, recentemente, planilha eletrônica completa na web, editor de texto e Google Calendar, o qual será o foco do nosso artigo.

Nesse artigo, descreveremos uma solução usando uma tecnologia Google para um problema que praticamente todas as pessoas já sofreram ou ainda sofrem. Como gerenciar eventos, tarefas, prazos a serem cumpridos usando um solução simples, viável e que esteja disponível a todos?

Para isso, criaremos um aplicação J2ME que estará integrada ao Google Calendar (ver Nota 1) particular de cada pessoa para consultar seus eventos, prazos e tarefas usando um aparelho celular. Nesse contexto, apresentaremos a API do Google Calendar e como utilizá-la em uma aplicação real.

É um serviço de agenda on-line que pode ser compartilhado oferecido pela Google (www.google.com). Com o Google Calendar, é possível adicionar eventos e enviar convites, compartilhar a programação com outras pessoas, e pesquisar eventos de interesse. Foi disponibilizado em 13 de abril de 2006 e como a maioria dos serviços oferecidos pelo Google, o Calendar exige que seja criada um conta no servidor. Feito isso, basta acessar o link para ter acesso ao seu calendário pessoal.

Estudo de caso a ser seguido

A corporação fictícia ACME LTDA trabalha com uma equipe distribuída. Com isso, surgiram algumas dificuldades em relação ao agendamento de eventos, tarefas e reuniões. Os funcionários necessitavam carregar consigo uma agenda para anotações, porém essas anotações se tornavam obsoletas caso algum evento fosse desmarcado ou se houvesse necessidade de algum reagendamento. Analistas decidiram desenvolver alguma solução que pudesse fazer o agendamento automático e manter sincronização entre os interessados de um certo evento. Pesquisaram ferramentas disponíveis no mercado e chegaram à conclusão de que poderiam aproveitar alguns frameworks já existentes.

A solução definida consiste em um sistema que permite que os funcionários acessem e adicionem, através de seu celular, os eventos do dia-a-dia. Para essa tarefa, será utilizada a API do Google para gerenciamento de eventos em calendários pessoais – Google Calendar. Isso facilitaria a corporação organizar seus eventos mantendo a integridade e a consistência entre todos os funcionários, pois estes terão acesso à mesma informação pelo computador na internet ou pelo celular.

Arquitetura

O objetivo deste artigo é demonstrar a utilização da API do Google Calendar, desenvolver um pequeno web service para disponibilizar o serviço e acessá-lo através de um programa cliente desenvolvido em J2ME. Utilizaremos uma arquitetura simples, apenas como demonstração de como integrar sistemas e como tirar proveito dos serviços oferecidos na internet. A Figura 1 apresenta a arquitetura que será utilizada.

Fluxo do aplicativo a ser desenvolvido
Figura 1. Fluxo do aplicativo a ser desenvolvido.

A aplicação J2ME enviará uma requisição através de uma mensagem SOAP para o web service, que por sua vez irá receber a mensagem e invocar o método necessário na API do google para que esta trate o evento e solicite ao servidor a execução de uma certa tarefa. Para tanto, foram utilizadas as seguintes ferramentas e frameworks:

Para utilizar a API do Google é necessário ter instalado o JSE 1.5 ou superior.

Google API

O Google oferece uma API completa, conhecida como GData, para acesso aos serviços oferecidos com suporte ao Google Calendar, ao Gmail e ao Blogger. Atualmente, a API está na versão BETA, que durante a utilização da ferramenta se mostrou bastante estável. Para a comunicação, o Google utiliza um protocolo padrão baseado em XML. No entanto, a API encapsula tal protocolo e facilita o acesso aos serviços.

Com a API de acesso é possível basicamente controlar os eventos contidos na agenda. Além de alteração e exclusão, é possível adicionar participantes em um evento, alterar datas, assunto, enviar notificação a todos que tenham sido convocados para um determinado evento, entre outras opções.

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