Desenvolvendo persistência Web para aplicativos off-line usando Google Gears

Este artigo descreve o desenvolvimento de aplicativos no ambiente Web, usando a tecnologia Gears, desenvolvida pela Google.

Esse artigo faz parte da revista SQL Magazine edição 67. Clique aqui para ler todos os artigos desta edição

Desenvolvendo persistência Web para aplicativos off-line usando Google Gears

 

Este artigo descreve o desenvolvimento de aplicativos no ambiente Web, usando a tecnologia Gears, desenvolvida pela Google. Uma aplicação Web possui vários benefícios como, por exemplo, não necessita de instalação no usuário; as funções e bibliotecas são executadas diretamente no browser; os documentos e arquivos podem ser compartilhados e editados em conjunto com outras pessoas do seu círculo de trabalho; a atualização e manutenção dos aplicativos são facilitadas, pois se encontram alocadas em servidores e não espalhadas em cada máquina cliente. Mesmo com essas e outras vantagens, muitas pessoas ainda preferem usar softwares desktop. Um dos motivos para isso é que nem sempre estamos conectados na Web, e naturalmente surgem perguntas como: E se estamos em um local que não tem acesso à Internet? Se o acesso à rede for suspenso? Nessas situações tais pessoas ficariam sem acesso às aplicações e consequentemente aos seus dados. Neste artigo apresentaremos a Google Gears como ferramenta open source, a qual permite ampliar as funcionalidades de aplicações Web por meio do armazenamento local de dados fornecidos on-line, para que sejam utilizados off-line.

 

Introdução

Segundo Ginige e Murugesan (2001), as aplicações Web têm crescido rapidamente, tanto em seu escopo quanto na extensão de seu uso, afetando significativamente todos os aspectos de nossas vidas.

Isso de fato ocorreu e hoje é possível notar as aplicações web-based cada dia mais presentes na vida de usuários domésticos e de empresas. Um dos motivos desse crescimento é a popularização do acesso à rede mundial de computadores, bem como o aumento na largura de banda.

O termo “aplicação Web” é utilizado para descrever o software em ambiente Web. Para Pressman (2002), uma aplicação Web pode ser desde uma simples página ou até um Web site completo. Essa definição atende apenas parcialmente aos objetivos aqui pretendidos, uma vez que em uma página simples não se faz necessário aplicar mecanismos de persistência de dados.

Uma aplicação Web é desenvolvida com base em uma lógica de negócio, sendo considerada como produto de software ou sistema de informática que utiliza uma arquitetura distribuída, pelo menos parcialmente, sob o protocolo HTTP. Como conseqüência, pelo menos parte das interfaces com o usuário é acessível por meio de um navegador (PAULA FILHO, 2003). Essa idéia é mais interessante para o escopo deste trabalho, pois ele aborda aplicações mais complexas, que possuem interatividade e funcionalidades robustas.

O desenvolvimento de sistemas web-based surgiu com o intuito de simplificar a atualização e a manutenção dos sistemas. O código-fonte fica armazenado em um servidor, de onde ele é acessado pelos diferentes usuários por meio da Internet, de redes privadas ou Intranets. E se, por algum motivo, o acesso à rede não estiver disponível? Esse é um dos motivos que justificam a resistência de algumas pessoas em utilizar uma aplicação Web para realizar tarefas rotineiras como ler e-mails, verificar notícias e gerenciar tarefas. Elas argumentam que nem sempre têm acesso à Internet e, quando isso ocorre, ficam impossibilitadas de realizar suas atividades.

Neste trabalho é descrita uma ferramenta que pretende superar essa dificuldade, a Google Gears. O conteúdo do artigo está dividido da seguinte forma: a Seção 2 descreve a evolução de sistemas web-based; a Seção 3 discute sobre persistência de dados no contexto Web; a Seção 4 apresenta a ferramenta Google Gears juntamente com um código de exemplo sobre a implementação off-line de aplicações Web; a Seção 5 discute a conclusão do artigo.

 

Evolução das Aplicações Web

O surgimento das aplicações Web se deu em meados de 1995, quando o navegador Netscape introduziu um script do lado do cliente chamado JavaScript, permitindo que programadores pudessem acrescentar alguns elementos dinâmicos para a interface de usuário no lado do cliente. Até então, todos os dados eram enviados para o servidor, que fazia o processamento, e os resultados eram entregues de volta para o cliente por meio de páginas HTML estáticas.

Em 2004, surgiu o conceito Web 2.0 que propôs utilizar a Web como plataforma, em vez de simplesmente desenvolver aplicações que usavam a Internet para se comunicar com o servidor (O'REILLY, 2006). Um ano depois apareceu o AJAX (Asynchronous Javascript And XML), e aplicações como o Gmail começaram a fazer o lado cliente cada vez mais interativo. Dessa forma, pode-se observar que as aplicações Web não são simples páginas estáticas, mas sistemas computacionais projetados para serem utilizados por meio de um navegador; ou seja, o browser se tornou um ambiente de execução de software.

Praticamente todas as pessoas que têm acesso à Internet já tiveram algum contato com uma ou mais dessas aplicações Web. Esses softwares web-based estão cada vez mais sofisticados e podem substituir plenamente muitos programas que até então precisavam ser instalados no computador do usuário. Aplicações como Google Docs substituem o famoso pacote MS-Office (Word, Excel e PowerPoint) da Microsoft. Outras como o Gmail, eliminam a necessidade de se usar um cliente de e-mail instalado como Eudora, Outlook, Mozilla Thunderbird etc.

Alguns desses softwares são tão completos que podem ser considerados como verdadeiras estações de trabalho on-line, este é o caso do ZOHO. Ele possui, Por exemplo, um cliente de e-mail, editor de textos, planilhas eletrônicas, apresentações de slides, gerenciador de projetos, organizador de contatos e controle financeiro. Vale lembrar que a maioria destas ferramentas é gratuita." [...] continue lendo...

Artigos relacionados