UNIVERSIDADE FEDERAL DE VIÇOSA CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS DEPARTAMENTO DE INFORMÁTICA COMPUTAÇÃO MÓVEL – 2006/II Ferramenta para gerenciamento de pedidos de uma distribuidora de bebidas Gustavo Breder (47664) Renato Bonatto (47682) Waister Martins (47684) VIÇOSA MINAS GERAIS – BRASIL MARÇO/2007 Índice 1. Introdução ......................................................................................................... 3 2. Motivação .......................................................................................................... 4 3. Documentação do sistema ........................................................................ 5 4. Tecnologias utilizadas ................................................................................. 6 4.1 C# ....................................................................................................................... 6 4.1.1 História da linguagem................................................................................... 6 4.1.2 Criação do nome........................................................................................... 6 4.1.3 Características .............................................................................................. 7 4.1.4 Bibliotecas de código.................................................................................... 8 4.1.5 Exemplo Olá Mundo .................................................................................... 8 4.1.6 Política ......................................................................................................... 9 4.2 Web Service........................................................................................................ 9 4.2.1 Padrão e Tecnologias.................................................................................. 10 4.2.2 Segurança e Integração de sistemas ............................................................ 10 4.2.3 O futuro dos Web services .......................................................................... 10 4.3 Wi-Fi ................................................................................................................ 10 4.3.1 Principais padrões....................................................................................... 11 4.4 SQL Server CE ................................................................................................. 11 4.5 SQL Server 2000............................................................................................... 12 4.6 Visual Studio 2005 ............................................................................................ 12 4.7 Pocket PC ......................................................................................................... 13 5. Funcionamento do sistema ..................................................................... 14 6. Exemplo de utilização................................................................................ 16 6.1 Estudo de Caso.................................................................................................. 16 7. Dificuldades encontradas ........................................................................ 17 8. Conclusão ........................................................................................................ 18 Bibliografia ........................................................................................................... 19 2 1. Introdução Os estoques são classificados por gerentes e administradores de produção de formas bem distintas. Ao mesmo tempo em que são considerados custosos e arriscados, já que representam capital parado, gastos com espaço físico e mão de obra, além de estarem sujeitos a perdas ou deterioração, os estoques podem proporcionar segurança no fluxo dos processos produtivos. Como a interrupção no fornecimento de um material pode acarretar grandes prejuízos, a gestão de estoque não é tarefa fácil e deve ser bem planejada [1]. O trabalho apresentado neste relatório tem como objetivo auxiliar este procedimento de gestão, especificamente para uma empresa distribuidora de bebidas. Isto será realizado através da utilização de um dispositivo móvel (Pocket PC) que deve ser usado para coletar informações sobre pedidos diretamente com os clientes. Com estas informações, é possível fazer uma previsão sobre as vendas futuras e então ajustar o estoque da distribuidora, a fim de minimizar os custos com armazenamento e prejuízos decorrentes da falta de produtos. Este relatório está organizado da seguinte maneira. A próxima seção exibe a motivação deste trabalho. A seguir são mostradas a documentação do sistema e as tecnologias utilizadas bem como uma explicação sobre o funcionamento do programa. Finalmente é exposto um exemplo de utilização do sistema e são discutidas as dificuldades encontradas juntamente com as conclusões. 3 2. Motivação A gestão de estoques foi muito discutida na disciplina de Sistemas de Informação. Neste curso foi destacada sua importância para a economia de recursos e bom funcionamento de uma cadeia de abastecimento de produtos. Para exemplificar o valor de uma gestão bem realizada, foi destacado um caso de sucesso bem conhecido que é o da rede de supermercados Wall Mart. Além disso, outros fatores importantes motivaram este trabalho. O desafio de aprender novas tecnologias e integrar o conhecimento adquirido em várias disciplinas cursadas durante o curso de Ciência da Computação exigindo muitas horas de esforço. Entretanto, observar o resultado final (ou seja, o funcionamento do sistema) é bastante gratificante. 4 3. Documentação do sistema Esta documentação se encontra anexada ao relatório e foi desenvolvida com base no Praxis, visto nas disciplinas de Engenharia de Software. O Praxis é um processo de desenvolvimento de software com enfoque educacional. Foi utilizado um modelo do ERSw (Especificação dos Requisitos do Software), que é um documento que descreve, de forma detalhada, o conjunto de requisitos especificados para um produto de software [2]. 5 4. Tecnologias utilizadas As tecnologias usadas no desenvolvimento deste trabalho são descritas a seguir. A linguagem escolhida foi a CSharp. Para efetuar comunicação em uma rede sem fio, que era um dos requisitos desta tarefa, foi empregado WebService, permitindo assim a utilização de uma rede Wi-Fi. Além disso, foram necessários dois sistemas de gerenciamento de banco de dados, sendo um para o dispositivo móvel (SQL Server CE) e outro para o servidor (SQL Server 2000). Finalmente, a ferramenta de programação escolhida foi a Microsoft Visual Studio 2005 e o dispositivo móvel empregado foi o Pocket PC. Os textos a seguir foram extraídos da wikipedia [5], com exceção da seção 4.4, que foi retirada do site da Microsoft. 4.1 C# Esta é uma linguagem de programação orientada a objetos criada pela Microsoft e faz parte da sua plataforma .Net. A companhia baseou C# na linguagem C++ e Java, trazendo também algumas características de outras linguagens já consagradas. 4.1.1 História da linguagem A linguagem C# foi criada junto com a arquitetura .NET. Embora existam várias outras linguagens que suportam essa tecnologia (como VB.NET, C++, J#), C# é considerada a linguagem símbolo do .NET pelas seguintes razões: • Foi criada praticamente do zero para funcionar na nova plataforma, sem preocupações de compatibilidade com código de legado. • O compilador C# foi o primeiro a ser desenvolvido. • A maior parte das classes do .NET Framework foram desenvolvidos em C#. A criação da linguagem, embora tenha sido feita por vários desenvolvedores, é atribuída principalmente a Anders_Hejlsberg , hoje um “Distinguished Engineer” na Microsoft. Anders Hejlsberg era desenvolvedor de compiladores na Borland, e entre suas criações mais conhecidas estão o Turbo Pascal e o Delphi. 4.1.2 Criação do nome Muitos pensam que o nome C# viria de uma sobreposição de 4 símbolos "+" dando a impressão de "++++". Na verdade o "#" de C# refere-se ao sinal musical, que aumenta um tom denotado por uma letra (entre A e G) pela metade de um tom. O símbolo real seria o ♯ e não o #, porém, devido a limitação de telas, fontes e alguns browsers, no momento da normalização junto a ECMA, fora especificado apenas que o nome da linguagem seria uma letra C maiúscula (U+0043) e o sinal "#" (U+0023), facilitando assim, publicações e artigos com um caractere encontrado facilmente dos layout de teclado padrões. 6 4.1.3 Características C# (pronuncia-se "cê chárp" em português ou "cí charp" em inglês) é, de certa forma, a linguagem de programação que mais diretamente reflete a plataforma .NET sobre a qual todos os programas .NET executam. C# está de tal forma ligado a esta plataforma que não existe o conceito de código não-gerenciado (unmanaged code. Suas estruturas de dados primitivas são objetos que correspondem a tipos em .NET. A desalocação automática de memória por garbage colletor além de várias de suas abstrações tais como classes, interfaces, delegados e exceções são nada mais que a exposição explicita recursos do ambiente .NET. Quando comparada com C e C++, a linguagem é restrita e melhorada de várias formas incluindo: • Ponteiros e aritmética sem checagem só podem ser utilizados em uma modalidade especial chamada modo inseguro (unsafe mode). Normalmente os acessos a objetos é realizada através de referências seguras, as quais não podem ser invalidadas e normalmente as operações aritméticas são checadas contra sobrecarga (overflow). • Objetos não são liberados explicitamente, mas através de um processo de coleta de lixo (garbage collector) quando não há referências aos mesmos, prevenindo assim referências inválidas. • Destrutores não existem. O equivalente mais próximo é a interface Disposable, que juntamente com a construção using block permitem que recursos alocados por um objeto sejam liberados prontamente. Também existem finalizadores, mas como em Java sua execução não é imediata. • Como em Java, só é permitida a herança simples, mas uma classe pode implementar várias interfaces abstratas. O objetivo principal é simplificar a implementação do ambiente de execução. • C# é mais seguro com tipos que C++. As únicas conversões implícitas por default são conversões seguras, tais como ampliação de inteiros e conversões de um tipo derivado para um tipo base. Não existem conversões implícitas entre inteiros e variáveis lógicas ou enumerações. Não existem ponteiros nulos (void pointers) (apesar de referências para Object serem parecidas). E qualquer conversão implícita definida pelo usuário deve ser marcada explicitamente, diferentemente dos construtores de cópia de C++. • A sintaxe para a declaração de vetores é diferente (" int[] a = new int[5]" ao invés de "int a[5]"). • Membros de enumeração são colocados em seu próprio espaço de nomes (namespace) • C# não possui modelos (templates), mas C# 2.0 possui genéricos (generics). • Propriedades estão disponíveis, as quais permitem que métodos sejam chamados com a mesma sintaxe de acesso a membros de dados. • Recursos de reflexão completos estão disponíveis 7 Apesar de C# ser freqüentemente tido como similar a Java, existem uma série de diferenças importantes, tais como: • Java não implementa propriedades nem sobrecarga de operadores. • Java não implementa um modo inseguro que permita a manipulação de ponteiros e aritmética sem checagem. • Java possui exceções checadas, enquanto exceções em C# são não checadas como em C++. • Java não implementa o goto como estrutura de controle, mas C# sim. • Java utiliza-se de comentários Javadoc para gerar documentação automática a partir de arquivos fonte. C# utiliza comentários baseados em XML para este propósito. • C# suporta indexadores e delegados. 4.1.4 Bibliotecas de código Ao contrário das outras linguagens de programação, nenhuma implementação de C# atualmente inclui qualquer conjunto de bibliotecas de classes ou funções. Ao invés disso, C# está muito vinculada ao framework .Net, do qual C# obtém suas classes ou funções de execução. O código é organizado em um conjunto de namespaces que agrupam as classes com funções similares. Por exemplo: System.Drawing para gráficos, System.Collections para estrutura de dados e System.Windows.Forms para o sistema Windows Form. Um nível de organização superior é fornecido pelo conceito de montador (assembly). Um montador pode ser um simples arquivo ou multiplos arquivos ligados jundos (como em al.exe) que podem conter muitos namespaces ou objetos. Programas que precisam de classes para realizar uma função em particular podem se referenciar a montadores como System.Drawing.dll e System.Windows.Forms.dll assim como a biblioteca core (conhecida como mscorlib.dll na implementação da Microsoft). 4.1.5 Exemplo Olá Mundo Segue abaixo um pequeno exemplo de programa C#: 1: public class ClasseExemplo 2: { 3: public static void Main() 4: { System.Console.WriteLine("Olá mundo!"); 5: 6: } 7: } O código acima escreve o texto Olá mundo! na console. Agora vamos examinálo linha por linha: 1: public class ClasseExemplo 8 Esta linha define a classe ClasseExemplo como pública (public), ou seja, objetos em outros projetos podem utilizar esta classe livremente. 3: public static void Main() Este é o ponto de entrada do programa quando executado a partir da console. Este método também pode ser chamado de outro código utilizando-se a sintaxe ClasseExemplo.Main(). A definição public static void indica que o método Main é público (public), que pode ser acessado diretamente através da classe (static) e que não retorna nenhum valor (void). 5: System.Console.WriteLine("Olá mundo!"); Esta linha escreve a mensagem na console. Console é um objeto do sistema que representa a linha de comando, e através da qual o programa pode obter e mostrar texto. O método WriteLine (EscreverLinha) de Console é executado, acarretando que o literal passado como parâmetro seja mostrado na console. 4.1.6 Política Muitos dos produtos e iniciativas da Microsoft geram polêmica no campo político e a criação e desenho da C# não foi exceção. Devido à natureza fechada da C# com uma instituição comercial, a discussão política continua em relação à legitimidade da sua normalização, as suas semelhanças com Java, o seu futuro como uma linguagem para uso generalizado e outros assuntos. Alguns peritos em segurança encontram-se cépticos em relação à eficácia do mecanismo de segurança do CLR e criticam a sua complexidade. Ao contrário de linguagens proprietárias tal como a Visual Basic, a Microsoft optou por submeter o C# a um processo de normalização. No entanto, a Microsoft continua a ser a principal força a induzir mudanças e inovação na linguagem. Além disso, a Microsoft tornou bem claro que o C#, tal como outras linguagens .NET, é uma parte importante da sua estratégia de software, tanto para uso interno e para consumo externo. 4.2 Web Service Web Service é uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes. Com esta tecnologia é possível que novas aplicações possam interagir com aquelas que já existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis. Os Web Services são componentes que permitem às aplicações enviar e receber dados em formato XML. Cada aplicação pode ter a sua própria "linguagem", que é traduzida para uma linguagem universal, o formato XML. Para as empresas, os Web Services podem trazer agilidade para os processos e eficiência na comunicação entre cadeias de produção ou de logística. Toda e qualquer comunicação entre sistemas passa a ser dinâmica e principalmente segura, pois não há intervenção humana. 9 4.2.1 Padrão e Tecnologias O W3C e o OASIS são as instituições responsáveis pela padronização dos Web Services. Empresas como IBM e Microsoft, duas das maiores do setor de tecnologia, apóiam o desenvolvimento deste padrão. As bases para a construção de um Web Service são os padrões XML e SOAP. O transporte dos dados é realizado, normalmente, via protocolo HTTP (o padrão não determina o protocolo de transporte). Os dados são transferidos no formato XML, encapsulados pelo protocolo SOAP. 4.2.2 Segurança e Integração de sistemas Muitas empresas temiam, no passado, prover funcionalidades na Internet devido ao medo de expor seus dados. Mas com advento dos Web Services elas podem publicar serviços de forma simples e que são totalmente isolados da base de dados. Muitos consideram que os Web Services corrigem um grande problema da informática: a integração de sistemas. Os Web Services permitem que a integração de sistemas seja realizada de maneira compreensível, reutilizável e padronizada. É uma tentativa de organizar um cenário cercado por uma grande variedade de diferentes aplicativos, fornecedores e plataformas. 4.2.3 O futuro dos Web services Acredita-se que no futuro as empresas irão listar seus Web Services em diretórios públicos (UDDI), de onde poderão ser vendidos como serviços para outras empresas, instituições ou usuários comuns. 4.3 Wi-Fi Wi-Fi (marca registrada pertencente à Wireless Ethernet Compatibility Alliance -WECA, abreviatura para "wireless fidelity") é uma tecnologia de interconexão entre dispositivos sem fio, usando o protocolo IEEE 802.11b. O padrão Wi-Fi opera em faixas de freqüências que não necessitam de licença para instalação e/ou operação. Este fato as torna atrativas. No entanto, para uso comercial no Brasil é necessária licença da Agência Nacional de Telecomunicações (Anatel). Para se ter acesso à Internet através de uma rede Wi-Fi (mais corretamente conhecida como WLAN) deve-se estar no raio de ação de um ponto de acesso (normalmente conhecido por hotspot) ou local público onde opere uma rede sem fios e usar um dispositivo móvel, como um computador portátil, um Tablet PC ou um assistente pessoal digital com capacidades de comunicação Wireless. Um Hotspot 'Wi-Fi' é criado para estabelecer um ponto de acesso para uma conexão de Internet. O ponto de acesso transmite um sinal sem fio numa pequena distância – cerca de 100 metros. Quando um periférico que permite 'Wi-Fi', como um Pocket PC, encontrar um hotspot, o periférico pode na mesma hora conectar na rede 10 sem fio. Muitos hotspots estão localizados em lugares que são confortavelmente acessíveis ao público, como aeroportos, cafés, hotéis e livrarias. Muitas casas e escritórios também têm redes 'Wi-Fi'. Enquanto alguns hotspots são gratuitos, a maioria das redes públicas é suportada por Provedores de Serviços de Internet (Internet Service Provider - ISPs) que cobram uma taxa dos usuários para conectar na Internet. Para os portáteis mais recentes, a Intel, maior fabricante mundial de microprocessadores, já fornece um pacote de Rede Wireless Centrino. Para os que não venham equipadas com este pacote, as soluções é recorrer às mais diversas placas e cartões especialmente desenvolvidos para o efeito. Atualmente praticamente todos os computadores portáteis vêm de fábrica com dispositivos Wireless 802.11 b a ou g, o que era acessório estão se tornando itens obrigatórios isto devido ao fato da redução do custo de fabricação! 4.3.1 Principais padrões • • • • Os principais padrões na família IEEE 802.11x são: IEEE 802.11 a: Padrão Wi-Fi para freqüência 5Ghz com capacidade teórica de 54Mbps. IEEE 802.11 b: Padrão Wi-Fi para freqüência 2,4 Ghz com capacidade teórica de 11Mbps. Este padrão utiliza DSSS (Direct Sequency Spread Spectrum – Seqüência Direta de Espalhamento de Espectro) para diminuição de interferência. IEEE 802.11 g: Padrão Wi-Fi para freqüência 2,4 Ghz com capacidade teórica de 54Mbps. Wi-Fi Protected Access (WPA e WPA 2): padrão de segurança instituído para substituir padrão WEP (Wired Equivalent Privacy) na qual possuía falhas graves de segurança, possibilitando que um hacker pudesse quebrar a chave de criptografia após monitorar algumas horas de comunicação. 4.4 SQL Server CE O Microsoft SQL Server 2000 Windows® CE Edition (SQL Server CE) versão 2.0 é o banco de dados compacto para o desenvolvimento rápido de aplicações que ampliam as capacidades de gerenciamento de dados corporativos para dispositivos móveis. O SQL Server CE é uma ferramenta poderosa que facilita o desenvolvimento de aplicações móveis ao suportar a sintaxe familiar da Structured Query Language (SQL) e fornecer um modelo de desenvolvimento e API consistentes com o SQL Server. O mecanismo do SQL Server CE expõe um conjunto essencial de recursos do banco de dados relacional, tais como um processador de consultas otimizadas e suporte para transações e tipos de dados variados, enquanto mantém uma base (footprint) compacta que protege os recursos preciosos do sistema. O acesso remoto aos dados e a replicação de merge garantem que os dados dos bancos de dados do SQL Server sejam 11 distribuídos de maneira confiável, possam ser manipulados offline, e possam ser sincronizados mais tarde com o servidor, tornando o SQL Server CE ideal para ambientes móveis e sem fio. O SQL Server CE 2.0 foi projetado para integrar-se como o Microsoft .NET Compact Framework através do Microsoft Visual Studio® .NET, simplificando o desenvolvimento de aplicações de banco de dados para dispositivos inteligentes. Usando o novo provedor de dados do SQL Server CE para gerenciar códigos através do Common Language Runtime (Tempo de Execução da Linguagem Comum), os desenvolvedores de aplicações móveis podem construir aplicações altamente extensíveis com capacidade de gerenciamento de dados offline para cenários desconectados. 4.5 SQL Server 2000 O MS SQL Server é um gerenciador de Banco de dados relacional feito pela Microsoft. É um Banco de dados robusto e muito usado em empresas e grandes sistemas corporativos. Atualmente encontra-se na versão 2005. Entre os novos recursos está a integração com o Framework .Net, que possibilita construir rotinas utilizando as linguagens do .Net como VB.Net e C#. O MS SQL Server tem versões unicamente para as diversas versões do sistema operacional Windows, da Microsoft, ao contrário de seus grandes concorrentes, Oracle e Postgres, que funcionam em diversas plataformas e sistemas operacionais diferentes. Suas ferramentas de gerenciamento são nativas, não necessitando que sejam adquiridas separadamente. São elas: MS SQL Enterprise Manager (Console Central que integra em um único painel, a maioria das funções que um DBA poderá utilizar-se para configurar e gerenciar esse RDBMS, o Query Analyzer que permite executar querys e auxilia o gerenciamento, inclusive em Tunning, o Profile que é uma espécie de Trace, descortinando os comandos que o gerenciador está executando, além de outras ferramentas. 4.6 Visual Studio 2005 O Microsoft Visual Studio é um pacote de programas da Microsoft, para desenvolvimento de Software, especialmente dedicado, ao framework .NET às linguagens Visual Basic (VB), C, C++ , C# e J# (Jey Sharp). Está disponível em diversas edições, que são significativamente diferentes das versões precedentes: Express, Standard, Professional, Tools for Office, e um jogo de cinco edições do sistema. Os últimos cobrem quatro papéis principais do desenvolvimento do software: arquitetos, colaboradores do software, verificadores, e profissionais da base de dados. As Express Editions foram introduzidas para amadores e empresas de pequeno porte, e estão disponíveis para livre download no site de Microsoft. 12 4.7 Pocket PC O Pocket PC é um PDA que corre uma variante do sistema operativo Windows CE (também chamado Pocket PC). Tem muitas das capacidades dos PCs portáteis contemporâneos, e estão atualmente disponíveis milhares de aplicações para Pocket PC, muitas das quais gratuitas. Alguns destes dispositivos, equipados com o Microsoft Windows Mobile Phone Edition, também podem funcionar como telefone celular. Os Pocket PCs podem ainda ser usados com muitos outros dispositivos, como receptores de GPS ou leitores de código de barras. Em Outubro de 2005 a Microsoft lançou uma nova versão do sistema operativo que equipa os Pocket PCs, o Windows Mobile 5.0. A principal novidade é a memória persistente, que é um novo tipo de memoria RAM, que mesmo que a bateria fique totalmente descarregada os dados contidos na RAM não são perdidos. A categoria da Microsoft é dividida em Pocket PC e Pocket PC Phone Edition, que nada mais é que um Pocket PC com um telefone celular. Outro ponto a destacar é que o Pocket PC Phone Edition, mesmo tendo acesso à rede celular (GSM/GPRS/EDGE ou CDMA/1XRTT/EVDO), ainda pode ter acesso a uma rede Wi-Fi, caso tenha um chip Wi-Fi interno. Mais recentemente já existem dispositivos com tecnologia 3G também conhecido por UMTS e até 3,5G também conhecido por HSDPA. 13 5. Funcionamento do sistema O sistema proposto neste trabalho foi implementado de maneira bem simples. Com pouco treino, é possível se acostumar com suas interfaces e observar que suas funcionalidades podem ser alcançadas com poucos comandos e de forma intuitiva. O fluxo de telas do programa é representado na Figura 1. Na tela inicial o usuário deve informar o seu login e senha, podendo também através do Menu carregar os dados do Servidor no Pocket PC caso ainda não tenha realizada esta ação. Então deve-se clicar em Entrar. Feito isso, os dados fornecidos são comparados com os contidos no banco e se forem consistentes, a tela de cadastro de pedidos aparece. Para agilizar o processo de cadastro de pedidos, serviu-se de combo boxes para buscar informações no banco de dados e evitar que o usuário tenha que digitar um grande volume de palavras, o que num dispositivo móvel não é realizado tão facilmente quanto em uma aplicação Desktop. Ao informar qual cliente está fazendo o pedido, se o usuário não souber o seu código, pode-se clicar no botão ? e navegar até a tela de seleção de clientes. Aqui é exibida uma lista contendo todos os clientes já cadastrados. Também é possível solicitar o cadastro de um novo cliente clicando no botão Cadastrar novo cliente. Na seqüência é exibida a tela de cadastro de clientes e então a solicitação pode ser concluída. Após a correta seleção do cliente, volta-se para a tela de cadastro de pedidos. Preenchendo o restante das informações necessárias é permitido o cadastro de um novo pedido. Ainda considerando esta tela (cadastro de pedidos), é possível atualizar o banco de dados do servidor, clicando-se em Descarregar Pedidos. Neste momento, a troca de dados com o servidor é feita através de Web Services. Nos laboratórios do Departamento de Informática da UFV esta conexão foi realizada com sucesso e simulou-se uma rede Wi-Fi. 14 Figura 1: fluxo de telas do sistema proposto neste trabalho 15 6. Exemplo de utilização Para mostrar o emprego do sistema desenvolvido neste trabalho, será exibido a seguir um estudo de caso realizado para uma distribuidora fictícia do sul do Brasil. 6.1 Estudo de Caso Na cidade de Ponta Grossa - PR existe uma distribuidora de bebidas que atende não somente o município, mas uma grande região à sua volta. A empresa é responsável pelo abastecimento de vários estabelecimentos, o que a leva ter uma quantidade considerável de funcionários trabalhando como vendedores/fornecedores. Diariamente, esses funcionários fazem visitas aos clientes previamente cadastrados registrando seus pedidos, os quais serão passados para a distribuidora no final do dia. Eventualmente, novos clientes surgem e devem ser cadastrados na base de dados de clientes da empresa. Dessa forma, um sistema móvel informatizado deve ser implantado para otimizar o tempo de atendimento ao cliente e manter a segurança e consistência dos pedidos realizados. Com isso, o fornecedor não precisa mais carregar uma resma de folhas com anotações e nomes dos clientes. Basta utilizar um PDA e no final do expediente, conectá-lo ao sistema servidor da distribuidora, transferindo os dados registrados no PDA para o banco de dados do servidor. 16 7. Dificuldades encontradas Este projeto proposto na disciplina de Computação Móvel foi um dos mais desafiadores de todo o curso de graduação. Aprender várias novas tecnologias em um curto espaço de tempo não foi fácil, a começar pela linguagem utilizada, que não havia sido vista em nenhuma outra matéria do curso. Apesar de C# ser parecido com Java, pequenas diferenças podem atrapalhar e atrasar o desenvolvimento do sistema. Outra dificuldade foi se habituar a uma nova ferramenta de desenvolvimento. O Visual Studio 2005 disponibiliza uma enorme quantidade de recursos e se gasta um tempo considerável para se adequar às suas funcionalidades. Outro importante desafio enfrentado foi programar para um dispositivo móvel, o que impõe requisitos diferentes dos encontrados comumente em outras aplicações. Estes dispositivos possuem recursos de memória, processamento e tamanho de tela limitados, sendo assim estes devem ser bem aproveitados. Recursos de interface também são escassos e precisam ser explorados para facilitar a utilização por parte do usuário. Finalmente, utilizar Web Services traz grandes benefícios para aplicação, entretanto sua implementação exigiu um esforço inicial de pesquisa e trouxe alguns problemas de configurações do Servidor para seu uso correto. 17 8. Conclusão A computação móvel é uma ciência que permite ao usuário trabalhar fora do ambiente fixo, onde normalmente opera, através de soluções de negócios usando computadores e comunicações. Munidos de um dispositivo móvel (Laptops, Notebook, PDA’s, etc), os usuários têm capacidade de se comunicarem com a parte fixa da rede e possivelmente com outros dispositivos móveis, independentemente da sua localização [3]. A evolução da informática diminuiu o forte acoplamento do usuário aos recursos e ao ambiente computacional. Dentro deste contexto, os sistemas de computação móvel representam o próximo passo lógico na separação do usuário e do ambiente computacional [4]. Além disso, a convergência digital traz como grande benefício a interoperabilidade entre diferentes sistemas, possivelmente rodando em plataformas distintas, permitindo o tráfego de dados e consequentemente que estes se comuniquem. Este trabalho implementou um mini-sistema de informação em um ambiente de computação móvel com o objetivo de auxiliar a gestão de estoques de uma distribuidora de bebidas. Duas importantes razões para o surgimento dos depósitos de mercadorias são: desequilíbrio dentre a taxa de suprimento e o consumo de itens; e a incerteza quanto às previsões [1]. Com a ajuda do sistema proposto aqui, a coleta de dados com os clientes torna-se mais ágil, eficiente e segura, permitindo assim um planejamento que minimize os prejuízos com o mantimento dos estoques. 18 Bibliografia [1] Marcos Rogério Ribeiro Campos, Gestão de armazenagem com rastreabilidade de materiais, Taubaté-SP, 2002. [2] Site oficial do Praxis. Disponível em www.wppf.uaivip.com.br/praxis. [3] Site sobre computação móvel. Disponível em www.dimap.ufrn.br/~gold/CMovel.html. [4] Site sobre computação móvel. Disponível em www.inf.ufrgs.br/~isam/paginaDefComputacaoMovel.html [5] Wikipedia, a enciclopédia livre. Disponível em www.wikipedia.org. 19