O documento descreve um protótipo de sistema de gerenciamento de rotas para transporte coletivo desenvolvido usando Java, JSP, API Google Maps e banco de dados PostgreSQL. O sistema permite gerenciar rotas de forma automatizada, calculando distâncias e custos.
Artigo de Protótipo de Sistema de Gerenciamento de Rotas para Transporte Coletivo
1. _______________________________
¹ Cursando Ciência da Computação - 9 ª Fase (UNOESC).
E-mail: a_panaccione@yahoo.com.br
PROTÓTIPO DE SISTEMA DE GERENCIAMENTO DE ROTAS PARA
TRANSPORTE COLETIVO
Alessandro Marchi Panaccione ¹
RESUMO
O protótipo de sistema de gerenciamento de rotas para transportes coletivos
tem como objetivo, o gerenciamento das rotas de forma automatizada,
utilizando a API Google Maps para mostrar as rotas, e calcular a distancia entre
o ponto inicial e final, assim obtemos cálculos de custos, manutenções para
cada rota e o controle de históricos de manutenções dos veículos envolvidos.
Através de uma analise para verificar possíveis problemas neste tipo de
gerenciamento, e a partir desta criar diagramas de casos de uso e seqüência,
como resultado a divisão de módulos, e com isso uma visão detalhada de todo
sistema. A linguagem JAVA juntamente com JSP visa à segurança e o
desempenho de todo processo, também é utilizada API de conexão com banco
de dados o JDBC para que ofereça uma flexibilidade na conexão do sistema
com outros SGBDs que obtenham a tecnologia ODBC, assim sendo implantado
o banco de dados PostgreSQL, isso para que vários usuários ao mesmo tempo
e de qualquer lugar com conexão a internet, possam acessar o sistema.
Palavras - chaves: JSP, API Google Maps, Rotas, PostgreSQL, Diagramas
ABSTRACT
The prototype of the managing system of collective transportation routes has as
objective, the managing of the routes in an automatized way, using API Google
Maps to show the routes, and calculate the distance between the initial position
up to the final one, this way we get calculations of costs, maintenance for each
2. route and the control of the maintenance’s historic of the involved vehicles.
Through an analysis to check the possible problems in this kind of managing,
and from this to create diagrams of cases of usage and sequence, as resulted
the modules’ division, and with this a detailed view of the whole system. JAVA
language, together with JSP, aims the security and the performance of the
whole process, API connection with data bank is also used to offer flexibility of
the system’s connection with other SGBDs that obtain ODBC technology, being
impacted the data bank PostgreSQL, with the intuition that several users can
access the system from anywhere at the same time.
Key-words: JSP, API Google Maps, Routes, PostgreSQL , Diagrams.
1 INTRODUÇÃO
O gerenciamento de rotas para empresa de transportes coletivos,
controla de forma automatizada as informações das rotas e veículos
cadastrados, através do estudo de casos analisa-se os problemas com o
gerenciamento das rotas utilizando os conceitos de UML, para modelar o
sistema com diagramas de casos e diagramas de classes, a fim de obter maior
visualização do projeto, e um modo de padronizar as formas de modelagem do
sistema.
Utilizando para a prototipação do sistema a linguagem JAVA totalmente
Orientada a Objetos, permite a herança e a reutilização de códigos de forma
dinâmica e estática, onde proporciona uma maior flexibilidade quanto as
bibliotecas que podem ser usadas, a principal biblioteca utilizada neste projeto
é a Application Programming Interface (API) Google Maps, para a
demonstração das rotas e os cálculos de pontos iniciais e finais das rotas
escolhidas, através do Java Database Connectivity (JDBC), permite o acesso a
banco de dados através de uma conexão remota aos SGBDs que possuam
driver Open Data Base Connectivity (ODBC) ou compatível.
3. Banco de dados Postgresql será utilizado para gravação dos dados,
tendo suporte ao driver ODBC, sendo um dos melhores Sistemas Gerenciador
de Bancos de Dados (SGBD) disponíveis no mercado, pela capacidade de lidar
com um grande volume de dados.
Com o uso dessas tecnologias o protótipo traz uma maior segurança e
confiabilidade nas informações apresentadas para o usuário e gravadas na
base de dados.
2 DESENVOLVIMENTO
A linguagem Java nos permite trabalhar com diversos tipos de
segmentos assim como o Java Enterprise Edition (JEE) uma plataforma voltada
para o desenvolvimento web, tendo um sistema acessível de qualquer ponto
com uma conexão a internet.
2.1 Java
Linguagem Java, alem de ser uma linguagem multiplataforma e com
licença gratuita, é muito robusta por ser derivada da linguagem C/C++, com
isso muitos programadores migraram de suas linguagens, por ela ter uma
sintaxe similar as mesmas. (DEITEL, 2005).
A Linguagem também pode ser embutida em códigos HTML onde
através dessas chamadas pode executar um programa que esta em um
servidor onde que no momento de sua execução é transferido para a máquina
do usuário, isso também pode ser chamado de um applet.
Existem dentro da linguagem vários conjuntos de classes de diversas
funcionalidades onde ajuda e auxilia o programador no tempo de
desenvolvimento, alguns exemplos são as classes de conexão com banco de
dados, rede e dentre outras.
4. 2.1.1 Biblitotecas Java
A plataforma Java como não é dependente de qualquer sistema
operacional, as suas aplicações não podem depender das bibliotecas
disponibilizadas nesses sistemas, então assim elas possuem um grande
conjunto de bibliotecas de classes, que ali se encontra praticamente o mesmo
numero de funções encontradas na maioria dos sistemas operacionais.
Desta forma, de acordo com Deitel e Deitel (2005,p.7)
Utilizar classes e métodos da API do Java em vez de escrever suas
próprias versões pode melhorar o desempenho de programas, porque
eles são cuidadosamente escritos para executar de modo eficiente.
Essa técnica também diminui o tempo de desenvolvimento dos
programas.
As Bibliotecas Java que são conhecidas também como API do Java ou
Java API, disponibiliza ao programador um conjunto de funções para realizar
tarefas conforme a necessidade encontrada, como manipulação de String,
manipulação de interface, integração com outras aplicações.
Elas são principalmente disponibilizadas por fornecedores de
compilador, e também por fornecedores de softwares independentes.
2.1.2 Java 2 Enterprise Edition
Java 2 Enterprise Edition ( J2EE), atualmente Java Enterprise Edition 5
(JEE 5), iniciou –se da observação da Sun Microsystems, que viu um grande
avanço da tecnologia Java/RMI, assim cada vez maior o investimento nas
aplicações distribuídas como acesso a banco de dados, aplicações web,
execução de processos transacionais, dentre outros muitos (TEMPLE, 2004)
As tecnologias como JEE tem como objetivo oferecer padrões para o
suporte a desenvolvimentos empresariais para realização de negócios por meio
de tecnologias da internet. Uma aplicação em JEE pode ter três ou quatro
5. camadas como a camada do cliente( Browser), camada Web (servlets,
servidores, outros) e camada de dados (Banco de dados), e ainda em algumas
aplicações a camada comercial ( Cobrança Bancaria, Consulta SPC, outros).
2.1.3 JavaServer Pages ( JSP )
O JSP baseia-se na tecnologia Java Servlet, foi criada para que o
desenvolvimento de aplicações dinâmicas Java web seja efetuada com maior
rapidez e simplicidade. (FURGERI, 2008)
Afirmam Hall e Brown (2005, p.8) que:
Existe uma quantidade razoável de boas tecnologias lá fora. Mas se
os fornecedores não podem suportá-las e os desenvolvedores não
sabem como usá-las, para que servem? A tecnologia servlet e JSP é
suportada por servidores Apache, Oracle, IBM, Sysbase, BEA,
Macromedia, Caucho, Sun/iPlanet, New Atlanta, ATG, Fujitsu, Lutris,
Silverstream, o World Wide Web Consortium (W3C), e muitas outras.
Podendo assim somente alterar o código Java ou o HTML sem a
necessidade da alteração de toda aplicação, por o JSP tem o recurso da
recopilação automática, onde as alterações já aparecem automaticamente na
aplicação para o usuário.
2.2 PostgreSQL
Segundo (Postgresql Global Development Group, 2010), é um SGBD
utilizado para armazenar informações de soluções de informática em todas as
áreas de negócios existentes, bem como administrar o acesso a estas
informações, ficando assim encarregados de armazenar os dados e gerenciar o
acesso de cada informação de acorde com regras previamente definidas, com
6. suporte a operações Atomacidade, Consistência, Isolamento e Durabilidade
(ACID) juntamente com a Integridade de entidade onde as tabelas são
compostas por chaves que traz consigo a integridade para que não haja
informações não referenciadas em sua base de dados.
2.3 JAVA DATABASE CONNECTIVITY (JDBC)
JDBC (Java Database Connectivity) é uma API (Application Program
Interface) para acesso a SGBD (Sistemas Gerenciadores de Banco de Dados)
relacionais por meio de comandos SQL (Structured Query Language), assim
não havendo a necessidade de sua aplicação ser voltada somente a um Banco
de Dados, mas sim ligado diretamente com a API que atrás de drivers de
conexão, fazem esta comunicação. (FONTES, 2010).
Assim podendo comunicar-se na maioria dos Sitemas Operacionais e
com qualquer banco de dados.
Fluxograma 1: Conexão API JDBC com driver do SGBD
Fonte: FONTES (2010).
2.4 API GOOGLE MAPS
Google Maps é aplicativo de serviço e tecnologia oferecido pela Google,
fazendo um mapeamento web, com esta API podemos embutir em sites e
7. sistemas web a funcionalidade de verificar ruas, planejar rotas dentre outras
(GOOGLE, 2008).
Em 2005 a Google lançou esta API permitindo desenvolvedores integrar
em seus sistemas e web sites, para realizar a geocodificação assim gerando
sentidos de condução. Hoje a API Google Maps já obtêm vários sites e
sistemas que a utilizam tornando assim a aplicação mais utilizada em
desenvolvimento.
2.5 Diagramas
Segundo (MELO, 2004) a Unified Modeling Language ( UML ) é a
sucessora da linguagem de modelagem encontrada nos métodos
Booch,OOSE/Jacobson,OMT e outros como Modelos de Entidades e
Relacionamentos, e Durante 1996 Rumbaugh, Booch e Jacobson no método
que passou a chamar de UML e a Object Management Group (OMG) iniciou
um esforço para padronização na área de métodos, seus esforços resultaram
nas versões 0.9 e 0.91 da UML em junho e outubro de 1996 respectivamente e
somente em setembro de 1997 liberaram a versão 1.1 da UML e em dezembro
a mesma foi aprovada como padrão pela OMG, com a unificação dos métodos
lançou-se dois objetivos
Acabou com as diferenças existentes entre os métodos anteriores;
Unificaram as perspectivas entre os diferentes tipos de sistemas, fases
de desenvolvimento e conceitos internos.
A UML tem como objetivo a padronização de todas as formas de
modelagem, assim como uma melhor documentação, especificação e uma
melhor visualização de todo o projeto lógico do sistema.
Temos entre elas o diagrama de classes onde se define todas as
classes que o sistema necessita e é base para todos os outros diagramas
como de seqüência, dados e comunicação e também para o desenvolvimento
do sistema.
8. Diagrama 1: Diagrama de Classes do Protótipo de sistema de gerenciamento de rotas.
Fonte: (O Autor)
Este diagrama detalha a estrutura do projeto onde temos as classes que
iram servir para a criação do banco de dados e os relacionamentos entre as
classes onde temos a classe rota para o registro das rotas do ponto inicial ao
ponto final onde é relacionada com o veiculo e o motorista que deve ser
incluído para esta rota e também o registro dos pontos de passagem da rota,
essa modelagem ajuda no desenvolvimento das regras para inclusão, alteração
de registros.
3 CONSIDERAÇÕES FINAIS
O protótipo do sistema de gerenciamento de rotas vem trazer ao usuário
maior comodidade a respeito de todo gerenciamento de custos e controle de
rotas, trazendo maior confiabilidade para as informações, sendo ele prototipado
na linguagem JAVA e banco de dados PostgreSQL. O protótipo integrado com
a API do Google Maps trazendo os mapas e os cálculos de rotas
automaticamente assim melhorando a usabilidade, onde o usuário não
necessita a inclusão destes valores evitando erros.
9. Com o protótipo o usuário poderá visualizar melhor sua frota em
conjunto com as rotas, assim as informações adicionadas a cada percurso da
rota trazendo as informações de custos e benefícios mais preciso.
Assim automatizando todo gerenciamento de rotas para um maior
controle de sua frota e um melhor redirecionamento de seus veículos assim
ganhando tempo com na execução de cálculos de custo, e a rentabilidade das
rotas da empresa.
4 REFERÊNCIAS BIBLIOGRÁFICAS
DEITEL,H.M; DEITEL, P.J. Java como programar. Tradução Edson
Furmankiewvicv. – 6.ed. – São Paulo: Person Education do Brasil,2005. 1152
p.
FONTES, Roberto. JDBC: Java Database Connectivity. Fluxograma 2. 2010.
Disponivel em:
<http://www.fontes.pro.br/educacional/materialpaginas/java/arquivos/jdbc/jdbc.p
hp> Acesso em: 12 set. 2010
FURGERI, Sérgio. Java 6: Ensino Didático: Desenvolvendo e Implementando
Aplicações. – 2.ed. – São Paulo: Érica,2008. 352 p.
GOOGLE. Google Maps Data API. 2008. Disponível
em:<http://code.google.com/intl/pt-BR/apis/maps/documentation/mapsdata/ >.
Acesso em: 12 out. 2010
HALL, Marty; BROWN, Larry. Core Servlets e JavaServer Pages. Volume 1:
Tecnologia Core. Tradução Cláudio Rodrigues Pistilli. Rio de Janeiro: Ciência
Moderna Ltda, 2005. 593 p.
MELO, Ana Cristina.Desenvolvendo aplicações com UML 2.0: do conceitual
à implementação / Ana Cristina Melo. – 2.ed. – Rio de Janeiro: Brasport, 2004.
PostgreSQL Global Development Group. History. Disponível
em:<http://www.postgresql.org/about/history > Acesso em: 10 out. 2010
TEMPLE, André et al. JSP, SERVLET e J2EE.Esquema. 2004. Disponivel em:
<http://www.inf.ufsc.br/~bosco/downloads/livro-jsp-servlets-j2ee.pdf >. Acesso
em: 25 set. 2010