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:
Vendramin.
CURITIBA, 2006
Profª
Ana
Cristina
B.
Kochem
JULIO CESAR DE SOUZA
SINCRONIZAÇÃO DE DADOS EM DISPOSITIVOS MÓVEIS
UTILIZANDO 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.
P1
Entrada
de dados
A Usuário
B
PALM
SAAVE
•
Dados do
sistema
Dados da
coleta
Sistema
Externo
Figura 1 – Diagrama de Contexto do Sistema
•
O DFD ilustrado na Figura 2 mostra o detalhamento do processo P1.
10
Informações sobre
ovos coletados
Us
uá
Usuário
rio
Total de horas
Envio de
dados
ovos
Dados das
aves
D1
Cadastro de
piquetes
Dados dos
piquetes
Ovos
B
Horas trabalhadas
Cadastro de
aves
Informações sobre
Consiste
código do ovo,
piquete e código
da ave
D2
Dados
do sistema
externo
Resultado da
verificação
Ovos
processados
d
Sistema
Externo
Sincroniza Dados
P2
Dados do logon
Dados
Coletados
P4
Verifica
Dados
Dados do sistema
A
Ovos
coletados
P1
Aves
D3
Piquetes
P3
Calcula
Horas
Horas
acumuladas
Total de
D4
Banco de Horas
horas
Figura 2 – Diagrama Macroscópico do Sistema
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ário
Descrição: operadores do sistema
Referência: A
Tipos Existentes:
Nome: Sistema Externo
Descrição: sistema de informação externo
Referência: B
Tipos Existentes: sistemas de informação
4.2.2 DEPÓSITOS
Nome: Ovos
Referência: D1
Descrição: ovos cadastrados no PDA
Conteú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: Aves
Referência: D2
Descrição: dados cadastrais de aves
Conteúdo: código da propriedade, código da ave
Nome: Piquetes
Referência: D3
Descrição: dados cadastrais de piquetes
Conteúdo: código da propriedade, código do piquete, tipo do piquete
Nome: Banco de Horas
Referência: D4
Descrição: dados de logons e logoffs realizados pelos usuários
Conteú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:
•
5.3
CD_PROP – Código da propriedade (tipo: char de 10 caracteres).
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 combobox, 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 - Axis
Disponível em: <http://ws.apache.org/axis/>. Acesso em fev. 2006
[CDK 04]
PalmOS.com: Conduits
Disponível em: <http://www.palmos.com/dev/tech/conduits/>.
Acesso em mar. 2006
[ECL 02]
Eclipse Project
Disponível em: <http://www.eclipse.org>. Acesso em jan. 2006.
[IBM 04]
IBM – WSDL2Java
Disponível em:
<http://publib.boulder.ibm.com/infocenter/wasinfo/v5r1/topic/com.i
bm.wasee.doc/info/ee/javadoc/ae/com/ibm/websphere/ant/tasks/
WSDL2Java.Mapping.html>. Acesso em mar. 2006.
[JAV 01]
Java Technology
Disponível em: <http://www.sun.com/java>. Acesso em mar. 2006.
[MSQ 00]
MySQL AB
Disponível em: <http://www.mysql.com/>. Acesso em abr. 2006
[PHP 02]
PHP: HyperText Preprocessor
Disponível em: <http://www.php.net>. Acesso em abr. 2006
[PMA 03]
The phpMyAdmin Project
Disponível em: <http://www.phpmyadmin.net>.
Acesso em abr. 2006
[SOA 05]
SOAP Specifications
Disponível em: <http://www.w3.org/TR/SOAP/>.
Acesso em mai. 2006
[STF 04]
Satellite Forms - Mobile App Design
Disponível em: <http://www.satelliteforms.net/>.
Acesso em mar. 2006
[TMC 00]
The Apache Software Foundation
Disponível em: <http://tomcat.apache.org>. Acesso em fev. 2006.
56
[WSD 05]
Web Services Description Language (WSDL) Version 1.2
Disponí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
Download

PDF