sincronizaÇÃo de dados em dispositivos mÓveis …cristina/sinc_dispmoveis.pdf · julio cesar de...

65
JULIO CESAR DE SOUZA SINCRONIZAÇÃO DE DADOS EM DISPOSITIVOS MÓVEIS UTILIZANDO WEB SERVICES Trabalho de conclusão de curso apresentado ao Curso de Tecnologia em Informática como requisito parcial à obtenção do grau de Tecnólogo em Informática Universidade Tecnológica Federal do Paraná. Orientadora: Profª Ana Cristina B. Kochem Vendramin. CURITIBA, 2006

Upload: phunglien

Post on 12-Jan-2019

214 views

Category:

Documents


0 download

TRANSCRIPT

JULIO CESAR DE SOUZA

SINCRONIZAÇÃO DE DADOS EM DISPOSITIVOS MÓVEISUTILIZANDO WEB SERVICES

Trabalho de conclusão de curso apresentado ao Curso de Tecnologia em Informática como requisito parcial à obtenção do grau de Tecnólogo em Informática

Universidade Tecnológica Federal do Paraná.

Orientadora: Profª Ana Cristina B. Kochem Vendramin.

CURITIBA, 2006

JULIO CESAR DE SOUZA

SINCRONIZAÇÃO DE DADOS EM DISPOSITIVOS MÓVEISUTILIZANDO WEB SERVICES

Este trabalho de conclusão de curso foi julgado adequado à obtenção do

grau de Tecnólogo em Informática e aprovada em sua forma final pelo Curso de

Graduação em Tecnologia em Informática da Universidade Tecnológica Federal do

Paraná.

Curitiba – PR, outubro de 2006

______________________________________________________

Profª Ana Cristina B. Kochem Vendramin

Universidade Tecnológica Federal do Paraná

______________________________________________________

Prof.

Universidade Tecnológica Federal do Paraná

______________________________________________________

Prof.

Universidade Tecnológica Federal do Paranáii

RESUMO

O objetivo final deste trabalho prático-teórico é demonstrar, através de

implementação, a possibilidade de integração entre dispositivos móveis com

diversos outros sistemas através da utilização de Web Services, buscando conciliar

praticidade, flexibilidade e interoperabilidade em um pacote de soluções viável e de

baixo custo.

Palavras-chave: Web Services, sincronização de dados, PDA, JAVA

conduit.

iii

SUMÁRIO

LISTA DE SIGLAS ............................................................................................................................................... 6

LISTA DE FIGURAS ............................................................................................................................................ 7

1 INTRODUÇÃO .................................................................................................................................................... 1

2 DETALHES DA EMPRESA ............................................................................................................................... 3

2.1 OBJETIVOS DO SISTEMA ...................................................................................................................................... 3

3 SOFTWARE E HARDWARE UTILIZADOS .................................................................................................. 5

3.1 J2EE 1.4 SDK ................................................................................................................................................ 5 3.2 ECLIPSE 3.1 ....................................................................................................................................................... 5 3.3 TOMCAT 5.0.18 ................................................................................................................................................ 5 3.4 CDK 4.03 ....................................................................................................................................................... 6 3.5 SATELLITE FORMS 6.0 ......................................................................................................................................... 6 3.6 APACHE 1.3.27 ................................................................................................................................................. 6 3.7 AXIS 1.1 ........................................................................................................................................................... 7 3.8 MYSQL 4.0.15 .................................................................................................................................................. 7 3.9 PHPMYADMIN 2.5.3 ........................................................................................................................................ 7 3.10 PHP 4.3.3 ...................................................................................................................................................... 7 3.11 HARDWARE UTILIZADO ..................................................................................................................................... 8

4 ANÁLISE DO SISTEMA .................................................................................................................................... 9

4.1 ESTUDO DE VIABILIDADE ..................................................................................................................................... 9 4.2 ANÁLISE - MODELAGEM DOS DADOS ..................................................................................................................... 9

4.2.1 Entidades Externas ............................................................................................................................... 12 4.2.2 Depósitos .............................................................................................................................................. 12 4.2.3 Fluxo de Dados .................................................................................................................................... 13 4.2.4 Processos .............................................................................................................................................. 14

5 PROJETO E IMPLEMENTAÇÃO ................................................................................................................. 16

5.1 O PALM SAAVE ............................................................................................................................................... 16 5.2 TABELAS DO SISTEMA ....................................................................................................................................... 17

5.2.1 Tabela Ovos ......................................................................................................................................... 19 5.2.2 Tabela Logon ........................................................................................................................................ 20 5.2.3 Tabela Operador .................................................................................................................................. 20 Tabela Piquete..............................................................................................................................................21 Tabela Cdaves.............................................................................................................................................. 21 Tabela LogonA............................................................................................................................................. 21 Tabela OvosA............................................................................................................................................... 22 Tabela PiqueteA........................................................................................................................................... 22 Tabela Prop..................................................................................................................................................23

5.3 TELAS DO SISTEMA ........................................................................................................................................... 23 Tela do Sistema............................................................................................................................................ 23 Tela Início.................................................................................................................................................... 25 Tela Logon....................................................................................................................................................26 Tela Menu – Início....................................................................................................................................... 30 Tela Menu – Continuação............................................................................................................................ 34 Tela Cadastro de Ovos.................................................................................................................................35 Tela Listagem de Ovos................................................................................................................................. 39 Tela Banco de Horas....................................................................................................................................42

5.4 SAAVEPALM CONDUIT ...................................................................................................................................... 43

iv

6 TESTES ............................................................................................................................................................... 46

7 INSTALAÇÃO DO SISTEMA ......................................................................................................................... 47

8 MANUTENÇÃO ................................................................................................................................................ 52

9 CONCLUSÃO .................................................................................................................................................... 53

9.1 TRABALHOS FUTUROS ....................................................................................................................................... 54

REFERÊNCIAS BIBLIOGRÁFICAS ............................................................................................................... 56

v

Lista de Siglas

CD – Compact Disk

CDK – Conduit Development Kit

CORBA – Common Object Request Broker Architecture

DCOM – Distributed Component Object Model

GPL – GNU Public License

HTTP – Hypertext Transfer Protocol

IBM – International Business Machines

IDE – Integrated Development Environment

PC – Personal Computer

PDA – Personal Digital Assistants

PDB – Palm Data Base

PHP – Personal Home Page

RMI – Remote Method Invocation

SDK – Standard Development Kit

SOAP – Simple Object Access Protocol

XML – Extensible Markup Language

WSDL – Web Service Definition Language

vi

Lista de Figuras

FIGURA 1 – DIAGRAMA DE CONTEXTO DO SISTEMA...........................................................................10

FIGURA 2 – DIAGRAMA MACROSCÓPICO DO SISTEMA...................................................................... 11

FIGURA 3 – DIAGRAMA ENTIDADE RELACIONAMENTO DO SISTEMA.......................................... 19

FIGURA 4 – ÍCONE DE ACESSO AO SISTEMA PALM SAAVE................................................................24

FIGURA 5 – TELA DE INÍCIO DO SISTEMA PALM SAAVE.....................................................................25

FIGURA 6 – LOGON NO SISTEMA PALM SAAVE......................................................................................27

FIGURA 7 – TECLADO NUMÉRICO AUTOMÁTICO................................................................................. 29

FIGURA 8 – MENU COM BOTÃO CONFIGURAÇÕES...............................................................................31

FIGURA 9 – TELA DE CONFIGURAÇÕES DO PALM SAAVE..................................................................33

FIGURA 10 – MENU COMPLETO................................................................................................................... 34

FIGURA 11 – TELA CADASTRO DE OVO.....................................................................................................36

FIGURA 12 – MENSAGEM DA COLETA DE OVO.......................................................................................38

FIGURA 13 – TELA LISTAGEM DE OVOS....................................................................................................40

FIGURA 14 – MENU PARA EXCLUSÃO DE REGISTROS......................................................................... 41

FIGURA 15 – TELA BANCO DE HORAS........................................................................................................42

FIGURA 16 - CONFIGURAÇÃO DO CONDUIT............................................................................................ 49

FIGURA 17 – PARÂMETROS DO CONDUIT.................................................................................................50

vii

viii

1 Introdução

Com a crescente necessidade de intercomunicação entre sistemas,

novas tecnologias e ferramentas surgem para auxiliar e aperfeiçoar o

desenvolvimento de softwares distribuídos.

Este trabalho de conclusão de curso visa, através de

implementação, demonstrar a viabilidade da integração entre sistemas

integrados e dispositivos móveis de uma forma simples, aliando praticidade e

baixo custo em uma única solução.

A utilização de web services vem sendo empregada com êxito em

diversas situações onde há a necessidade de intercomunicação de sistemas

com trocas de dados (exchange). Devido à relativa simplicidade e a fácil

aplicabilidade do modelo utilizado em aplicações web services se comparado

com outros modelos concorrentes como CORBA (Common Object Request

Broker Architecture), Java RMI(Remote Method Invocation), DCOM (Distributed

Component Object Model) ou .NET Remoting, este trabalho utiliza como

paradigma o desenvolvimento de aplicativos distribuídos baseados na troca de

dados através da publicação e acesso aos serviços disponibilizados por cada

software que compõe o sistema.

Através da realização de uma pesquisa técnica, os equipamentos e

softwares utilizados foram escolhidos de forma a fornecer um pacote de

desenvolvimento viável tecnicamente e economicamente, possibilitando desta

forma que novas tecnologias e procedimentos possam ser utilizados por vários

setores do mercado da informação e da tecnologia da informação.

A empresa ECOSTRUZ demonstrou interesse pelo modelo de

desenvolvimento de sistemas distribuídos abordado neste trabalho, e propôs a

criação de um sistema integrado que atendesse às necessidades identificadas

pelos seus gestores.

Após a discussão da idéia inicial, chegou-se a especificação de um

sistema para controle das atividades essenciais realizadas nos procedimentos

diários, executados pelos funcionários da empresa. O objetivo final da criação

1

deste sistema é proporcionar um maior controle do processo que envolve a

empresa em suas atividades operacionais, afim de facilitar e melhorar o acesso

às informações pelos clientes desta.

Buscando agrupar tecnologias já conhecidas, foi possível chegar em

um produto final embasado nas soluções propostas, além de se verificar a

eficiência da integração destas tecnologias para a obtenção de um sistema

final inovador e funcional, que possuí como principais características a

versatilidade, a flexibilidade, a interoperabilidade entre sistemas e a

adaptabilidade a diversos cenários e situações.

2

2 Detalhes da Empresa

A ECOSTRUZ é uma empresa localizada na cidade de Araucária no

estado do Paraná, e tem como enfoque principal o mercado da estrutiocultura.

Atuando através de parcerias e sociedades, investe em

equipamentos sofisticados e na melhoria constante da estrutura da fazenda,

afim de propiciar bons resultados aos seus investidores.

Os investimentos em novas tecnologias para automatização dos

processos internos estão resultando em uma maior lucratividade e em um

aumento significativo da qualidade dos produtos oferecidos pela empresa.

2.1 OBJETIVOS DO SISTEMA

O objetivo principal do sistema é melhorar alguns dos processos

funcionais da empresa com o intuito de aumentar a produtividade, criando

assim benefícios econômicos à mesma.

Até o momento da implementação do sistema, a empresa

necessitava realizar o cadastro da postura dos ovos manualmente através de

fichários. No fim do expediente, era necessário conferir todos os fichários

manualmente e passá-los para o sistema já existente. Este processo acabava

por demandar muito tempo dos funcionários e gerava muitos erros no momento

do cadastro no sistema atual. O controle das horas de trabalho dos

funcionários responsáveis pela realização da coleta dos ovos passou a ser

outro problema a ser resolvido, devido ao crescimento do negócio da empresa.

Desta forma, foram definidos três pontos principais como objetivos

específicos do sistema:

• Implementação do controle de horas dos funcionários;

• Implementação do cadastro de ovos no software do PDA

(Personal Digital Assistants), integrado com o sistema externo;

3

• Implementação de validações e consistências no software do

PDA, afim de eliminar erros humanos naturais que ocorrem

atualmente com o cadastro manual.

Como resultado da implementação do sistema foi possível alcançar

uma melhoria na qualidade dos dados coletados na fazenda, redução de

custos operacionais devido à automatização de alguns processos e maior

rapidez ao acesso às informações de negócio da empresa, tanto pelos clientes

como pelos administradores desta.

4

3 Software e Hardware Utilizados

Para o desenvolvimento do trabalho, foram utilizadas ferramentas de

desenvolvimento (softwares e hardware) e de testes.

Nas próximas seções há a especificação de cada tecnologias

utilizada.

3.1 J2EE 1.4 SDK

O J2EE 1.4 SDK (Standard Development Kit) [JAV 01] é o kit de

desenvolvimento JAVA que contém todos os pacotes e classes necessárias

para a criação e execução dos aplicativos envolvidos no trabalho. Ele é

fornecido gratuitamente pela Sun Microsystems.

3.2 ECLIPSE 3.1

Para a criação dos códigos JAVA, foi utilizado a IDE (Integrated

Development Environment) de desenvolvimento Eclipse [ECL 02], a qual

fornece várias funcionalidades facilitadoras ao desenvolvimento de aplicativos

e à realização de testes.

3.3 TOMCAT 5.0.18

O servidor HTTP (Hypertext Transfer Protocol) utilizado para a

realização de testes foi o TomCat [TMC 00]. Juntamente com o Axis foi

possível publicar serviços web services e realizar testes de integração com os

outros sistemas criados.

5

3.4 CDK 4.03

O CDK (Conduit Development Kit) [CDK 04] é o kit de

desenvolvimento de conduits fornecido gratuitamente pela PalmOS®, e contém

classes e pacotes para acesso às funcionalidades do PDA.

3.5 SATELLITE FORMS 6.0

O Satellite Forms é a IDE de desenvolvimento para aplicativos em

PDAs que utilizam o sistema operacional PalmOS. O Satellite Forms [STF 04] é

composto por uma IDE de desenvolvimento e pelo ambiente de execução dos

aplicativos criados (runtime). Após a instalação das bibliotecas no PDA através

de um executável contido no pacote do Satellite Forms, é possível transferir os

aplicativos criados e executá-los no PDA.

O custo estimado da licença para desenvolvimento é de U$ 795,00.

3.6 APACHE 1.3.27

O Apache [APC 02] foi utilizado juntamente com o PHP (Personal

Home Page) para a realização de testes com geração de relatórios de dados

consistidos pelas chamadas web services realizadas por aplicativos externos.

O Apache pode ser utilizado gratuitamente em desenvolvimentos coorporativos

(open source), no entanto não permite que este seja alterado pois não é

coberto pela GPL (GNU Public Licence).

6

3.7 AXIS 1.1

O Axis [AXS 02] é uma plataforma para publicação de serviços web

services fornecida gratuitamente (open source) e que, utilizada juntamente com

o TomCat, possibilita uma fácil manipulação e publicação dos serviços criados

para a gravação e recuperação dos dados necessários para o funcionamento

dos sistemas.

3.8 MYSQL 4.0.15

O MySql [MSQ 00] é um sistema gerenciador de banco de dados

que fornece uma camada de persistência dos dados. Algumas versões do

MySQL podem ser utilizadas gratuitamente em aplicações coorporativas.

3.9 PHPMYADMIN 2.5.3

O PHPMyAdmin [PMA 03] é uma ferramenta gratuita utilizada para a

manipulação do banco de dados e fornece facilidades para a criação de

tabelas e para a visualização dos dados inseridos no banco de dados.

3.10 PHP 4.3.3

O PHP [PHP 02] é um conjunto de bibliotecas que, juntamente com

o Apache, possibilita que códigos sejam criados e executados nesta linguagem.

7

3.11 HARDWARE UTILIZADO

Foi utilizado um Palm One Zire 21 para o deployment1 do projeto e

para a realização dos testes. Este PDA possui como sistema operacional o

Palm OS, o qual permite que bibliotecas e programas externos sejam

instalados e executados.

1 Etapa de instalação, testes e execução de um sistema

8

4 Análise do Sistema

Utilizou-se a análise estruturada moderna [YRD 00] como

metodologia para a construção da modelagem do sistema e do projeto

conceitual, lógico e físico de banco de dados.

Para que os objetivos da construção do sistema pudessem ser

alcançados, cada etapa foi definida com atividades e produtos específicos, as

quais fazem parte do ciclo de vida clássico de projetos.

Nas subseções abaixo há uma descrição mais específica sobre cada

etapa adota pela metodologia deste trabalho.

4.1 ESTUDO DE VIABILIDADE

O estudo da viabilidade econômica do desenvolvimento do projeto

foi realizado pela própria empresa. Assim que os administradores da fazenda

identificaram a necessidade da automatização de alguns processos internos,

tentou-se encontrar diversas soluções para os problemas identificados. Devido

ao baixo custo dos softwares e ferramentas utilizadas pela solução proposta

por este trabalho, constatou-se a compensação do custo/benefício em um curto

período após o início da implementação da solução proposta. Através de

entrevistas com os responsáveis pelas áreas afetadas pela implementação do

sistema, foi possível definir o escopo do novo sistema e quais seriam as

ferramentas utilizadas para a criação deste, afim de se verificar a viabilidade

técnica do mesmo.

4.2 ANÁLISE - MODELAGEM DOS DADOS

Para um melhor entendimento do sistema como um todo e de suas

principais funções, algumas ferramentas de análise de sistemas foram

9

utilizadas para a representação visual do fluxo de dados e do relacionamento

dos mesmos dentro do sistema.

Os DFDs a seguir mostram, respectivamente, o primeiro e o

segundo níveis do fluxo dos dados no sistema desenvolvido, bem como o

relacionamento existente na interação do sistema externo com o sistema

desenvolvido e do usuário com este último.

• Figura 1 – Diagrama de Contexto do Sistema

O DFD ilustrado na Figura 2 mostra o detalhamento do processo P1.

A BUsuárioSistema ExternoPALM

SAAVE

P1

Entradade dados

Dados da coleta

Dados do sistema

10

Figura 2 – Diagrama Macroscópico do Sistema

Informações sobre

ovos

AvesD2

Banco de HorasD4

P4

Sincroniza Dados

D1 Ovos

Horas trabalhadas

Ovos

processados

P3

Calcula Horas

Consiste código do ovo,

piquete e código da ave

P2

P1

VerificaDados

Informações sobreovos coletados

Dados do sistema

Dados do logon

d

PiquetesD3

Usuário

A Resultado da verificação

Ovoscoletados

B

Dados dos piquetes

Cadastro de

aves

Horas acumuladas

Total de horas

Dados das aves

Cadastro de piquetes

DadosColetados

Dadosdo sistema

externo

UsuárioSistema Externo

Total de

horas

Envio de dados

11

O dicionário de dados abaixo descreve de uma forma específica

cada entidade do diagrama macroscópico do sistema.

4.2.1 ENTIDADES EXTERNAS

Nome: UsuárioDescrição: operadores do sistemaReferência: ATipos Existentes:

Nome: Sistema ExternoDescrição: sistema de informação externoReferência: BTipos Existentes: sistemas de informação

4.2.2 DEPÓSITOS

Nome: OvosReferência: D1Descrição: ovos cadastrados no PDAConteúdo: código da propriedade, código do ovo, código identificador da ave, código do piquete, responsável pela coleta, responsável pela armazenagem, data da coleta

Nome: AvesReferência: D2Descrição: dados cadastrais de avesConteúdo: código da propriedade, código da ave

Nome: PiquetesReferência: D3Descrição: dados cadastrais de piquetesConteúdo: código da propriedade, código do piquete, tipo do piquete

Nome: Banco de HorasReferência: D4Descrição: dados de logons e logoffs realizados pelos usuáriosConteúdo: operador do sistema, data inicial, total de minutos, data + hora de inicio, data + hora fim

12

4.2.3 FLUXO DE DADOS

Nome: Informações sobre ovos coletados

Referência: EP1-1

Nome: Total de Horas

Referência: EP1-2

Nome: Resultado da verificação

Referência: EP1-3

Nome: Dados do sistema

Referência: SP1-1

Nome: Ovos coletados

Referência: SP1-2

Nome: Envio de dados

Referência: SP1-3

Nome: Informações sobre ovos

Referência: EP2-1

Nome: Dados dos piquetes

Referência: EP2-2

Nome: Dados das aves

Referência: EP2-3

Nome: Dados do logon

Referência: EP3-1

Nome: Horas acumuladas

13

Referência: EP3-2

Nome: Total de horas

Referência: SP3-1

Nome: Total de horas

Referência: SP3-2

Nome: Ovos processados

Referência: EP4-1

Nome: Horas trabalhadas

Referência: EP4-2

Nome: Dados do sistema externo

Referência: EP4-3

Nome: Cadastro de aves

Referência: SP4-1

Nome: Cadastro de piquetes

Referência: SP4-2

Nome: Ovos coletados

Referência: SP4-3

4.2.4 PROCESSOS

Nome: Verifica Dados

Referência: P1

Descrição: realiza verificação da entrada de dados pelo usuário

Fluxos de entrada: EP1-1, EP1-2, EP1-3

14

Fluxos de saída: SP1-1, SP1-2, SP1-3

Resumo lógico: o processo é responsável por coletar e agrupar os dados

recebidos pela entrada efetuada pelo usuário, e realizar as verificações de

consistências necessárias. Envia os dados processados da entrada para o

processo P2 e recebe o resultado da verificação efetuado por este

Nome: Consiste código do ovo, piquete e código da ave

Referência: P2

Descrição: agrupa dados e realiza comparações com dados pré-cadastrados

Fluxos de entrada: SP1-3, EP2-2, EP2-2, EP2-3

Fluxos de saída: EP1-3

Resumo Lógico: recebe os dados pré-processados pelo processo P1 e realiza

a consistência dos dados solicitados através da consulta de informações

contidas nos depósitos D1, D2 e D3.

Nome: Calcula Horas

Referência: P3

Descrição: efetua a somatória das horas trabalhadas

Fluxos de entrada: EP3-1, EP3-2

Fluxos de saída: SP3-1, SP3-2

Resumo lógico: monitora logons e logoffs efetuados e calcula as horas

trabalhadas pelos usuários armazenando e recuperando informações

referentes a este processo no depósito D4

Nome: Sincroniza Dados

Referência: P4

Descrição: realiza a transferência de dados entre os sistemas

Fluxos de entrada: EP4-1, EP4-2, EP4-3

Fluxos de saída: SP4-1, SP4-2, SP4-3

Resumo lógico: armazena e recupera informações em todos os depósitos

realizando a transferência dos dados entre o sistemas.

15

5 Projeto e Implementação

Após etapas preliminares como instalação e configuração dos

softwares utilizados para o início das atividades práticas, iniciou-se o

desenvolvimento dos aplicativos que compõe o sistema.

O sistema é formado, basicamente por dois módulos. O primeiro

consiste no aplicativo executado no PDA o qual é responsável pela coleta dos

dados e consistência física destes. O processo de coleta dos dados foi definido

de acordo com os procedimentos já realizados por um sistema de cadastro

manual em fichários utilizados para a coleta diária de informações de ovos e

para o controle da produtividade dos funcionários na empresa ECOSTRUZ.

O software desenvolvido para o PDA foi elaborado de acordo com

informações coletadas na ECOSTRUZ, e este tem como principais objetivos

um maior controle sobre a produtividade dos funcionários bem como uma

coleta mais precisa e eficiente das informações sobre os ovos produzidos

internamente, os quais representam 70% das atividades essenciais e de alta

prioridade dentro da empresa.

O segundo módulo do sistema é formado pelo conduit o qual é

responsável pela leitura dos dados coletados pelo PDA. O conduit funciona

como um middleware capaz de gravar e recuperar dados do PDA e de interagir

com o meio externo através de chamadas a classes externas. Uma descrição

mais específica sobre cada módulo e os softwares criados para a integração do

sistema pode ser vista nas seções seguintes.

5.1 O PALM SAAVE

O Palm Saave foi desenvolvido com o Satellite Forms e é o software

executado no PDA. É formado por sete telas e por nove tabelas que são

usadas na gravação dos registros gerados pela utilização do software, para a

listagem de dados externos previamente gravados e para filtragem de dados

em determinadas circunstâncias. Algumas tabelas são utilizadas apenas como

16

tabelas internas do software, e somente quatro destas tem como finalidade a

consistência e transferência dos dados manipulados pelo software.

O Palm Saave é formado por um login de usuários os quais são

fornecidos por uma base de dados criada externamente. Sempre que uma

sincronização de dados é efetuada com o PDA, ocorre a atualização

automática destes usuários do sistema e suas respectivas senhas. Outras

informações como a lista de piquetes, códigos de aves e informações sobre

propriedades também são atualizadas nesta sincronização. Isto significa que o

sistema é auto-suficiente com relação a vários aspectos como segurança, já

que somente usuários cadastrados podem utilizar o sistema, e com relação à

confiabilidade dos dados coletados já que são feitas várias consistências

internas que impedem a entrada incorreta de dados por parte dos usuários.

Por fim, são consistidos em uma tabela interna do sistema dados

sobre as operações executadas pelos usuários no sistema. Estas informações

são transferidas ao meio externo sempre que acontece uma sincronização do

PDA através do HotSync.

5.2 TABELAS DO SISTEMA

O Palm Saave utiliza tabelas internas para a persistência temporária

dos dados.

As tabelas no PDA são estruturadas no formato .pdb (Palm Data

Base). Neste tipo de tabela não é possível realizar operações como em um

banco de dados tradicional e, para que seja possível criar um novo registro,

alterar ou excluir, é necessário percorrer a tabela até o fim em busca do

registro e, então, executar a operação desejada. No caso da inserção de novos

registros, estes devem ser inseridos no fim da tabela.

Para o contorno de limitações ao utilizar as tabelas do PDA, são

utilizadas tabelas de controle que permitem uma melhor organização dos

dados dentro da aplicação do PDA, e reduzem em muito os impactos de

performance que poderiam ocorrer como conseqüência das limitações em

17

operações de busca. Desta forma, é possível classificar as tabelas utilizadas no

sistema em dois tipos: dados e controle.

As tabelas de dados acumulam informações que serão transmitidas

aos sistemas externos no momento da sincronização.

As tabelas de controle guardam informações sobre a execução do

programa. Elas são necessárias devido à baixa capacidade de processamento

do PDA. Estas tabelas funcionam como filtros de dados e proporcionam uma

performance aceitável ao aplicativo executado no PDA.

Quando ocorre uma sincronização com sucesso, as tabelas do PDA

são atualizadas ou reinicializadas. Caso ocorra algum problema na

sincronização dos dados, estas tabelas são mantidas inalteradas até que uma

nova sincronização seja executada.

A Figura 3 mostra o diagrama de entidade e relacionamento criado

para a representação do relacionamento entre as tabelas do sistema. Pelo fato

de muitas tabelas serem geradas dinamicamente, ou seja, possuem uma

utilidade somente em momentos específicos da execução do software,

somente as tabelas responsáveis pela persistência dos dados são

representadas neste diagrama.

18

Figura 3 – Diagrama Entidade Relacionamento do Sistema

Abaixo segue uma descrição das tabelas de dados utilizadas pelo

sistema.

5.2.1 TABELA OVOS

A tabela OVOS armazena todas as informações sobre os ovos

coletados. É composta pelos seguintes campos:

• CD_PROP – Código da propriedade (tipo: char de 10

caracteres);

• CD_OVO – Código do ovo (chave única; tipo: char de 10

caracteres);

19

• TP_IDENT – Código identificador da ave (tipo: char de 2

caracteres);

• CD_PIQT – Código do piquete (tipo: char de 10 caracteres);

• RESP_COLT – Responsável pela coleta (tipo: char de 10

caracteres);

• RESP_ARM – Responsável pela armazenagem (tipo: char de 10

caracteres);

• DATAAUX – Data da coleta (tipo: char de 10 caracteres);

• DT_COLT – Data da coleta (tipo: date).

5.2.2 TABELA LOGON

A tabela LOGON armazena informações sobre a utilização do PDA

pelos funcionários do sistema como o horário de início de uso, o horário final e

o total em minutos. É composta pelos seguintes campos:

• OPERADOR – Operador do sistema (tipo: char de 10 caracteres);

• DATA – Data inicial (tipo: char de 10 caracteres);

• TOTAL – Total de minutos (tipo: char de 12 caracteres);

• DTHRINI – Data + hora de início (tipo: char de 10 caracteres);

• DTHRFIM – Data + hora de fim (tipo: char de 10 caracteres).

5.2.3 TABELA OPERADOR

A tabela OPERADOR contém os usuários que podem utilizar o

aplicativo Palm Saave. É composta pelos seguintes campos:

• NOME – Nome do usuário (tipo: char de 10 caracteres);

• SENHA – Senha do usuário (tipo: char de 6 caracteres).

20

TABELA PIQUETE

A tabela PIQUETE contém os dados sobre os piquetes, a empresa

correlacionada e o tipo deste. É composta pelos seguintes campos:

• CD_PROP – Código da propriedade (tipo: char de 10 caracteres);

• CD_PIQT – Código do piquete (tipo: char de 10 caracteres);

• TP_PIQT – Tipo do piquete (tipo: char de 3 caracteres).

TABELA CDAVES

A tabela CDAVES armazena a relação entre propriedades e aves. A

cardinalidade indica que uma propriedade pode possuir várias aves (1:N). É

composta pelos seguintes campos:

• PROPR – Código da propriedade (tipo: char de 20);

• CODAVE – Código da ave (tipo: char de 20).

TABELA LOGONA

A tabela LOGONA é utilizada para o filtro de logons. Antes da

listagem de logons ser exibida na tela, esta tabela é populada com registros

filtrados de acordo com o usuário. É composta pelos seguintes campos:

• OPERADOR – Operador do sistema (tipo: char de 10 caracteres);

• DATA – Data inicial (tipo: char de 10 caracteres);

• DTHRINI – Data + hora de inicio (tipo: char de 10 caracteres);

• DTHRFIM – Data + hora de fim (tipo: char de 10 caracteres);

• TOTAL – Total de minutos (tipo: char de 12 caracteres).

21

TABELA OVOSA

A tabela OVOSA é utilizada para a filtragem de ovos no momento da

listagem na tela. É composta pelos seguintes campos:

• CD_PROP – Código da propriedade (tipo: char de 10 caracteres);

• CD_OVO – Código do ovo (chave única; tipo: char de 10

caracteres);

• TP_IDENT – Código identificador da ave (tipo: char de 2

caracteres);

• CD_PIQT – Código do piquete (tipo: char de 10 caracteres);

• DT_COLT – Data da coleta (tipo: date);

• RESP_COLT – Responsável pela coleta (tipo: char de 10

caracteres);

• RESP_ARM – Responsável pela armazenagem (tipo: char de 10

caracteres).

TABELA PIQUETEA

A tabela PIQUETEA é utilizada para o filtro de piquetes e aves de

acordo com a propriedade selecionada pelo usuário. É composta pelos

seguintes campos:

• CD_PROP – Código da propriedade (tipo: char de 10 caracteres);

• CD_PIQT – Código do piquete (tipo: char de 10 caracteres);

• TP_PIQT – Código identificador da ave (tipo: char de 2

caracteres).

22

TABELA PROP

A tabela PROP é utilizada para a filtragem de propriedades. Ela é

populada com os dados das propriedades no momento da sincronização. É

composta pelo seguinte campo:

• CD_PROP – Código da propriedade (tipo: char de 10 caracteres).

5.3 TELAS DO SISTEMA

O Palm Saave é composto por telas navegáveis e intuitivas ao

operador do sistema. As telas contêm os componentes de interação com o

usuário como campos de entrada e visualização de dados, campos combo-

box, drop-lists, botões e links. Uma das características do desenvolvimento

destas telas é a possibilidade da associação destas com eventos, dependendo

da necessidade do programador. Existem vários eventos default disponíveis

para serem utilizados em diversas ocasiões, mas também é possível criar

eventos para que scripts sejam executados em determinados momentos, o que

acaba por suprir completamente todas as necessidades relativas à criação de

telas interativas e de fácil uso (user-friendly).

A seguir há uma descrição detalhada das telas do sistema, o

objetivo funcional de cada uma dentro do sistema, e os eventos associados a

estas e a seus componentes.

TELA DO SISTEMA

Quando o sistema Palm Saave é instalado no PDA, um ícone é

criado na tela principal deste, como pode-se observar na marcação em

ilustrada na Figura 4.

23

Figura 4 – Ícone de acesso ao sistema Palm Saave

Ao clicar no ícone do sistema, a aplicação Palm Saave é iniciada e

uma tela inicial é aberta ao usuário.

24

TELA INÍCIO

A tela de início é uma apresentação do sistema Palm Saave.

Contém informação sobre a versão do sistema e um botão para o início da

aplicação conforme é possível observar na figura 5.

Figura 5 – Tela de início do sistema Palm Saave

25

Quando o usuário clica no botão Iniciar, um script é executado e a

tela do menu do sistema é aberta. Portanto, o único objetivo desta tela é

apresentar o sistema ao usuário e informá-lo sobre a versão do software

utilizado pois podem ocorrer eventuais modificações no sistema.

TELA LOGON

Quando o usuário entra no sistema, uma tela de logon é mostrada

(ver Figura 6) com os campos usuário e senha a serem preenchidos e um

botão que indica a execução do logon no sistema.

26

Figura 6 – Logon no sistema Palm Saave

O campo usuário foi construído como um componente drop list, e

quando o usuário clica em cima deste, uma lista de usuários é mostrada para

que seja feita a seleção.

O campo senha é um componente edit control configurado para

exibir um teclado numérico automático. Este tipo de teclado é fornecido pela

API de desenvolvimento como default e agiliza o desenvolvimento da aplicação

27

pois trata os eventos de entrada e saída automaticamente. Este teclado possui

várias funcionalidades como a configuração para a entrada obrigatória dos

dados, o formato da entrada dos dados e a possibilidade da realização de

operações matemáticas simples em sua execução. Este campo foi configurado

para que a entrada da senha fique “escondida”, o que evita que outras pessoas

possam visualizar qual a senha digitada pelo usuário. Na Figura 7 é possível

observar o funcionamento do teclado numérico automático para a entrada da

senha no sistema.

28

Figura 7 – Teclado Numérico Automático

Quando o usuário digita a senha e pressiona o botão Done, ocorre o

retorno à tela de logon. O usuário deve então pressionar o botão LogOn e,

caso os dados entrados estejam corretos, a próxima tela será exibida. Caso

contrário uma mensagem de erro será mostrada e o usuário deverá corrigir a

senha entrada executando a operação novamente.

29

TELA MENU – INÍCIO

Após o logon no sistema, a tela de menu é exibida com o botão

Configurações visível. Nesta etapa o usuário é obrigado a clicar no botão para

realizar as configurações necessárias para a utilização do sistema. A Figura 8

ilustra a tela do menu com o botão Configurações visível:

30

Figura 8 – Menu com botão Configurações

Quando o usuário clica no botão, a tela de configurações é aberta.

Nesta tela o usuário pode verificar se a data e hora do PDA estão corretas e,

caso não estejam, deverá acertá-las e efetuar logon novamente no sistema. Na

tela de configurações do sistema, o usuário deverá informar qual a propriedade

corrente de trabalho. Ao se clicar no campo Cód. Propriedade, uma lista de

31

propriedades é mostrada e o usuário deve então salvar esta configuração

pressionando o botão Salvar. O usuário pode retornar a esta tela em qualquer

momento para realizar estas mesmas configurações. Inicialmente o campo

Cód. Propriedade estava junto com os outros dados de logon do usuário

porém, após alguns testes, notou-se que era mais produtivo a criação de um

espaço para a realização das diversas configurações que podem vir a aparecer

com o desenvolvimento de novos módulos para o sistema.

A tela de configurações foi criada para que quando ocorra uma

expansão no software, sejam incluídas novas opções de customização que

possam ser realizadas no momento da execução do aplicativo de uma forma a

minimizar a complexidade da navegação entre as telas pelo usuário.

A Figura 9 mostra a tela de configurações no momento atual.

32

Figura 9 – Tela de configurações do Palm Saave

33

TELA MENU – CONTINUAÇÃO

Quando o usuário salva as configurações efetuadas na tela de

configuração, o menu é exibido novamente, porém com todas as opções

habilitadas, como pode-se observar na figura 10.

Figura 10 – Menu Completo

34

Nesta tela o usuário tem acesso às outras funcionalidades do

Palm Saave, as quais serão descritas nas seções seguintes.

TELA CADASTRO DE OVOS

A tela cadastro de ovos é aberta assim que o usuário pressiona o

botão Cadastro de Ovos no menu principal. A Figura 11 mostra o status da tela

de cadastro de ovos quando aberta.

35

Figura 11 – Tela Cadastro de Ovo

Nesta tela, o campo propriedade aparece com o valor que foi

configurado na tela de configurações do sistema. Isto facilita para o usuário

pois além de informar para qual propriedade os ovos correntes estão sendo

cadastrados, mantém uma lógica no processo executado dentro da empresa

por quem utiliza o PDA.

36

No campo Cód Ave o usuário deve informar o código da ave para a

qual o ovo está sendo cadastrado. O usuário deverá informar um código válido

neste campo pois uma verificação de consistência de dados é executada no fim

da operação de cadastro, quando o usuário pressiona o botão Salvar. A

verificação de consistência para este campo é feita de acordo com os registros

contidos na tabela CDAVES, o que significa que o código da ave inserido deve

existir para a propriedade de trabalho corrente.

No campo Ovo o usuário deve inserir o código do ovo o qual é

previamente etiquetado por um outro funcionário da empresa. Por este motivo,

para este campo, a única consistência feita é com relação à repetição de

códigos já que o processo para a geração de etiquetas para a enumeração dos

ovos garante a consistência dos códigos para ovos. Não há uma verificação

dos dados externos, como acontece no caso do código da ave.

O campo Código Piquete é um drop list que exibe a lista de piquetes

pertencentes à propriedade corrente de trabalho. Este drop list é preenchido de

acordo com a tabela PIQUETESA. Esta tabela é reinicializada e gerada

novamente cada vez que a tela de cadastro de ovos é exibida. Assim como

ocorre com o campo de código da ave, esta tabela é gerada de acordo com a

propriedade corrente de trabalho e então associada ao drop list. Este

procedimento é executado no evento After Open da tela de cadastro de ovos.

O usuário deve informar o responsável pela armazenagem do Ovo

no campo Responsável Armazenagem. Este campo é um drop list que lista

todos os usuários da tabela OPERADOR.

Após preencher os campos solicitados, o usuário deverá clicar no

botão Salvar para que o registro seja gravado. Neste momento, são feitas as

verificações necessárias dos dados inseridos e uma mensagem informativa é

exibida ao usuário conforme mostra a Figura 12.

37

Figura 12 – Mensagem da Coleta de Ovo

Em caso de erro nos dados entrados, mensagens informativas são

exibidas indicando quais dados devem ser corrigidos.

Após realizar a gravação dos dados, a tela é reinicializada e o

usuário pode continuar a realizar os cadastros ou retornar ao menu principal

clicando no botão Menu.

38

TELA LISTAGEM DE OVOS

No menu principal do sistema o usuário pode consultar os ovos

cadastrados clicando no botão listagem de ovos. Esta tela é gerada através da

tabela OVOSA. Esta tabela é reinicializada e populada sempre que o usuário

entra nesta tela. A tabela OVOSA é preenchida somente com os registros

referentes ao usuário corrente e é então associada a um componente list box

da tela. Desta forma, o usuário só é capaz de visualizar, alterar ou excluir

registros gerados por ele mesmo.

Como é possível observar na Figura 13, a Listagem de Ovos

cadastrados é uma síntese dos registros inseridos.

39

Figura 13 – Tela listagem de ovos

Nesta tela o usuário poderá alterar cadastros já cadastrados

selecionando o registro desejado e clicando no botão Alterar. Será aberta a tela

de cadastro de ovos com os campos preenchidos de acordo com o registro

selecionado pelo usuário, e então os dados poderão ser alterados. Há também

a possibilidade da exclusão dos registros. Para isto o usuário deverá selecionar

o registro a ser excluído, e clicar no canto superior esquerdo da tela, em cima

do texto “Listagem de Ovos”. Neste momento, um menu é exibido com a opção

Delete, permitindo que o registro seja excluido. Uma mensagem de

confirmação de exclusão é exibida ao usuário antes da finalização da

operação. A Figura 14 mostra a execução deste procedimento.

40

Figura 14 – Menu para exclusão de registros

41

TELA BANCO DE HORAS

O usuário pode consultar a quantidade de horas em atividade

pressionando o botão Banco de Horas no menu principal. A Figura 15 mostra

um exemplo desta tela.

Figura 15 – Tela Banco de Horas

42

Os campos exibidos nesta tela indicam o usuário logado no sistema,

a data de logon e a quantidade em hora/minuto/segundo de cada logon. Caso o

usuário faça logoff em algum momento, uma nova linha é criada assim que o

usuário acessa o sistema em um novo logon. A última linha indica o logon

corrente e o tempo desta linha é atualizado sempre que o usuário consulta esta

tela.

No parte inferior da tela é mostrado o total do tempo de utilização do

aplicativo no formado hora/minuto/segundo. Este campo é a soma total do

tempo de cada logon do usuário no sistema, inclusive o tempo do logon

corrente. O programa é capaz de controlar vários logons de usuários distintos

ao mesmo tempo.

5.4 SAAVEPALM CONDUIT

O SaavePalm Conduit é formado por um conjunto de classes que

são responsáveis pela leitura e gravação de dados no PDA. Desta forma,

sempre que uma sincronização é executada pelo PDA, ocorre a chamada

deste pacote de classes. É possível registrar classes a serem executadas na

sincronização através da configuração de parâmetros do aplicativo

CondCfg.exe do CDK. Os passos para o registro do conduit JAVA desenvolvido

estão descritos no Capítulo 7. Desta forma, sempre que ocorre uma

sincronização de dados todos os conduits registrados na tela de configuração

deste aplicativo são executados juntamente com o HotSync.

O conduit registrado com o nome SaavePalm é responsável pela

manipulação dos dados que devem ser sincronizados entre o PDA e o PC

(Personal Computer) no qual este está conectado.

Quando o usuário aciona a sincronização de dados no PDA pelo

HotSync o conduit SaavePalm instancia algumas classes JAVA responsáveis

pela leitura de dados do PDA e comunicação com algum serviço web service

publicado. E neste ponto que ocorre a integração entre o software desenvolvido

para o PDA e o conduit, o qual está instalado no PC local.

43

Inicialmente a classe SaavePalmCond.class faz a leitura das tabelas

do PDA. No passo seguinte, a classe WebServicesSaave.class lê as

configurações do serviço publicado através da leitura da interface WSDL (Web

Service Definition Language) [WSD 05] gerada pelo fornecedor, afim de

identificar os métodos necessários e realizar a comunicação com o sistema

externo.

Assim que os métodos web services foram definidos pelo sistema

externo, iniciou-se a construção das classes internas responsáveis pela

manipulação dos dados obtidos das tabelas do PDA e da preparação destes

para o envio ao sistema externo. Para isso, utilizou-se a ferramenta open

source WSDL2Java, fornecida pela IBM (International Business Machines) [IBM

04]. Com esta ferramenta é possível gerar classes JAVA através da leitura de

interfaces WSDL. Os métodos gerados nas classes criadas ficam disponíveis

ao programador no formato de objetos façade, ou seja, no formato de uma

biblioteca de software de fácil utilização e com uma interface bem definida. A

comunicação ocorre através do envio e recebimento de pacotes SOAP (Simple

Object Access Protocol) [SOA 05], os quais contém os dados encapsulados no

padrão XML (Extensible Markup Language) [XML 05].

O WSDL é uma linguagem baseada em XML, utilizada para

descrever um web service. O documento WSDL contém todas as definições de

interfaces, operações, esquemas de codificação, etc.

Basicamente, quando um cliente deseja enviar uma mensagem para

um determinado web service, ele obtém a descrição do serviço (através da

localização do respectivo documento WSDL) e, em seguida, constrói a

mensagem, passando os tipos de dados corretos de acordo com a definição

encontrada no documento. Em seguida, a mensagem é enviada para o

endereço onde o serviço está localizado, a fim de que possa ser processada. O

web service, quando recebe esta mensagem, valida-a conforme as

informações contidas no documento WSDL. Então, o serviço remoto sabe

como tratar a mensagem, sabe como processá-la e como montar a resposta ao

cliente.

Através da utilização da ferramenta WSDL2Java, gerou-se as

classes stub (cliente) e skeleton (servidor) para a comunicação entre os

sistemas. As seguintes classes foram geradas pelo aplicativo:

44

. WSDLSaave.java

. WSDLService.java

. WSDLServiceLocator.java

. WSDLSoapBindingStub.java

Quando a classe WSDLServiceLocator.class é instanciada, todos os

métodos disponibilizados pelo serviço web services tornam-se disponíveis no

formato de métodos JAVA. Esta classe implementa a interface

WSDLSaave.class, a qual descreve todos os métodos publicados, indicando o

tipo de entrada e de retorno dos mesmos.

Desta forma, os passos executados pelo conduit (classe

SaavePalmCond.class), no momento da sincronização, para a leitura e

gravação dos dados, tanto no servidor como no PDA são os seguintes:

• Leitura dos dados do PDA;

• Leitura dos dados publicados pelo serviço web service;

• Chamada do método web service para envio dos dados lidos do

PDA, através da utilização da classe WSDLServiceLocator.class;

• Chamada do método web service para leitura dos dados do

sistema externo, através da utilização da classe

WSDLServiceLocator.class;

• Gravação no PDA dos dados lidos do sistema externo.

Após estas etapas, a sincronização é finalizada e o PDA já possui os

dados atualizados do sistema.

45

6 Testes

No decorrer do desenvolvimento do projeto vários testes e

simulações foram executados em conjunto com usuários chave da empresa.

Ao finalizar a primeira versão do software, um ambiente novo foi criado para

simular o funcionamento do sistema, da mesma forma que este seria usado no

dia a dia. Poucos erros foram encontrados e a maioria das alterações

efetuadas nesta etapa consistiu em melhorias no visual do software do PDA e

na implementação de alguns recursos facilitadores ao usuário. Alguns

problemas de comunicação entre o PDA e o PC foram identificados no início, e

foram solucionados através da atualização do driver do PDA no PC de testes.

Após muitas simulações executadas por diversos usuários e de várias formas,

chegou-se a conclusão de que o sistema estava consistente e pronto para ser

utilizado produtivamente.

46

7 Instalação do Sistema

Nesta seção estão descritos os passos para a instalação do sistema

Palm Saave no PDA. A instalação dos softwares descritos no Capítulo 3 deverá

ser feita conforme o manual de instalação e configuração que acompanham os

mesmos.

Para que o Palm Saave possa ser executado no PDA, é necessário

que o RDK (Runtime Time Deployment Kit) do Satellite Forms esteja instalado

neste.

É possível efetuar a instalação do RDK através da sincronização

tradicional efetuada pelo aplicativo Palm Desktop do arquivo SF60RDK.prc.

Para que a sincronização deste arquivo ocorra com sucesso, é necessário

possuir o aplicativo HotSync instalado, bem como estar com o dispositivo PDA

conectado ao PC. Os aplicativos Palm Desktop e HotSync devem ser

instalados no PC de acordo com instruções contidas no CD (Compact Disk)

que contém o pacote de instalação, o qual acompanha o PDA.

O Palm Saave é instalado através de uma coleção de arquivos que

também devem ser sincronizados utilizando-se o software Palm Desktop. Os

arquivos a serem sincronizados estão contidos na pasta Palm Saave/Aplicativo

do CD de instalação do PalmSaave. Abaixo segue a listagem dos arquivos que

devem ser sincronizados para a instalação do Palm Saave:

. ESMS80000#PALMSAAVE.PRC

47

. ESMS80000$PALMSAAVE.PDB

. ESMS80000_CDAVES.PDB

. ESMS80000_LOGON.PDB

. ESMS80000_LOGONA.PDB

. ESMS80000_OPERADOR.PDB

. ESMS80000_OVOS.PDB

. ESMS80000_OVOSA.PDB

. ESMS80000_PIQUETE.PDB

. ESMS80000_PIQUETEA.PDB

. ESMS80000_PROP.PDB

. PalmSaave.PRC

Outro procedimento a ser realizado para que o Palm Saave possa

ser executado é a cópia da pasta saave para o diretório raiz do PC (por

exemplo em C:\). Nesta pasta, estão contidas as classes de sincronização do

conduit bem como outras pastas para a geração de arquivos temporários e

arquivos de log. A pasta saave está contida na raiz do CD de instalação do

PalmSaave.

O último passo para a instalação do sistema é a efetuação do

registro do conduit. Para isto é necessário executar o aplicativo CondCfg.exe, o

qual é encontrado na pasta de instalação do CDK, em CDK403/Common/Bin.

Ao executar este aplicativo, uma tela será aberta mostrando todos

os conduits registrados. A Figura 16 mostra um exemplo desta tela.

48

Figura 16 - Configuração do Conduit

Nesta tela, é necessário selecionar a opção memo e clicar no botão

Details. Uma outra tela será aberta conforme ilustra a Figura 17.

49

Figura 17 – Parâmetros do Conduit

50

Nesta tela deve-se entrar com os dados do conduit desenvolvido

para o aplicativo Palm Saave. Os parâmetros a serem inseridos são listados

abaixo:

Name: SaaveCond

Priority: 2

No quadro Extra Information, deve-se marcar a opção Java Conduit

e entrar com os parâmetros:

Class Name: conduit.SaavePalmCond

Class Path: C:\saave

Após efetuar estas configurações é necessário reinicializar o

aplicativo HotSync para que as alterações façam efeito.

Não foi encontrado nenhum problema na instalação dos softwares e

do aplicativo Saave Palm Conduit no ambiente de testes e produtivo da

empresa.

Da mesma forma, a instalação do software Palm Saave nos PDAs

foi bem sucedida.

51

8 Manutenção

Apesar de não terem sido identificados problemas na utilização do

sistema, até o momento presente e principalmente na etapa da realização das

simulações no ambiente de qualidade, serão executados testes de amostragem

de dados em determinados períodos de tempo, afim de se verificar a correta

utilização do sistema e para que haja a certificação da qualidade do produto.

Manutenções serão previstas no caso da identificação de algum mau

funcionamento do sistema até o momento em que se possa atestar a total

estabilidade do sistema.

52

9 Conclusão

A realização deste trabalho teve como um dos principais objetivos

demonstrar a possibilidade da criação de sistemas distribuídos através da

utilização de web services, agrupando diversos softwares e técnicas em um

pacote de desenvolvimento de baixo custo.

Com relação aos resultados práticos e específicos do trabalho,

pode-se notar uma significativa melhoria na produtividade dos funcionários

responsáveis pela coleta dos ovos após a implementação do sistema. Vários

outros benefícios puderam ser constatados pelos gerentes e funcionários da

empresa após algumas semanas de utilização do novo sistema como por

exemplo, a redução de erros relacionados às coletas efetuadas na fazenda.

Devido à expansão do negócio da empresa, o processo de coleta de

ovos passou a ter uma importância muito grande dentro da fazenda. Com o

crescimento exponencial do número de aves, o controle manual de ovos não

estava sendo capaz de manter a qualidade e eficiência desta tarefa e, com a

implementação do novo sistema, foi possível solucionar este problema

operacional ainda no início, sem que fossem necessários maiores

investimentos em recursos humanos por parte da empresa, estratégia a qual

poderia acabar por encarecer os serviços prestados pela empresa bem como

ocasionar a redução dos lucros da mesma. Foi possível observar uma redução

de 80% do tempo utilizado para a coleta dos ovos, o que significa uma

diminuição de 60 segundos aproximadamente em cada coleta utilizando-se

formulários, para 12 segundos com a utilização do sistema. A automatização

do envio das coletas para o sistema externo trouxe como benefício uma

53

economia de tempo em torno de 85% para a realização deste procedimento,

que agora não leva mais do que 10 minutos para ser executado. Antes da

implantação do sistema o processo de cadastro dos formulários no sistema

externo consumia entre 60 e 85 minutos de trabalho.

Outro aspecto importante a ser observado com a implementação do

sistema é referente ao controle das atividades dos funcionários. Através da

contagem automática das horas trabalhadas, é possível realizar estatísticas

relativas às horas trabalhadas por cada funcionário, a quantidade de ovos

coletados e a quantidade de funcionários necessária para a realização desta

atividade. Desta forma os gerentes da empresa podem realizar previsões, de

acordo com os valores obtidos dos cruzamentos dos dados citados, e

remanejar recursos internos, reduzindo assim significativamente os custos

operacionais da empresa.

9.1 TRABALHOS FUTUROS

Existem muitas outras funcionalidades que podem ser adicionadas

ao sistema atual. Novos módulos podem ser criados no PDA com relativa

facilidade, já que o desenvolvimento da sincronização dos dados deste com o

PC e com o sistema de dados externo já está completamente desenvolvido,

sendo que poucas alterações são necessárias para a implementação de novas

funcionalidades.

Devido ao baixo custo de desenvolvimento adotado por este

trabalho, e pela opção por utilizar muitos softwares livres, há um grande

potencial para a expansão e melhoria no sistema criado, por qualquer um que

tenha interesse em ampliá-lo.

O conceito de desenvolvimento e de integração entre os sistemas

proposto por este trabalho também pode ser aperfeiçoado e fica como

sugestão de futuros desenvolvimentos, além da criação de novas

funcionalidades para o software do PDA, a criação de um plugin para o Eclipse

para a geração automática de classes para leitura de dados do PDA, algo

54

simples, factível e que pode dinamizar ainda mais o desenvolvimento de

aplicativos nos moldes do conceito proposto pelo trabalho.

55

REFERÊNCIAS

[APC 02] The Apache Software Foundation Disponível em: <http://www.apache.org/>. Acesso em fev. 2006

[AXS 02] Web Services - AxisDisponível em: <http://ws.apache.org/axis/>. Acesso em fev. 2006

[CDK 04] PalmOS.com: ConduitsDisponível em: <http://www.palmos.com/dev/tech/conduits/>. Acesso em mar. 2006

[ECL 02] Eclipse ProjectDisponível em: <http://www.eclipse.org>. Acesso em jan. 2006.

[IBM 04] IBM – WSDL2JavaDisponível em:<http://publib.boulder.ibm.com/infocenter/wasinfo/v5r1/topic/com.ibm.wasee.doc/info/ee/javadoc/ae/com/ibm/websphere/ant/tasks/WSDL2Java.Mapping.html>. Acesso em mar. 2006.

[JAV 01] Java TechnologyDisponível em: <http://www.sun.com/java>. Acesso em mar. 2006.

[MSQ 00] MySQL ABDisponível em: <http://www.mysql.com/>. Acesso em abr. 2006

[PHP 02] PHP: HyperText PreprocessorDisponível em: <http://www.php.net>. Acesso em abr. 2006

[PMA 03] The phpMyAdmin ProjectDisponível em: <http://www.phpmyadmin.net>. Acesso em abr. 2006

[SOA 05] SOAP SpecificationsDisponível em: <http://www.w3.org/TR/SOAP/>. Acesso em mai. 2006

[STF 04] Satellite Forms - Mobile App DesignDisponível em: <http://www.satelliteforms.net/>. Acesso em mar. 2006

[TMC 00] The Apache Software FoundationDisponível em: <http://tomcat.apache.org>. Acesso em fev. 2006.

56

[WSD 05] Web Services Description Language (WSDL) Version 1.2Disponível em: <http://www.w3.org/TR/2002/WD-wsdl12-20020709/>. Acesso em abr. 2006

[XML 05] Extensible Markup Language (XML)Disponível em: <http://www.w3.org/XML/>. Acesso em jun. 2006

[YRD 00] YOURDON, Eduard. Análise Estruturada Moderna. Rio de Janeiro: Campus, 1990

57