Desenvolvendo sistemas dedicados à plataforma Palm OS

Há alguns anos, desenvolver sistemas para dispositivos PDA conectados a um SGBD (Sistema Gerenciador de Banco de Dados) constituía uma tarefa árdua, pois além de poucos recursos de hardware esbarrávamos em problemas clássicos da plataforma. Neste artigo, veremos os últimos avanços que possibilitaram a disponibilização de recursos poderosos de bancos como Microsoft SQL Server, MySQL e Oracle neste ambiente, tornando o ciclo de desenvolvimento produtivo e robusto. Para isso, analisaremos passo a passo como construir uma aplicação de atendimento de clientes em restaurantes para Palm OS.

Palm OS ou Pocket PC?

É comum encontrar no mercado equipamentos da marca Pocket PC sendo vendidos com o nome de Palm OS. Isso porque a Palm OS foi a primeira empresa a entrar neste mercado e atuou “sozinha” até final da década de 90, porém seu monopólio ruiu e sua divisão fortaleceu seu maior rival, o Pocket PC. Palm OS e Pocket PC são marcas de dispositivos que se enquadram em uma classe chamada PDA (Personal Digital Assistants).

Os sistemas operacionais existentes nestas duas marcas são completamente diferentes, entretanto, ambos podem realizar o mesmo tipo de trabalho.

Os hardwares da Palm Inc. possuem a fama de serem baratos, isso porque geralmente perdem no recurso disponibilizado. Falta na Pocket PC um modelo “popular” como o famoso Z22 da Palm Inc. que custa R$ 390,00 e pode ser adquirido até em lojas de eletro-eletrônicos. Esse fato é suficiente para garantir ao Palm a maior fatia do mercado.

O que é preciso saber sobre Palm OS

Na plataforma Palm OS é comum encontrar transferência de dados entre PDA e Desktop através de um ADD-IN comumente chamado de conduit. Este componente é registrado no software disponibilizado pela Palm Source chamado Hotsync, que faz parte do pacote chamado Palm Desktop.

O Hotsync é responsável por gerenciar a execução de todos os conduits. Ele sempre tem um inicio, meio e fim sem intervalos. Se algum processo encontrar problemas e permanecer sem comunicação durante dois minutos, a execução do conduit é abortada.

Outro ponto que devemos ter em mente é o fato de que na plataforma Palm OS temos dois tipos de arquivos:

  • PRC: Arquivos compilados. Podem ser Shared Library ou Aplicativos;
  • PDB: base de dados.

Estes arquivos são comumente instalados no Palm OS através do Palm Quick Install, outra ferramenta que faz parte do pacote Palm Desktop.

Perguntas frequentes

  • Um programa compilado para a plataforma Palm OS pode ser executado diretamente em um Pocket PC ou vice-versa? A resposta é não, pois são dois sistemas operacionais completamente diferentes.
  • Devo utilizar Palm OS ou Pocket PC? Eu deixo esta escolha por parte do cliente, apenas apresento as duas plataformas bem como especificações técnicas e financeiras.
  • Posso programar em quais linguagens? Atualmente existem compiladores para quase todas as linguagens comerciais.

Exemplo abordado neste artigo

A partir de agora veremos passo a passo como desenvolver um sistema dedicado ao atendimento de clientes de um restaurante. Vamos chamá-lo de ComandaFacil.

O sistema terá as seguintes características:

  • Uma tela onde um recepcionista terá informações de mesas disponíveis;
  • Telas para o garçom selecionar produtos e adicionar a lista de produtos consumidos.

No nosso artigo não vamos utilizar o conduit, vamos utilizar uma forma de conexão um pouco mais sofisticada: serão disparadas instruções SQL contra um servidor.

Instalando e configurando o ambiente

O HB++ (Handheld-Basic) foi o IDE escolhido para o desenvolvimento deste projeto, isso porque sua interface é amigável e seu grau de programação é de alto nível.

Para simular o PDA, vamos utilizar o mais famoso emulador desta plataforma, comumente chamado de POSE (Palm OS Emuator).

O SGBD escolhido foi o Microsoft SQL Server 2000. Para prover a comunicação entre o Palm OS e o Microsoft SQL Server vamos utilizar o RemoteSync.

Na Plataforma Palm OS temos a deficiência da falta de drivers de conexão comumente utilizado na programação da plataforma Desktop. O RemoteSync será esta ponte “driver” entre o PDA e o SGBD e a única exigência do RemoteSync para realizar esta ligação é que o PDA tenha alguma forma de comunicação TCP/IP com o RemoteSync e que o SGBD esteja acessível ao RemoteSync. Neste artigo vamos utilizar uma rede Wi-Fi que prove ao PDA uma conexão TCP/IP, entretanto é possível também utilizar o RemoteSync para se comunicar com equipamentos remotos via celular e linha telefônica convencional.

Definindo a base de dados

Como já foi dito, neste artigo vamos utilizar o SQL Server 2000, entretanto, poderíamos utilizar qualquer SGBD que aceite conexão ODBC sem alterar nenhuma linha de código do aplicativo Palm OS.

Entre no Enterprise Manager do SQL Server 2000, crie um novo Database e crie tabelas segundo o DER exibido na Figura 1. Utilize como dicionário de dados as informações contidas na Tabela 1.

DER: CFacil
Figura 1. DER: CFacil.
Tabela 1. Dicionário de dados.
CF_ATENDENTE CF_MESA
ID_ATENDENTE Int ID_MESA Int
LOGIN Varchar(12) DESCRICAO Varchar(30)
SENHA Varchar(12) LUGARES Int
NOME Varchar(30) DISPONIVEL Varchar(5)
CF_PRODUTO CF_ATENDIMENTO_PRODUTO
ID_PRODUTO Int ID_ATENDIMENT_PRODUTO Int
DESCRICAO Varchar(30) ID_ATENDIMENTO Int
PRECO Decimal(9,2) ID_PRODUTO Int
ID_ATENDENTE Int
QUANTIDADE Float
CF_ATENDIMENTO CF_ATENDIMENTO_MESA
ID_MESA Int ID_ATENDIMENTO Int
ID_ATENDIMENTO Int ABERTO Varchar(5)

Codificando

Inicie o HB++, crie um novo projeto selecionando a opção Minimal Projetc conforme a Figura 2.

Criando um novo projeto
Figura 2. Criando um novo projeto.

Utilizar o Handheld-Basic é muito fácil. Isso porque ele disponibiliza Wizards simples e objetivos. Na Figura 3 temos o primeiro passo no Wizard de criação de um projeto. Neste, utilize os dados apresentados na Tabela 2.

Primeiro passo do Minimal Project Wizard
Figura 3. Primeiro passo do Minimal Project Wizard.
Tabela 2. Propriedades do projeto.
...
Propriedade Valor
Project Name CFacil
Project Filename Diretório_qualquer\Cfacil.hbp
Quer ler esse conteúdo completo? Tenha acesso completo