
O Analista de Sistemas, José V. Junior Dal Prá, escolheu como tema para seu trabalho de conclusão de curso, o desenvolvimento de um Protótipo de Coleta de Dados para um Sistema de Rastreabilidade de Suínos, utilizando a empresa Cooperativa Regional Alfa como objeto de estudo para auxiliar no levantamento de requisitos para desenvolver o protótipo. O protótipo foi totalmente desenvolvido utilizando a plataforma SuperWaba, que permite que o software seja executado em diversas plataformas como Palm OS, Windows Mobile e Symbian OS. Abaixo estão disponíveis para download o código-fonte do projeto, a monografia e a apresentação PowerPoint utilizada para demonstração.
- Download da Monografia do Projeto - 3,15 Mb
- Download da Apresentação PowerPoint do Projeto - 2,01 Mb
- Download do Código-fonte do Projeto em SuperWaba - 1,51 Mb
Resumo
A computação móvel vem crescendo rapidamente nos últimos tempos. Os dispositivos estão cada vez mais sofisticados, com maior capacidade de armazenamento e processamento de informações. Assim como os equipamentos, as linguagens de programação para dispositivos móveis também evoluíram consideravelmente. Esta evolução vem fazendo com que diversas empresas optem por construir aplicativos com fins específicos para estes dispositivos, pois em muitos casos estes são os equipamentos ideais para o trabalho a ser executado. Algumas tarefas que serão executadas por estes dispositivos requerem uma capacidade de armazenamento e processamento menos limitada que a dos celulares, por isso muitos desenvolvedores tem focado suas atenções para os dispositivos Personal Digital Assitant (PDA).
O estudo de caso deste trabalho analisou um sistema de coleta de informações sobre suínos, que atualmente é feito de forma manual, acarretando na exposição da informação coletada à uma série de erros humanos e de armazenamento. O protótipo idealizado visa coletar estas informações utilizando algum dispositivo computacional de pequeno porte e exportar as informações coletadas em um formato padrão. Devido ao grande número de informações a serem coletadas, utilizou-se o PDA como dispositivo de coleta das mesmas. A implementação do protótipo foi feita utilizando a linguagem de programação Superwaba, de licença GPL, e a persistência das informações foi feita com o Sistema Gerenciador de Banco de Dados (SGBD) DB2 EveryPlace (DB2e), da IBM. Esta combinação resultou em um protótipo estável e ágil, que pode auxiliar na erradicação dos erros que envolvem a coleta destas informações.
Introdução
Nos últimos anos, a segurança alimentar vem sendo tema de várias discussões no mundo todo. Em alguns países, a rastreabilidade é assunto de segurança nacional.
Por este motivo, empresas do ramo alimentício estão buscando a cada dia, novas técnicas e tecnologias que auxiliem na melhoria na qualidade da produção dos alimentos e, mais do que isso, que evidenciem que as melhores práticas estão sendo aplicadas.
A rastreabilidade vem auxiliar a evidenciar que a cadeia produtiva está sob as melhores técnicas de criação, industrialização, estocagem e transporte. E hoje, mais do que nunca, a sobrevivência destas empresas, neste mercado tão competitivo, está diretamente relacionada com a qualidade dos produtos comercializados.
A eficácia de um sistema de rastreabilidade depende diretamente das informações que são coletadas, geradas ao longo da cadeia de produção. Para que estas informações tenham um percentual de confiança cada vez mais alto, é necessário que as intervenções humanas sejam minimizadas. Isto é facilitado com o auxilio da Tecnologia da Informação.
Em locais de criação dos animais o acesso é dificultado, o que compromete a agilidade na coleta das informações. A utilização de desktops para a coleta destas informações é praticamente inviável, pela sua falta de mobilidade, e o uso de notebooks tornaria o sistema de coleta demasiadamente caro. A solução para este problema está nos Personal Digital Assitants (PDAs), computadores de mão, que possuem um custo reduzido e sua capacidade de armazenamento e processamento suprem as necessidades do problema.
A implementação de um protótipo, que utilizará a Cooperativa Regional Alfa como objeto de estudo, visando a coleta de informações sobre suínos é o objeto deste trabalho. Sua implementação foi feita utilizando a linguagem Superwaba combinada com o SGBD DB2 EveryPlace (DB2e), da IBM.
Rastreabilidade
Após diversas discussões em relação à segurança alimentar, alguns países, principalmente da União Européia, já vêm exigindo que os produtos exportados à eles sejam
devidamente rastreados.
A rastreabilidade não é uma ferramenta que garante a qualidade dos alimentos, mas sim, ajuda a evidenciar que as melhores técnicas estão sendo aplicadas e, principalmente, aplicadas da maneira correta.
A rastreabilidade, ou no inglês traceability, é a capacidade de traçar a historia de um produto, desde sua criação até o momento em que é adquirido pelo cliente. É importante diferenciar a rastreabilidade (traçar a história) do rastreamento (encontrar em um determinado ponto desta história o estado do produto). Por esta diferença é que se especifica que um sistema de rastreabilidade possui um sistema de rastreamento embutido, pois é necessário localizar os estados do produto dentro do histórico traçado, mas um sistema de rastreamento não necessariamente possui um sistema de rastreabilidade em si, pois, em muitos casos, necessita-se encontrar o produto em um determinado ponto, que não necessariamente está dentro de uma linha histórica ou não necessita-se de informações detalhadas sobre o mesmo.
Personal Digital Assistants (PDAs)
Os Personal Digital Assistants, ou PDAs, são computadores de mão, que possuem uma capacidade de processamento reduzida, mas que vem aumentando ao longo dos últimos anos. Estes dispositivos, que também são conhecidos como handhelds ou palmtops, são muito parecidos com as populares agendas eletrônicas, porém, possuem uma capacidade de armazenamento e processamento muito superiores a estas. Atualmente, estes dispositivos possuem diversos componentes agregados, como conexões sem fio, que permitem acesso à internet, por exemplo.
Seu conceito surgiu em 1984, com um equipamento que possuía as funções básicas de uma agenda eletrônica, como armazenamento de endereços, calculadora, entre outras. Em 1992, a Apple, inventou o nome Personal Digital Assitant, que perdura até os dias atuais.
Os PDAs estão divididos quanto ao seu design, e podem ser classificados como handhelds e palmtops (veja figura abaixo). Os handhelds são PDA parecidos com agendas eletrônicas e possuem teclado para a inclusão dos dados, além da tela sensível a toque. Os palmtops são menores que os handhelds e possuem a entrada de dados através de uma tela, sendo que a escrita é feita através de uma caneta, conhecida como Stylus. Outra característica importante é o reconhecimento de escrita, bastante avançado nos palmtops.

O desenvolvimento de aplicações para PDA tem aumentado nos últimos anos, tanto por parte dos fabricantes do dispositivo quanto por empresas fabricantes de softwares. Estes aplicativos visam facilitar processos em empresas ou apenas auxiliar no gerenciamento das atividades de usuários comuns.
Atualmente, existem diversas tecnologias que auxiliam no desenvolvimento de softwares para PDAs. Facilmente são encontradas empresas especializadas na criação de aplicativos, sendo estes, na maioria dos casos, criados com o objetivo de suprir necessidades específicas dos clientes. Aplicativos de automação de força de vendas, por exemplo, são facilmente encontrados no mercado de softwares. Estes aplicativos auxiliam os vendedores a efetuar seus pedidos, erradicando os blocos de anotações de pedidos, e automatizando a transferência destes através de uma linha de comunicação, via Internet, por exemplo.
SuperWaba
O Superwaba é uma linguagem de programação para construção de aplicativos voltados à dispositivos de pequeno porte, como os PDAs. Ela é baseada na linguagem Waba, criada por Rick Wild em 1999. O Superwaba, primeiramente, rodava apenas na plataforma Palm OS, mas foi rapidamente portado para outras plataformas, como o Windows CE. Além destas plataformas, o Superwaba também pode ser executado em browsers como um applet Java.
Sua distribuição é feita em duas versões: a Community (GPL) e a Professional (LGPL). A primeira permite a construção de aplicativos, mas exige a liberação do código fonte, e a segunda permite a criação de aplicativos comerciais, sem a necessidade de liberação dos fontes do mesmo.
Sua sintaxe é idêntica a sintaxe Java, tanto que é possível desenvolver em Superwaba utilizando qualquer IDE de programação Java, como o Eclipse, por exemplo. Ele não pode ser considerado como sendo uma Máquina Virtual Java por não ser reconhecido pela oficialmente pela Sun Microsystems. Ele é formado de duas partes: As classes Java, constituídas de bibliotecas que auxiliam na construção das aplicações e a máquina virtual, que executa os bytecodes Java no PDA.
A API SuperWaba é pequena e, por isso, é facilmente entendida por programadores com conhecimento em Java. Todas possuem o prefixo "waba", pois o SuperWaba mantém a compatibilidade como o Waba, que serviu de base para sua criação. As classes descritas nos pacotes abaixo possuem sua respectiva documentação no SDK.
A interface com o usuário é controlado pela classe MainWindow, que está dentro do pacote waba.ui. Todos os programas implementados em SuperWaba devem possuir uma única classe filha da classe MainWindow, que é a principal classe do SuperWaba. Esta classe faz a ligação entre a máquina virtual e o programa implementado, recebendo os eventos e executando eles da melhor forma possível. Num primeiro momento a máquina virtual chama o construtor da classe MainWindow, após chama o método onStart, pertencente a classe Container. A classe Container é a classe que conterá os itens de interface com o usuário, como botões, por exemplo. Nesta classe, além do método onStart, existem outros métodos, podemos citar o método onExit, que executa toda vez que o Container é fechado de forma normal, quando ocorre um erro ou evento inesperado o evento onExit não é executado.
É possível implementar dois estilos de telas: o estilo do Windows CE e o estilo do Palm OS. O estilo do sistema operacional da Microsoft é o padrão do SDK, mas com a invocação do método setPalmOsStyle é possível mudar o estilo da aplicação.
A persistência dos dados inseridos nos aplicativos é tratada de arquivos PDBs. O arquivo PDB, ou Palm DataBase, é uma estrutura sequencial, sem os conceitos de campos, índices e chave primária, possuindo também um tamanho variável de cada registro. Segundo o SuperWaba Companion, que faz parte da documentação do SuperWaba, a classe Catalog é a responsável pelo gerenciamento (inclusão, exclusão, consulta) de dados em arquivos PDB. A documentação também classifica os arquivos PDB como rudimentares, por causa de suas características, além de citar que os arquivos PDBs podem ser lidos nas plataformas da Microsoft, como o Windows CE.
Não se utiliza a linguagem a Structured Query Language (SQL), através do Catalog, para manipular os dados contidos nos arquivos PDB. Com o Catalog é necessário saber o tipo de dados que será lido, quando a busca deste for necessária. As consultas com o Catalog podem ser simplificadas utilizando a classe EasyCatalog, que, ao contrário do Catalog, não faz parte da API do SuperWaba. Esta classe está disponível no site do SuperWaba.
Existe ainda o PDBDriver, que permite a manipulação dos arquivos PDB utilizando a linguagem SQL. Esta ferramenta não possui seu código aberto, ao contrário do restante do SDK do SuperWaba, e para utiliza-la é necessário pagar pela mesma. O PDBDriver não suporta funções agregadas, junção de tabelas e classificação de registros. É possível criar índices através desta ferramenta, o que facilita bastante a localização de registros.
O SuperWaba possui, também, classes que se comunicam com bancos de dados de terceiros, como o DB2e, produzido pela IBM. O DB2e, ou DB2 Everyplace, é um banco de dados relacional de pequeno porte, que pode ser considerado o menor banco de dados do mundo, por ocupar apenas cerca de 100K de espaço.
As informações do banco de dados DB2e podem ser sincronizados com outros bancos da família DB2 ou até mesmos um Banco Oracle ou Microsoft SQL Server. Este sincronismo pode ser feito local ou remotamente, dependendo do aplicativo DB2 Everyplace Sync Server para a última opção.
O DB2e suporta apenas os comandos SQL básicos e algumas "operações relacionais como: Join, Group By, Order By, múltiplas chaves primárias e Foreign Key, Funções Agregadas e Constraints".
O Protótipo
O protótipo implementado neste trabalho, objetiva a coleta de informações sobre a mortalidade de suínos. A empresa Cooperalfa foi utilizada como objeto de estudo, para auxiliar na coleta dos requisitos do protótipo.
O formulário apresentado irá auxiliar na coleta de informações antes coletadas a mão através de uma ficha padronizada pela empresa. Tais informações ficam á mercê de erros humanos e também aos problemas de armazenamento indevido das mesmas. Além dos problemas da coleta destas informações, existe ainda o problema de erros de digitação das informações. Somando estes problemas, pode-se perceber que as informações não podem ser consideradas confiáveis, mesmo que sejam tomados todos os cuidados possíveis.
Além de coletar tais informações, o protótipo propõem exportar as informações coletadas em um arquivo estruturado por marcações, ou tags, XML. Sua operação é simples e intuitiva. Apenas acessando os menus o técnico poderá acessar o formulário implementado, inserir as informações e registrar elas no banco de dados. Com a mesma facilidade ele poderá exportar tais informações, que posteriormente deverão ser enviadas à Cooperalfa, para que sejam importadas no ERP da empresa.



Sobre o Autor
José Volmei Dal Prá Junior é Analista de Sistemas, Bacharel em Ciência da Computação pela UnoChapecó, e Pós Graduando em Desenvolvimento de Software Com Java pela Unoesc Xxe. Trabalha atualmente com as tecnologias Progress, Java (SE e EE) e SuperWaba.
Veja o todos os artigos publicados por José Volmei Dal Prá Junior no PDAExpert.
Artigos Relacionados
9 Comentários »
Comentários via RSS TrackBack URI
-
Carlos em 13/07/2007 21:16
Hola soy desde Argentina, me gustaria saber si hay algun ejemplo de como realizar un Conduit usando JSync, yo ya descargue le CDK.
Tambien se programar en Java, y utilizo el entorno de desarrollo Eclipse 3.2Saludos.
-
Jr Dal Prá em 13/07/2007 21:52
Amigo, não tenho nenhum exemplo de como fazer um Conduit. A documentação do SuperWaba tem, você pode consultar ela para ver como fazer. “Saludos”.
-
Leandro em 27/07/2007 10:35
Como vc faz a sincronização dos dados coletados entre o palm e o pc?
utiliza conduit? ou outra maneira -
Jr Dal Prá em 27/07/2007 11:48
Leandro, no TCC não fiz troca de dados. Mas você pode fazer com Conduits, XML-RPC, SOAP. XML-RPC tem uma API OpenSource, que você pode usar. Conduits, a API está disponível apenas na versão Professional do SuperWaba. Ats, Junior.
-
Thiago Pinheiro em 30/07/2007 23:56
Gostoria de umas dicas como eu rodo seu sistema no netbeans!!
Muito obrigado -
alina francielle em 17/03/2008 19:54
nem e tanto um comentario…eu precisso montar um tcc ou um artigo,e nao sei por onde começar .
gostaria de saber como posso fazer isso…obrigada.
-
alina francielle em 17/03/2008 19:54
nem e tanto um comentario…eu precisso montar um tcc ou um artigo,e nao sei por onde começar .
gostaria de saber como posso fazer isso…obrigada.
-
Gonzalo em 27/05/2008 05:25
Hola,
Trate de ejecutar tu programa sobre wince, pero no pude conectarme a la base de datos en DB2.
Alguna idea?Gracias,
–GonzaloHello,
I tired to execute your program on wince, but I couldn’t connect to the db2 database.
Any idea?Thanks,
–Gonzalo -
Eduardo em 05/11/2008 21:38
Gostaria de saber como gerar aquivo xml com superWaba das informações que estão no Palm…
Obrigado e parabéns pelo artigo!



Envie seu comentário
ATENÇÃO: A área de comentários deve ser utilizada apenas para dúvidas sobre este artigo. Para dúvidas não relacionadas a este artigo, utilize o Fórum PDAExpert.net.