Palm Top e Banco de Dados

Autores: Adriana Figueiredo Doze

 

Kelvin Kredens

Michaelli Hanninger e

Polyana Leme Lorbiesky

1. Introdução

 

Os Palm e compatíveis são computadores de mão que, a cada dia, ganham novas funções, serviços, programas e acessórios.

 

Cada Palm vem com os principais programas para organização pessoal e profissional, como cadastro de endereços, tarefas a fazer, agenda, bloco de anotações, controle financeiro e e-mail. Além disso, acompanha o Palm Desktop, programa para sincronizar os dados com o computador e que permite também a consulta das informações no próprio PC ou Mac.

 

O acesso aos programas, e mesmo à escrita, é efetuado utilizando uma caneta que acompanha o produto. Tudo muito prático e fácil. Entre pegar o Palm e fazer as anotações, não são necessários mais do que cinco passos. Bem diferente do que estamos acostumados em um IBM-PC, Mac ou mesmo notebook. Essa praticidade e abordagem direta das aplicações são consideradas como uma grande vantagem pela maioria dos usuários.

 

Existem inúmeros programas e documentos disponíveis para o Palm, o que garante o acréscimo de diversas funcionalidades ao produto. Pode-se destacar os serviços para acesso a informações culturais, sistemas bancários, planilhas, programas para viagens e sistemas gerenciadores de banco de dados. Além disso, diversos acessórios garantem seu investimento. Gravador de mensagens faladas, teclado, GPS e canetas variadas são apenas alguns dos exemplos. Atualmente, são vendidos vários modelos compatíveis com a plataforma Palm, garantindo uma participação de 73% no mercado americano e mais de 50% no mercado mundial, conforme o IDC.

 

2. O Banco de Dados do Windows CE

 

1) Histórico  

O Microsoft ActiveX Data Objects for Windows CE (ADOCE) é uma interface de programação baseada em tecnologia ActiveX, que possibilita a manipulação eficiente de conjuntos de informações (bancos, tabelas e registros de dados) para dispositivos móveis, como Handheld PCs e Pocket PCs. O ADOCE realiza papel equivalente ao ADO em aplicações criadas para computadores de mesa. Ambos fazem parte da mais recente estratégia de acesso a dados criada pela Microsoft, os chamados, DAO (Data Access Objects), RDO (Remote Data Objects) e ODBC (Open Database Connectivity).  

Quando as primeiras versões do ADOCE (1.0 e 2.0) foram lançadas em meados de 1998, precisavam ser adicionadas manualmente em dispositivos baseados no WinCE 2.0 através de um pacote de instalação .CAB, que podia ser obtido no Web Site da Microsoft.  

Com o lançamento dos HPC Pro (Handheld PC Professional Edition) baseados no WinCE 2.11, os fabricantes de hardware determinaram que estes dispositivos sairiam de fábrica já com o ADOCE embutido na memória ROM da máquina. A Microsoft, por sua vez, decidiu incluir no WinCE 2.11 uma versão miniatura do Access, denominada Pocket Access, que é uma máscara destinada a facilitar o manuseio de informações por parte dos usuários finais. O Pocket Access utiliza em seu núcleo o ADOCE para apoio ao gerenciamento de informações.

Infelizmente, a máscara Pocket Access não foi incluída nos equipamentos Pocket PCs, porém os "runtimes" do ADOCE 3.0 para Pocket PC estão disponíveis para uso por quaisquer aplicações.  

2) A Estrutura de Programação  

Assim como na versão para computadores de mesa, o ADOCE 3.0 é composto por objetos Recordset, Fields e Connection, que podem ser incorporados em linguagens de programação como Visual Basic e Visual C++, ou outra linguagem que esteja habilitada a trabalhar com tecnologia Activex/Interfaces COM. No ADOCE, os objetos Command e Property não são suportados.  

Uma das grandes inovações do ADOCE 3.0 está na possibilidade de criarmos uma conexão para um gerenciador de banco de dados (MS SQL2000, por exemplo) através do objeto Connection (estes "gerenciadores" podem ser chamados de "provedores de acesso a dados"). Estes provedores são os verdadeiros responsáveis pelo gerenciamento das informações, como databases, tabelas e registros, além de soluções, podendo assim utilizar o ADOCE junto à camada da aplicação para interagir com o provedor de dados.  

Através dos componentes do ADOCE, podemos definir as estruturas de armazenamento da informação, consultar tabelas, inserir e remover registros, seguindo uma ordem lógica que poderia ser organizada da seguinte forma:  

  • criar uma conexão com o provedor de dados;
  • abrir a conexão;
  • criar um recordset;
  • associar o recordset à conexão;

  • abrir o recordset 

e, quando o recordset retorna informações, trabalhamos esta informação.  

3) Compatibilidade  

Uma das alternativas do ADOCE é a criação de arquivos .CDB (CE Database), que encapsulam a estrutura do banco de dados (tabelas, registros, índices e consultas programadas). Estes arquivos podem ser manipulados pelo Pocket Access (existente em HPCs Pro e 2000 Edition) ou por aplicações específicas, e podem ser convertidos do PC de mesa para o dispositivo (ou vice-versa) através do ActiveSync, software de sincronismo de dados distribuído pela Microsoft.

 

3. Oracle Lite

 

Oracle9i Lite é a plataforma principal para desenvolver e controlar aplicações de negócio em dispositivos móveis. Com suporte a Java em mais de trinta plataformas e dispositivos diferentes, tais como a Palm PDAs, os telefones Nokia, Pocket PCs, e laptops padrão, Oracle9i Lite permite uma geração nova de aplicações móveis.  

  • Desenvolve aplicações 100% Java nativas a Palm PDAs, os telefones Nokia, Pocket PCs, e laptops.
  • Controla centralmente todas as aplicações em todas as plataformas.
  • Sincroniza dados entre milhares de dispositivos móveis e Oracle9i sobre toda a conexão (Internet, wireless, etc.)

Oracle Corporation e 3Com Corporation anunciaram aliança estratégica para prover uma série de soluções para computação móvel corporativa. Entre as estratégias está a integração do Oracle Lite Client para o Palm III e PalmPilot Pro, que vai permitir acesso em tempo real aos dados corporativos.

 

O Oracle Lite é uma pequena base de dados, construída para laptops, handhelds e PDAs. Com Oracle Lite, os dados podem ser replicados de um servidor grande que contenha base de dados com dispositivos móveis múltiplos, permitindo que dados possam ser alcançados e modificados mesmo quando o usuário está offline. Quando o usuário se reconecta à base de dados, os dados são automaticamente sincronizados do dispositivo móvel com a base de dados da empresa e vice-versa. A informação armazenada na base de dados central pode ser utilizada por usuários em qualquer lugar, a qualquer momento.

 

4. ThinkDB 2.0  

ThinkDB 2.0

 

A Thinkingbytes possui uma versão do seu famoso software de banco de dados para Palm OS, o ThinkDB 2.0. Ele possui várias funções. Uma delas é suportar o formato .MDB. O software permite editar vários campos, definir listas e gerenciar vários cadastros de maneira simples. E é possível importar arquivos diretamente do Access e do Excel também. Para importar arquivos do Access e Excel direto para o Palm, ele usa o ThinkDB dbSync.

 

O ThinkDB 2 Desktop permite que o usuário trabalhe com seus bancos de dados no PC, podendo criar, editar e sincronizar tudo com o Palm. Uma boa solução para quem  trabalha com um grande número de registros, pois facilita o cadastro do banco de dados e o usuário pode ter todos os seus arquivos no computador.

 

ThinkDB 2 Desktop

 O ThinkDB Desktop gera os arquivos diretamente em .PDB e, portanto, basta inserir este arquivo no HotSynch e sincronizar com o Palm para começar a utilizar o banco de dados. Durante o HotSync, os arquivos modificados no PC são atualizados no Palm.

 

O ThinkDB dbSync permite que o usuário importe arquivos diretamente do Access e Excel. tranferindo-os diretamente para o Palm, sem complicações.

 

Algumas características

 

  • Armazena imagens preto e branco, tons de cinza ou colorida.

  • Filtros aperfeiçoados, bem mais rápidos e seletivos.  

  • Classificação por classes.

  • É possível configurar os rótulos do campo, fonte, cor para cada rótulo e campo, rótulos constantes, help, colunas e abas, e exibir campos em lugares múltiplos.  

  • Controle dos botões de seleção.  

  • A visualização das listas apóiam mais de 5 campos (até 80), com campo de rolagem horizontal.  

  • Habilidade para criar um banco de dados na tela inicial.

  • Auto-escrita para textos, memorandos e campos numéricos.

  • Possibilidade de aumentar ou reduzir o número de campos.  

  • Máxima implementação de detalhes.  

  • Possibilidade de unir banco de dados definido pelo usuário com chaves. Os campos podem ser inteiros, longos ou textos.  

  • O usuário pode definir a seleção de registro externo.  

  • Maior segurança. Contra-senha para modificação de dados, modificação de design, beam e para copiar.  

  • Possibilidade de liberar um banco de dados apenas para leitura.  

  • Integração com o Adress Book do Palm.  

  • Expressões condicionais.  

  • Operações filtradas para aplicar comandos a registros múltiplos em uma lista. Capacidade de apagar, mover, fazer o beam da categoria e muito mais.  

  • Clone do banco de dados, com ou sem registros.  

  • Suporte de busca global.  

  • Possibilidade de trocar arquivos individuais por infravermelho (beam).  

  • Registro das listas apagadas. 

  • Suporta códigos de barra.

  • Total de 12 filtros por banco de dados.  

  • Expressões definidas pelo usuário.  

  • Capacidade para ordenar as expressões.  

  • A procura externa agora suporta tipos de campos com expressões e listas. Para campos tipo memorando, a procura externa abrirá uma janela com o conteúdo do memorando. Para campos tipo texto, o programa exibe linhas múltiplas.  

  • A lista mais recente de banco de dados fica disponível para acesso rápido.

     

Arquitetura do software aberta:

 

  • Plug-in disponível para a grande maioria de desenvolvedores do ThinkDB.  

  • Plug-ins que permitem a integração do ThinkDB com aplicações-padrão do PalmPilot.  

  • Plug-ins que permitem a integração com Date-book, cálculos matemáticos complexos e outros.  

ThinkDB API disponível para a grande maioria de desenvolvedores Palm.

 

5. DB2 Everyplace

 

Introdução

 

Com o DB2E, a IBM introduziu um banco de dados relacional pequeno, separado, projetado especificamente para PDAs e computadores pessoais handheld. Seguindo esta estratégia, os engenheiros conseguiram reunir muita funcionalidade em um espaço pequeno.

 

O DB2E V7.1.1 é a solução da IBM para a computação móvel. Com DB2 Everyplace, os profissionais móveis podem alcançar dados de vital importância para o seu negócio, mesmo quando afastado do escritório.

 

A Solução DB2 Everyplace é formada pelos seguintes componentes:

 

  • DB2 Everyplace database - um sistema relacional de banco de dados designado para PDAs, Handheld.

  • DB2 Everyplace Sync Server - um servidor bidirecional usado na sincronização dos dados entre o DB2E e algum sistema de Banco de Dados existente.

     

  • DB2 Everyplace Personal Application Builder(PAB) - uma ferramenta rápida para o desenvolvimento de aplicações DB2E que rodem nos dispositivos móveis.

     

Visão Geral do DB2 Everyplace

 

 

Figura 1

 

Limites do DB2 Everyplace

 

  • Tamanho máximo da tabela (em um sistema de 32 bits): 16 milhões de páginas a 512 bytes (4 gigabytes)

  • Número máximo de tabelas em um data warehouse: 65535

  • Número máximo de índices em uma tabela: 15

  • Número máximo de forenkey em uma tabela: 8

     

  • Número máximo de colunas em um índice: 8

     

  • Número máximo de colunas em uma chave primária: 8

     

  • Longitude máxima de seqüência de SQL: 2 kilobytes

     

  • Número máximo de conexões ao data warehouse: 1

     

  • Número máximo de linhas em uma tabela: limitado pelo tamanho da tabela

     

  • Número máximo de colunas em uma tabela: 128

     

  • Longitude máxima para uma coluna CHAR: 32 kilobytes

     

  • Longitude máxima para uma coluna VARCHAR ou BLOB: 32 kilobytes

     

  • Tamanho máximo de inteiro: 31 dígitos

     

Os dispositivos móveis são projetados para realizar tarefas específicas, ao contrário da natureza mais geral dos computadores pessoais. O Banco de Dados DB2 Everyplace foi projetado especificamente para dispositivos móveis. O banco de dados DB2E suporta SQL básico e operações relacionais como: Join, Group By, Order By, múltiplas chaves primárias e Foreign Key, Funções Agregadas e Constraints. A indexação avançada fornece um impulso notável no desempenho, de tabelas médias às tabelas grandes do DB2 Everyplace. Os Scrollable cursors permitem uma manipulação de dados mais fácil.

A fim de maximizar a utilidade usando menos quantidade de recursos, somente a funcionalidade, a mais relevante para bases de dados móveis, foi incluída. As Funções do tipo: subqueries, creating views, triggers, store procedures e as funções definidas pelo usuário não estão incluídas. No Banco de Dados está disponível somente o suporte a Single Byte Character Sets (SBCS), Double Byte Character Sets (DBCS), E UNICODE.  

DB2 Everyplace suporta o desenvolvimento de aplicações para banco de dados em C/C++ e em Java. As interfaces Call Level Interface (CLI) e a Java Database Connectivity (JDBC) estão disponíveis. O banco de dados DB2 Everyplace está disponível para o Palm Os, Windows Ce/Pocket PC, Psion EPOC, Embedded Linux e QNX Neurino.

 

Query-

By_Exemple é fornecido com o  banco de dados DB2 Everyplace para usar no client. Figura 1 mostra como o QBE pode ser usado para ver os dados de tabelas do DB2 Everyplace.

Figura 2

 

Você pode rolar através dos dados das tabelas usando as barras de rolagem da tela ou os botões para cima e abaixo do dispositivo móvel. Com o DB2 Everyplace V7.1.1, você pode ver registros únicos usando a visão do precord. Você pode usar QBE para atualizar dados, inserir novos dados, ou apagar dados das tabelas. Usuários mais avançados podem usar o QBE command-line processor (CLP) para entrar e executar comandos SQL personalizados pelo usuário.  A figura acima mostra o QBE CLP sendo usado para a localização de nomes em uma agenda.

 

Replicação de Dados

 

MobiLink

 

É a solução da Sybase para a replicação dos dados entre as bases do palmtop/handheld para o banco de dados original. MobiLink permite a replicação de dados entre o banco do palmtop/handheld para qualquer base de dados (relacional) acessível através de ODBC (Adaptive Server Anywhere, Adaptive Server Enterprise, Oracle, MS SQL Server ...).

 

Como funciona:

 

MobiLink utiliza-se de uma aplicação servidora (MobiLink Server) que se mantém pronta para atender às requisições de envio/recebimento de dados entre os bancos de dados. Dependendo do tipo de plataforma utilizada (WinCE, Palm OS, EPOC...), existe uma maneira de conectarmos o palmtop/handheld ao servidor (por exemplo: o WinCE usa o protocolo TCP/IP, o Palm OS pode usar o HotSync etc).

 

O MobiLink Server passa as requisições de sincronização dos dados, provenientes do palmtop/handheld para o banco de dados consolidado, que irá executar os scripts de sincronização das bases. Estes scripts são comandos SQL gravados nas tabelas de gerenciamento do MobiLink, criadas no banco consolidado. Através deles, é possível determinar os dados que serão trocados entre as bases.  

É através da sincronização dos dados que podemos fazer a carga de dados inicial da base que ficará no palmtop/handheld, já que o compilador C/C++ cria um banco de dados vazio.

 

É importante lembrar que, por se tratar de uma base de dados replicada, são necessários alguns cuidados básicos para evitar os conflitos no cadastramento das informações que serão replicadas (que são possíveis de ocorrer em qualquer banco replicado). Para isso, o MobiLink tem uma série de eventos que são disparados durante o processo de sincronização das informações, o que permite uma grande flexibilidade para resolver os possíveis problemas.

 

Virtudes

 

A grande virtude desta solução da Sybase é que ela é realmente aberta, dando um conjunto de opções muito grande para o desenvolvedor escolher, desde o tipo de plataforma do palmtop/handheld, passando pela linguagem (C ou C++), pelo compilador e finalmente pelo banco de dados consolidado. Além disso, não há espaço gasto desnecessariamente, uma vez que o ULA identifica a real necessidade da aplicação, reduzindo, assim, o consumo de memória do equipamento (fator crucial nestes casos. Basta tomar por referência um Palm III da 3Com, que tem apenas 2Mb de memória RAM).

 

Conclusão

 

Se a empresa necessitar de uma solução de computação móvel (através de palmtops/handhelds), esta é realmente a melhor atualmente disponível no mercado, devido a sua abrangência e baixo custo dos equipamentos envolvidos (sempre mais baratos que notebooks).

 

DB2 Everyplace Sync Server

 

O DB2 Everyplace Sync Server sincroniza dados da base de dados da empresa com o DB2 Everyplace do Palm. A arquitetura do Sync Server é composta por:

 

  • IBM Sync client;

     

  • DB2 Everyplace Sync Server;

     

  • Enterprise data sources.

     

O  IBM  Sync  Client  se  comunica  com  o  DB2

 

Everyplace Sync Server e o  DB2 Everyplace Sync Server se comunica com a base de dados da empresa. DB2 Everyplace Sync Server está disponível para DB2 Everyplace Sync Server para AIX. Linux e Solaris estão em fase beta de desenvolvimento. The IBM Sync client está disponível para Palm OS. The IBM Sync client para Windows CE/Pocket PC, Psion EPOC, Embedded Linux e QNX Neutrino estão em fase de teste.

 

Arquitetura da Sincronização

 

Figura 3

 

A figura acima mostra um resumo do projeto do DB2 Everyplace Sync Server. Os pedaços em cinza são o ‘motor’ de sincronização, um no servidor e um no dispositivo móvel. A cor branco representa os adaptadores para fontes de dados. Preto é a interface do usuário e os cilindros cinzentos são as fontes de dados. Há também várias camadas API no projeto para levar em conta extensão fácil e acesso programático à arquitetura.

 

Como a sincronização acontece

 

O seguinte cenário descreve como o DB2 Everyplace Sync Server sincroniza dados relacionais   entre   a   base   de   dados  do  DB2

Everyplace e um sistema universal de banco de dados.

 

Sincronização do Cliente para o Servidor

 

 

 

Figura 4

 

Quando o usuário atualiza algum dado no dispositivo móvel, a informação é sincronizada durante o próximo processo de sincronização. Os passos a seguir mostram como a informação é sincronizada com o dispositivo móvel e a empresa.

 

  • A sincronização pode ser iniciada pelo usuário ou pode ser iniciada automaticamente por uma aplicação usando o IBM Sync Engine API. Ele emite um pedido fazendo a requisição de sincronização ao servidor.

     

  • O pedido é autenticado e é colocado então na fila de entrada do Sync Server. O Client fica esperando um reply do servidor.

     

  • Depois que o pedido de sincronização é recebido pelo Sync Server, o mesmo verifica o USERID e o password fornecido que já foram autenticados anteriormente e faz a verificação se é um cliente válido do Sync Server.

  • Os dados são colocados em uma stading table. A stading table ajuda a melhorar a capacidade de atualização porque as mudanças podem ser realizadas enquanto outros updates ocorrem.

     

  • Os dados são copiados da stading table para a tabela espelho e os conflitos potenciais da atualização     são   resolvidos. As   mudanças realizadas na tabela espelho são gravadas no log do DB2.

     

  • O DB2 DataPropagator captura do arquivo de log do DB2 as mudanças realizadas na tabela espelho e as escreve na tabela de dados.

     

  • O DB2 DataPropagator aplica as mudanças realizadas na tabela de dados na tabela-fonte.

     

Sincronização do Servidor para o Cliente

 

 

Figura 5

 

Os dados selecionados no banco de dados da empresa são transferidos para o dispositivo móvel durante a sincronização. A seguir estão as etapas executadas para que a sincronização seja efetuada.

 

  • O DB2 DataPropagator roda continuamente no sistema que possui a fonte de dado, captura as mudanças que ocorrem na tabela-fonte (mudanças armazenadas no log do DB2) e escreve as mudanças da tabela de dados.

     

  • O DB2 DataPropagator aplica as mudanças da tabela dados na tabela espelho. Os possíveis problemas são resolvidos durante essa etapa do processo.

  • As mudanças nos dados são enviados para uma fila de saída como uma mensagem de resposta da sincronização.  

  • O software de sincronização do cliente recupera a resposta da mensagem de sincronização da fila de saída.

     

  • As mudanças que foram efetuadas nos dados são aplicadas à cópia local do cliente.

     

Conectividade do DB2 Everyplace Sync Server

 

Figura 6

A conectividade do DB2 Everyplace Sync Server inclui comunicação com e sem fio. No mercado wireless diversificado de hoje, há diversas opções para fazer uma conexão móvel.

 

Começando da parte superior esquerda e continuando no sentido horário, têm-se os seguintes tipo de conexão:

 

  • Dispositivo móvel utilizando uma conexão discada.

     

  • Dispositivo móvel utilizando uma conexão por cabo serial ou conexão por infravermelho para se conectar a um PC com conexão a internet.

     

  • Dispositivo móvel com telefone celular integrado.

     

  • Dispositivo móvel com conexão infravermelha com um celular conectado a internet.

     

  • No dispositivo conectado há uma Lan Wireless que provê acesso a internet

     

ActiveSync para devices baseados no CE 2.0 ou superior

 

Introdução

 

ActiveSync é o aplicativo necessário aos usuários de devices baseados em Windows CE, para conectá-los e sincronizá-los com seus microcomputadores em casa ou no escritório. A Microsoft, de tempos em tempos, disponibiliza uma nova versão do ActiveSync como parte de novos equipamentos e novas tecnologias.

 

Suporte e compatibilidade

 

1. Conexões dos tipos: serial, por infravermelho e USB.

 

2. Sincronização de Calendar, Contacts, Tasks, Favorites e Notes (direto para o Outlook), Arquivos da pasta My Documents, bem como os outros arquivos do Pocket Access, Inbox e Avantgo. ActiveSync 3.1 suporta todos os PC.

 

3. Instalação de softwares a partir do microcomputador.

 

4. Compatibilidade com PCs rodando as versões de Windows 95/98/NT/2000/Me e Whistler.

 

5. Compatibilidade com Windows CE 2.0 ou superior.

 

6. Efetua e restaura backups.

 

6. Conclusão

 

Por estarmos na época da computação onipresente, a importância desses softwares para os personal digital assistants (PDAs) é reconhecida tanto por gerentes de TI quanto por usuários finais.

 

O principal fato disso é que você tem a informação que quiser, à hora que quiser e onde quiser. E o mais importante é que, com o uso de sistemas Wireless, onde seu PDA estiver, estará sempre ON-LINE e você terá sempre informações atualizadas e também poderá atualizar estas informações.