UNIVERSIDADE FEDERAL DE VIÇOSAINF655 – COMPUTAÇÃO MÓVEL
Documentação do Sistema GeoServiço-Mobile
Alunos: Arthur Vinícius Maciel DantasOdilon Corrêa da Silva
Professor: Mauro Nacif
Viçosa – MGDezembro de 2007
Sumário
1 Introdução e Motivação............................................................................................ 32 Tecnologias de Desenvolvimento............................................................................. 5
2.1 Plataforma Microsoft .NET .............................................................................. 62.2 Microsoft SQL Server Enterprise ..................................................................... 72.3 Microsoft MapPoint.......................................................................................... 72.4 Web Services .................................................................................................... 8
2.4.1 IntraWebs................................................................................................ 102.4.2 InterWebs................................................................................................ 10
3 Documentação do Sistema...................................................................................... 123.1 Requisitos funcionais...................................................................................... 12
3.1.1 Requisito funcional Autenticar ao Sistema ............................................ 123.1.2 Requisito funcional Listar Serviços........................................................ 123.1.3 Requisito funcional Consultar Serviço................................................... 123.1.4 Requisito funcional Encerrar Serviço..................................................... 123.1.5 Requisito funcional Consultar Mapa ...................................................... 12
3.2 Caso de Uso.................................................................................................... 123.2.1 Caso de uso Autenticar ao Sistema ........................................................ 123.2.2 Caso de uso Listar Serviços.................................................................... 123.2.3 Caso de uso Consultar Serviço ............................................................... 123.2.4 Caso de uso Encerrar Serviço................................................................. 133.2.5 Caso de uso Consultar Mapa .................................................................. 13
3.3 Diagrama de Caso Uso ................................................................................... 133.4 Persistência ..................................................................................................... 14
3.4.1 Modelo de Entidade-Relacionamento do Banco de Dados .................... 143.4.2 Esquema Físico do Banco de Dados ...................................................... 15
3.5 Diagrama de Estados de Navegação............................................................... 163.6 Descrição do funcionamento do GeoServiço-Mobile .................................... 16
4 Descrição do projeto............................................................................................... 195 Dificuldades encontradas........................................................................................ 216 Bibliografia............................................................................................................. 22
1 Introdução e Motivação
O uso crescente de aplicações móveis tornou ainda mais importante um serviço que
já esta sendo solicitado aos dos desenvolvedores: o serviço de localização ou geo-
referenciamento de uma localidade. Estes serviços possuem enorme utilidade e podem
ser aplicados em diversas aplicações tais como cálculo de rotas, localização de
endereços e de veículos, mapeamento de terrenos e produtividade agrícola, localização
estratégica de exércitos, dentre outros.
Todo sistema que funciona baseado em informação geográfica, ou geo-referenciado
como são chamados, trabalham armazenando e recuperando informações sobre uma
localidade. Entende-se localidade como um endereço, um dispositivo ou um usuário que
possa ter sua localização definida em um par de coordenadas geográficas chamadas
latitude e longitude. De posse das coordenadas geográficas da localidade de um usuário,
um programa de computador pode consultar uma base de dados e informar, por
exemplo, que próximo a essa localidade existe uma agência bancária ou um posto de
gasolina. Sistemas mais sofisticados permitem ainda traçar uma rota ou caminho que
ensine ao usuário como chegar a tal agência ou posto de gasolina.
Existem diversas bases de informações geo-referenciadas voltadas para as mais
diversas aplicações. Existem bases que informam localidades de lojas, postos de
gasolinas, rios, florestas e estradas, etc. Muitas dessas bases de informações têm seu uso
restrito ou mesmo protegido, porém há serviços públicos que oferecem informações
bastante ricas sobre localidades.
A mobilidade possibilita a extensão do ambiente de trabalho da empresa às áreas
externas levando o acesso remoto às informações corporativas aos seus colaboradores,
permitindo-lhes a aplicação de ações imediatas e integrando-os melhor em ações de
trabalho colaborativo. A mobilidade associada a informações de localização permite
selecionar a informação a ser disponibilizada, de forma que o conteúdo retornado seja
filtrado de acordo com a posição geográfica do usuário.
Dado esse cenário, torna-se viável a criação de uma ferramenta que possibilite a
distribuição de tarefas em empresas prestadoras de serviços.
O GeoServiço-Mobile é um módulo do GeoServiço-Corpore, um ERP (Enterprise
Resource Planning) que será desenvolvido com a finalidade de gerenciar todas as
atividades de uma empresa prestadora de serviço. A estrutura completa da aplicação é
ilustrada pela Figura 1. O GeoServiço-Mobile é uma aplicação onde o colaborador da
empresa receberá em seu Smartphone uma lista de locais onde ele deve prestar algum
serviço. Para cada localidade listada, poderá obter um mapa da localidade.
Figura 1 - Estrutura de subsistemas da solução GeoServiço
2 Tecnologias de Desenvolvimento
Diante das necessidades observadas e na arquitetura planejada para o sistema, o
estudo de viabilidade técnica foi direcionado aos mais modernos padrões, métodos,
conceitos e tecnologias hoje existentes que possam embasar o desenvolvimento do
sistema proposto. Além disto, foram estudas as principais ferramentas da computação
disponíveis no mercado que possam ser utilizadas para a implementação do sistema.
O enfoque do estudo foi buscar tecnologias para a otimização do desenvolvimento,
customização do produto e facilidades na utilização do sistema proposto. É
extremamente importante o domínio das tecnologias e o conhecimento dos prós e
contras de cada uma, para que possam ser identificadas as melhores soluções.
Para o desenvolvimento do produto, diversas tecnologias estão disponíveis e devem
ser avaliadas para possibilitar a produção de um sistema que atenda todos os requisitos e
expectativas dos futuros usuários e da equipe de desenvolvimento. É essencial avaliar o
nível de atendimento dos requisitos ambientais, sejam eles inseridos no ambiente do
cliente ou da equipe de desenvolvimento.
Outro aspecto importante no planejamento da tecnologia a ser utilizada são as
tecnologias disponíveis para armazenamento de dados. O mercado dispõe de diversos
SGBD (Sistemas Gerenciadores de Banco de Dados) e cada cliente possui suas
preferências e/ou exigências quanto à escolha desta tecnologia. Desta forma, é
importante conhecer os principais SGBD disponíveis e preparar o sistema para utilizar o
que estiver mais adequado para cada cliente
Para o desenvolvimento do GeoServiço-Mobile foram usadas tecnologias de
desenvolvimento de software da Microsoft, através da Plataforma Microsoft .NET
Framework, Microsoft SQL Server Enterprise, Microsoft e MapPoint. A arquitetura do
GeoServiço-Mobile é implementada com a tecnologia Web Service, uma vez que ela
permite que sistemas executados em diferentes ambientes se comuniquem via XML ou
outros padrões WEB.
Todas as tecnologias usadas para a construção GeoServiço-Mobile são muito
difundidas, devido à facilidade de encontrar tutoriais, livros e grupos de discussão.
Outro fator importante na escolha dessas tecnologias é a curva de aprendizagem. O
aprendizado em outras tecnologias como Java e Oracle, por exemplo, é mais difícil do
que as tecnologias usadas pela Microsoft. Além disso, o uso de tecnologias (arquitetura,
linguagem de programação e banco de dados) de uma mesmo fabricante facilita a
integração e a implantação do sistema, sem a necessidade de plug-ins entre outros
recursos de instalação e implementação.
2.1 Plataforma Microsoft .NET
A plataforma Microsoft .NET é uma plataforma de software que conecta
informações, sistemas, pessoas e dispositivos. A plataforma .NET conecta uma grande
variedade de tecnologias de uso pessoal e de negócios, de telefones celulares a
servidores corporativos, permitindo o acesso a informações importantes, onde e sempre
que forem necessárias.
Desenvolvido sobre os padrões de Web Services XML, a plataforma .NET
possibilita que sistemas e aplicativos, novos ou já existentes, conectem seus dados e
transações independente do sistema operacional, tipo de computador ou de dispositivo
móvel que sejam utilizados, ou qual linguagem de programação tenha sido utilizada na
sua criação.
O .NET oferece a capacidade de desenvolver, implementar, gerenciar e usar
soluções conectadas através de Web Services XML de maneira rápida, barata e segura.
Essas soluções permitem uma integração mais rápida e ágil entre os negócios e o acesso
a informações a qualquer hora, em qualquer lugar e em qualquer dispositivo.
A idéia fundamental por trás da plataforma .NET é uma mudança de foco na
informática, passando de um mundo de aplicativos, web sites e dispositivos isolados
para uma infinidade de computadores, dispositivos, transações e serviços que se
conectam diretamente e trabalham em conjunto para fornecerem soluções mais amplas e
ricas.
A plataforma .NET tem independência na linguagem de programação. Com ela é
possível trabalhar com várias linguagens diferentes no mesmo projeto e interagir entre
elas. Isso é possível por termos uma IL (Intermediate Language), ou seja, linguagem
intermediária onde todos os fontes compilados pelo CLR (Common Language Runtime)
resultam em uma só linguagem.
O .NET Framework possui duas partes principais:
• A Common Language Runtime (CLR).
• Um conjunto hierárquico de biblioteca de classes.
A CLR é descrita como o "motor de execução" do .NET, fornecendo o ambiente
onde os programas são executados. Suas principais características são:
• Conversão de linguagem de baixo do estilo assembly, chamada de Intermediate
Language (IL), para código nativo da plataforma onde está sendo executado.
• Gerenciamento de memória, incluindo garbage collection.
• Verificação e reforço de restrições de segurança no código em execução.
• Carregamento e execução de programas, com controle de versão e outras
características.
2.2 Microsoft SQL Server Enterprise
O Microsoft SQL Server 2000 é um banco de dados corporativo que fornece uma
poderosa e detalhada plataforma de gerenciamento de dados. Possui ferramentas
detalhadas de gerenciamento e desenvolvimento, uma ferramenta poderosa de extração,
transformação e carga, serviços de análise para soluções de business intelligence e
capacidades tais como Serviços de Notificação.
Oferece recursos dinâmicos de auto-desempenho e auto-configuração que otimizam
o desempenho do banco de dados enquanto ferramentas de gerenciamento automatizam
atividades padrão. Ferramentas e assistentes gráficos simplificam a configuração, o
design do banco de dados e o monitoramento do desempenho, permitindo aos
administradores de bancos de dados focar as necessidades estratégicas do negócio.
A Edição Corporativa inclui um conjunto completo de recursos para análise e
gerenciamento de dados e é unicamente caracterizada por diversos recursos que a torna
a edição mais escalonável e disponível do SQL Server 2000. Escalona para níveis de
desempenho necessários para dar suporte aos maiores web sites, Sistemas de
Processamento e Transação de Negócios Online e Sistemas de Armazenamento de
Dados. Oferece suporte para clustering failover e a torna a versão ideal para qualquer
aplicação line-of-business de missão crítica. Inclui diversos recursos avançados de
análise.
2.3 Microsoft MapPoint
Construido na tecnologia .NET, o MapPoint oferece um enorme banco de dados de
mapas e endereços de diversos países (incluido o Brasil) e expõe esses serviços através
de um web service que possibilita aos desenvolvedores integrar mapas, direções,
cálculos de distância, proximidade e outros dados de localização em aplicações,
processos de negócios e web sites. Atualmente na sua versão 2006, o MapPoint web
service possibilita o desenvolvimento de gama de soluções, incluindo aplicações de
mapeamento baseadas em browser, serviços de localização para dispositivos móveis e
aplicações corporativas enriquecidas com componentes de localização. O MapPoint web
service foi criado com base em padrões abertos da internet como XML e SOAP, e inclui
uma API que engloba os seguintes serviços:
Find: fornece classes que podem ser usadas para localizar endereços, entidades
geográficas, coordenadas de latitude e longitude e pontos de interesse, bem como
analisar endereços e retornar informações de localização de uma coordenada de latitude
e longitude específica.
Render: fornece classes que podem ser usadas para processar mapas de rotas e
locais encontrados, marcar pontos com pinos, definir o tamanho e o modo de exibição
do mapa, selecionar pontos em um mapa, obter informações de localização sobre os
pontos de um mapa, aplicar visão panorâmica e zoom a um mapa processado e criar
mapas de imagem.
Route: fornece classes que podem ser usadas para traçar rotas, trajetos e
representações calculadas de rota com base em locais ou pontos ao longo do caminho,
definir preferências de segmentos e de rota e gerar modos de exibição de mapa dos
segmentos e trajetos.
Common: fornece classes comuns aos serviços Find, Route e Render ou que
contêm funções básicas do utilitário.
É importante destacar que para usar o MapPoint web service, o usuário deve obter
uma licença. Existe uma licença para avaliação que pode ser obtida no endereço
http://msdn.microsoft.com/mappoint/.
2.4 Web Services
Web Services é a mais nova tecnologia para negócios na internet. Os Web Services
XML usam tecnologias programáveis e reutilizáveis que aproveitam a flexibilidade da
internet. Com eles é possível ter uma infinidade de aplicativos conectados em rede,
mesmo rodando em plataformas diferentes, fornecendo informações a todos os seus
atores do processo de gerenciamento de editais.
A tecnologia, baseada em padrões abertos, está sendo utilizada por várias empresas
para colocar a área de TI alinhada com os processos de negócio. Possibilita desenvolver
sistemas de forma escalonada. Ou seja, cada componente de uma aplicação em Web
Services é um programa independente que possui um objetivo bem definido. Permitem
visualizar a informação como uma entidade única, integrada e fácil de compartilhar com
outras aplicações e instituições.
A estratégia de Web Services pode ser agregada à estratégia web da empresa,
portanto não é necessário nenhum estudo profundo sobre impactos na infra-estrutura,
que já está pronta.
Apesar de recente, essa tecnologia já possui diversos casos de adoção que não
impactam em riscos e já podem iniciar um caminho de integração da área de TI com os
objetivos de negócio da empresa. Demandas anteriormente difíceis, custosas e lentas de
serem implementadas, podem ser atendidas de forma segura e eficiente.
Citando apenas três desses casos: disponibilizar informações de sistemas legados,
compartilhar informações com parceiros (atualmente feito via EDI ou VPN, que são
muito custosos) e integrar sistemas.
Totalmente baseado em padrões abertos de grande aceitação no mercado,
independente de linguagem, de plataforma e de fornecedor, para o desenvolvimento,
existem duas grandes vertentes relacionadas à infra-estrutura: J2EE e .NET.
Com base na descrição das principais tecnologias envolvidas no desenvolvimento
de Web Services. Existem diversas razões que servem de facilitadores para a adoção de
Web Services pelas empresas. Algumas delas:
• É uma tecnologia baseada em padrões abertos;
• A infra-estrutura para adoção está pronta (HTTP, TCP/IP);
• Não requer grandes investimentos iniciais;
• Oportunidade de criação de novos ativos digitais;
• Trata-se de uma tecnologia mais adequada para projetos de EAI (Enterprise
Application Integration) quando comparada às abordagens anteriores;
Os principais componentes de uma plataforma de Web Services são:
• Descrição: o padrão mais utilizado é o WSDL, que fornece a descrição técnica
das interfaces, incluindo sua localização e requerimentos de interação.
• Serviço de registro: a especificação de UDDI é o padrão. Ela define o
armazenamento e as interfaces de integração e provê um mecanismo programável de
identificação dos serviços.
• Empacotamento e formatação das mensagens: o padrão utilizado é SOAP, que
fornece um mecanismo tipo RPC para a troca de documentos.
• Transporte de mensagens: os padrões de transporte mais utilizados geram
conexões para HTTP ou HTTPS. No entanto, alguns protocolos mais confiáveis estão
sendo criados.
Utilizando tecnologia de web services, devemos considerar duas grandes situações:
IntraWeb (protegido por um firewall) e InterWeb (na internet).
2.4.1 IntraWebs
Alguns web services serão usados somente dentro de uma zona protegida por um
firewall. Há várias soluções para a integração de aplicações, como brokers baseados em
serviços de envio de mensagens. Com o advento de web services, surge uma alternativa
simples, baseada em protocolos padrão, que deverá diminuir o custo de integração entre
aplicações na corporação e terá preferência sobre todas as outras soluções.
2.4.2 InterWebs
O maior interesse sobre a adoção de web services é sua utilização na internet,
viabilizada por fatores básicos como desempenho, escalabilidade e segurança. Esses
fatores são importantes porque ninguém quer expor seus serviços sem a garantia de que
será possível atender a milhões de usuários, e com a segurança necessária. Os dois casos
envolvem o mesmo conjunto de tecnologias, mas com uma pequena diferença para sua
utilização, que geralmente é determinada pelos requerimentos básicos de segurança.
A agilidade nos negócios está na capacidade sistêmica de reconfigurar e controlar
os processos e recursos corporativos, em resposta a contingências de negócios, e
aumentá-los de forma ordenada e natural. A utilização de Web Services apresenta a
melhor solução para a incorporação das características desejáveis a esta estrutura. Os
seguintes atributos definem as características de uma infra-estrutura ágil e centrada a
processos:
Visibilidade das atividades associadas aos processos fim a fim.
Processar componentes e funcionalidade que são expostas e auto-
descritíveis.
Qualquer origem de informação e funcionalidade de aplicação, não
importando onde ela resida, pode ser integrada no processo.
O fluxo da informação e as notificações dos eventos podem ser
automatizados pelo processo.
As atividades humanas no fluxo de trabalho utilizam as tecnologias
presentes e atualmente em uso nas estações de trabalho.
Contratos de Nível de Serviço (SLA´s) podem ser especificados,
monitorados e impostos a atividades do processo.
Qualquer atividade no processo pode ser adicionada, removida ou
reconfigurada sem romper nenhuma outra atividade do processo.
Atividades podem ser monitoradas em tempo real ou próximo do tempo
real.
O design dos processos pode acomodar qualquer tratamento de exceção
necessário.
Qualquer processo pode ser facilmente replicado, estendido ou escalonado.
Todos os atributos acima podem ser implantados de uma forma altamente
eficiente e uma efetiva relação custo/benefício.
3 Documentação do Sistema
3.1 Requisitos funcionais
3.1.1 Requisito funcional Autenticar ao Sistema
F1 Autenticar ao SistemaDescrição: O sistema deverá permitir a autenticação do usuário, através de um indentificador e senha.
3.1.2 Requisito funcional Listar Serviços
F2 Listar ServiçosDescrição: O sistema deverá permitir ao usuário listar os serviços pendentes.
3.1.3 Requisito funcional Consultar Serviço
F3 Consultar ServiçoDescrição: O sistema deverá permitir ao usuário consultar as informações do serviço pendente.
3.1.4 Requisito funcional Encerrar Serviço
F4 Encerrar ServiçoDescrição: O sistema deverá permitir ao usuário encerrar o serviço pendente.
3.1.5 Requisito funcional Consultar Mapa
F5 Consultar MapaDescrição: O sistema deverá permitir ao usuário consultar um mapa da região do endereço espeficico.
3.2 Caso de Uso
3.2.1 Caso de uso Autenticar ao Sistema
UC1 Autenticar ao SistemaAtores: ColaboradorDescrição: O caso de uso é utilizado pelo Colaborador para se autenticar ao sistema. Tem como objetivo restringir o uso do sistema aos Colaboradores autorizados.
3.2.2 Caso de uso Listar Serviços
UC2 Listar ServiçosAtores: ColaboradorDescrição: O caso de uso é utilizado pelo Colaborador para listar os serviços pendentes. Tem como objetivo informar a ordem de atendimento dos pedidos.
3.2.3 Caso de uso Consultar Serviço
UC3 Consultar ServiçoAtores: ColaboradorDescrição: O caso de uso é utilizado pelo Colaborador para consultar os detalhes do serviço. Tem como objetivo informar o nome do cliente, endereço do local e descrição do serviço.
3.2.4 Caso de uso Encerrar Serviço
UC4 Encerrar ServiçoAtores: ColaboradorDescrição: O caso de uso é utilizado pelo Colaborador para encerrar um serviço. Tem como objetivo registrar os serviços concluídos.
3.2.5 Caso de uso Consultar Mapa
UC5 Consultar MapaAtores: ColaboradorDescrição: O caso de uso é utilizado pelo Colaborador para a visualização do mapa referente ao endereço especifico. Tem como objetivo facilitar a chegada ao local desejado.
3.3 Diagrama de Caso Uso
Autenticar ao Sistema
Encerrar Serviço
Consultar Servico
Consultar Mapa
Listar Serviços
Colaborador
Figura 2 - Diagrama de Caso de Uso
3.4 Persistência
3.4.1 Modelo de Entidade-Relacionamento do Banco de Dados
FK_BAI_REF_MUN
FK_CLILOG_REF_CLI
FK_CLILOG_REF_LOG
FK_EST_REF_PAI
FK_LOG_REF_TIPLOG FK_LOG_REF_BAI
FK_MUN_REF_EST
FK_SER_REF_CLILOG
FK_SER_REF_SIT
FK_SER_REF_USU
FK_USU_REF_TIPUSU
Bairro
CodBairroNomeBairro
<pi> SerialVariable characters (255)
<M><M>
Pk_Bairro <pi>
Cliente
CodClienteNomeClienteEmailCelular
<pi> SerialVariable characters (255)Variable characters (255)Variable characters (13)
<M><M>
Pk_Cliente <pi>
ClienteLogradouro
CodClienteLogradouroNumeroComplementoCEPTelLocalFlagPrincipal
<pi> SerialVariable characters (50)Variable characters (50)Variable characters (9)Variable characters (13)Boolean
<M><M>
<M>
Pk_ClienteLogradouro <pi>
Estado
CodEstadoNomeEstadoNumEstado
<pi> SerialVariable characters (255)Integer
<M><M><M>
Pk_Estado <pi>
Logradouro
CodLogradouroNomeLogradouro
<pi> SerialVariable characters (255)
<M><M>
Pk_Logradouro <pi>
Municipio
CodMunicipioNomeMunicipioNumMunicipio
<pi> SerialVariable characters (255)Integer
<M><M><M>
Pk_Municipio <pi>
Pais
CodPaisNomePaisNumPais
<pi> SerialVariable characters (255)Integer
<M><M><M>
Pk_Pais <pi>
Servico
CodServicoDescricaoServicoDataRegistroDataConclusao
<pi> SerialVariable characters (255)Date & T imeDate & T ime
<M><M><M>
PK_SERVICO <pi>
Situacao
CodSi tuacaoNomeSi tuacao
<pi> SerialVariable characters (255)
<M><M>
Pk_Situacao <pi>
T ipoLogradouro
CodTipoLogradouroNomeTipoLogradouro
<pi> SerialVariable characters (255)
<M><M>
Pk_TipoLogradouro <pi>
TipoUsuario
CodTipoUsuarioNomeTipoUsuario
<pi> SerialVariable characters (255)
<M><M>
Pk_TipoUsuario <pi>
Usuario
CodUsuarioNomeUsuarioIdentificacaoUsuarioSenhaUsuario
<pi> SerialVariable characters (255)Variable characters (255)Variable characters (255)
<M><M><M><M>
Pk_Usuario <pi>
Figura 3 - Modelo de Entidade-Relacionamento do Banco de Dados
3.4.2 Esquema Físico do Banco de Dados
FK_BAI_REF_MUN
FK_CLILOG_REF_CLI
FK_CLILOG_REF_LOG
FK_EST_REF_PAI
FK_LOG_REF_TIPLOG FK_LOG_REF_BAI
FK_MUN_REF_EST
FK_SER_REF_CLILOG
FK_SER_REF_SIT
FK_SER_REF_USU
FK_USU_REF_TIPUSU
<<DBCreateAfter (computed)>>
<<DBCreateAfter (computed)>>
<<DBCreateAfter (computed)>>
<<DBCreateAfter (computed)>>
<<DBCreateAfter (computed)>>
<<DBCreateAfter (computed)>>
<<DBCreateAfter (computed)>>
Bairro
CodBairroNomeBairroCodMunicipio
intvarchar(255)int
<pk>
<fk>
Cl iente
CodCl ienteNomeClienteEmailCelular
intvarchar(255)varchar(255)varchar(13)
<pk>
ClienteLogradouro
CodClienteLogradouroCodLogradouroCodClienteNumeroComplementoCEPTelLocalFlagPrincipal
intintintvarchar(50)varchar(50)varchar(9)varchar(13)bi t
<pk><fk2><fk1>
Estado
CodEstadoNomeEstadoNumEstadoCodPais
intvarchar(255)intint
<pk>
<fk>
Logradouro
CodLogradouroNomeLogradouroCodTipoLogradouroCodBairro
intvarchar(255)intint
<pk>
<fk2><fk1>
Municipio
CodMunicipioNomeMunicipioNumMunicipioCodEstado
intvarchar(255)intint
<pk>
<fk>
Pais
CodPaisNomePaisNumPais
intvarchar(255)int
<pk>
Servico
CodServicoCodClienteLogradouroCodUsuarioDescricaoServicoCodSituacaoDataRegistroDataConclusao
intintintvarchar(255)intsmal ldatetimesmal ldatetime
<pk><fk1><fk3>
<fk2>
Situacao
CodSituacaoNomeSituacao
intvarchar(255)
<pk>
TipoLogradouro
CodTipoLogradouroNomeTipoLogradouro
intvarchar(255)
<pk>
TipoUsuario
CodT ipoUsuarioNomeTipoUsuario
intvarchar(255)
<pk>
Usuario
CodUsuarioNomeUsuarioIdenti ficacaoUsuarioSenhaUsuarioCodT ipoUsuario
intvarchar(255)varchar(255)varchar(255)int
<pk>
<fk>
LisBairro
CodBairroNomeBairroNomeMunicipioNomeEstadoNomePais
BairroLisMunicipio
LisCl ienteLogradouro
CodClienteLogradouroNomeCl ienteNomeTipoLogradouroNomeLogradouroComplementoNumeroNomeBairroNomeMunicipioNomeEstadoCEPNomePaisTelLocal
ClienteLogradouroLisLogradouroCliente
LisEstado
CodEstadoNomeEstadoNomePais
EstadoPais
LisLogradouro
CodLogradouroNomeT ipoLogradouroNomeLogradouroNomeBairroNomeMunicipioNomeEstadoNomePais
LogradouroTipoLogradouroLisBairro
LisMunicipio
CodMunicipioNomeMunicipioNomeEstadoNomePais
MunicipioLisEstado
LisServico
CodServicoNomeClienteEnderecoConsul taEnderecoMapaCodUsuarioCodSituacaoDescricaoServico
ServicoLisClienteLogradouro
Rea_ListaServico
Rea_Usuario
Rea_Principal
Get_EnderecoMapa
Get_ListaServico Get_Principal
Get_Servico
Get_Usuario
Set_EncerrarServico
Figura 4 - Esquema Físico do Banco de Dados
3.5 Diagrama de Estados de Navegação
Figura 5 - Diagrama de Navegação
3.6 Descrição do funcionamento do GeoServiço-Mobile
O GeoServiço-Mobile é um módulo para consultar informações controladas pelo
ERP GeoServiço-Corpore. Para exemplificar o funcionamento da aplicação,
apresentamos o diagrama de navegação na Figura 5.
O fluxo de funcionamento do GeoServiço-Mobile é apresentado abaixo:
Figura 6 - Autenticação Figura 7 - Principal Figura 8 - Lista Serviços
Figura 9 - Serviço Figura 10 - Mapa Figura 11 – Encerrar Serviço
1. Autenticação: Inicialmente o usuário deve se autenticar ao sistema, informando sua identificação e senha, Figura 6.
2. Principal: São exibidas as informações de identificação do colaborador e a quantidade de serviços pendentes, Figura 7.
2.1. O usuário pode listar os serviços pendentes.
2.2. O usuário pode atualizar a quantidade de serviços pendentes.
2.3. O usuário pode finalizar a aplicação.
3. Lista de Serviços: É exibida uma lista com os serviços pendentes, Figura 8.
3.1. O usuário pode exibir os detalhes do serviço pendente.
3.2. O usuário pode encerrar o serviço pendente.
3.3. O usuário pode visualizar um mapa da região onde o serviço será prestado.
3.4. O usuário pode retornar a tela Principal
4. Serviço: É exibido os detalhes do serviço ao usuario, Figura 9.
4.1. O usuário pode exibir o mapa da região do serviço.
4.2. O usuário pode encerrar o serviço pendente.
4.3. O usuário pode retornar a tela Listagem de Serviço
5. Mapa: É exibido o mapa da região do serviço, Figura 10.
5.1. O usuário pode atualizar o mapa.
5.2. O usuário pode retornar ao Serviço.
6. Encerrar Serviço: É exibido as informações do serviço e colaborador ao usuário, Figura 11.
6.1. O usuário encerrar o serviço.
6.2. O usuário pode retornar ao Serviço.
4 Descrição do projeto
Nos últimos anos o modelo de arquitetura orientada a serviços vem despertando a
atenção dos desenvolvedores de software com a promessa de trazer grandes ganhos para
a comunicação entre os sistemas de computação existentes. Esta arquitetura pode ser
definida como uma arquitetura de software que relaciona os componentes de um sistema
em um ambiente distribuído onde são disponibilizados serviços que podem ser
acessados dinamicamente através de uma rede (Amorim, 2004).
Seguindo essa tendência, a tecnologia Web Services implementa a maioria das
características da arquitetura do sistema. Essa solução propõe a exposição das
transações e das regras de negócios por meio de protocolos que podem ser acessados e
entendidos por qualquer linguagem de programação, em qualquer sistema operacional,
rodando em qualquer dispositivo (Costa, 2002).
Sendo assim o sistema foi dividido em três camadas, como pode ser visto na figura
12 abaixo.
Figura 12 - Arquitetura GeoServiço
Seguindo a tecnologia adotada o web service WsGeoServiço foi desenvolvido na
plataforma .NET. O MapPoint web service foi criado com base em padrões abertos da
internet como XML e SOAP, e inclui uma API que engloba os seguintes serviços:
GetEnderecoMapa: fornece um xml contendo o endereço do serviço, o identificador
do serviço deverá ser passado como parametro.
GetListaServicos: fornece um xml contendo a lista dos serviços pendentes do
colaborador, o identificador do mesmo deverá ser passado como parametro.
GetPrincipal: fornece um xml contendo as informações do colaborador e a
quantidade de serviços pendentes, o identificador do colaborador deverá ser passado
como parametro.
GetServico: fornece um xml contendo as informações do serviço, o identificador do
serviço deverá ser passado como parametro.
GetUsuario: fornece um xml contendo as informações do colaborador, o
identificador do mesmo deverá ser passado como parametro.
SetEncerrarServico: realiza o encerramento do serviço, o identificador do mesmo
deverá ser passado como parametro.
5 Dificuldades encontradas
Não foram encontradas muitas dificuldades na realização do trabalho uma vez que
as ferramentas utilizadas têm bom suporte ao tipo de aplicação desenvolvida. A
dificuldade que damos destaque está relacionada à limitação dos componetes do Visual
Studio 2005 para o desenvolvimento de aplicações em dispositovos moveis. Apontamos
o Grid como o maior problema, o mesmo pode ser visualizado na Figura 8, soluções
foram encontradas, entretando o esforço necessário estava fora do foco principal do
trabalho.
Além disso, encontramos dificuldades para exibir a informação de mapa.
Inicialmente pretendia-se usar Google Maps, que é um serviço de pesquisa e
visualização de mapas e imagens de satélite da Terra gratuito na web fornecido pela
empresa Google.
Entretando tal tecnologia não é suportada pelo browser do dispositivo móvel
avaliado. Essa situação obrigou o grupo a buscar outra solução, sendo assim adotado o
MapPoint Web Services. O serviço da empresa Microsoft possibilida a conversão final
do mapa para o formato BMP (Bitmap), a figura gerada é exibida pelo componente
PictureBox do Visual Studio, possibilitando a visualização da informação geográfica.
6 Bibliografia
Amorim, S., 2004, A Tecnologia Web Services e sua Aplicação num Sistema de Gerência de Telecomunicações, Tese de Mestrado, Universidade Estadual de Campinas, Campinas, SP.
Dev Center - WebServices, URL:http://www.microsoft.com/brasil/msdn/webservices/default.mspx, Pesquisado em 01 de dezembro de 2007.
Costa, G., 2002, O Modelo de Web Services — Como Desenvolver Aplicações em uma Nova Arquitetura de Software, Promon Business & Technology Review Series, n.4, 2002.
MapPoint Multi-platform Assistance Center, URL: http://go.mappoint.net/MappointMPAC/default.aspx?main=article.aspx&id=J10004, Pesquisado em 01 de dezembro de 2007.
Top Related