Sistema de Comunicação entre Ônibus,
Pontos de Parada e Terminais de Ônibus,
Utilizando Tecnologias Java™
Amir Neves Ferreira Velho
Cristiane Fernandes
Hugo Henrique Cassettari
Vivian Rodrigues Fiales
Introdução - Metodologia
1 - Introdução
1.1 - Metodologia
1.2 - Cenários
1.3 - Componentes
2 - Tecnologias
2.1 - Java
2.1.1 - Servlet
2.1.2 - RMI
2.1.3 - JDBC
2.1.4 - JCE
2.1.5 - J2ME
2.1.6 - Bluetooth
3 - Projeto
3.1 - Arquitetura
3.2 - Central
3.3 - Onibus, Ponto
e Terminal
3.4 - Interações
3.4 - Simulador
4 - Conclusões
Pesquisa
Análise do Sistema
Metodologia Orientada a Objetos
Diagramas UML (Unified Modeling Language)
Definição da Arquitetura do Sistema
Implementação
Simulador
Análise dos Resultados Obtidos
Ciência da Computação - 8º G - Dez/2001
Introdução - Cenários
1 - Introdução
1.1 - Metodologia
1.2 - Cenários
1.3 - Componentes
2 - Tecnologias
2.1 - Java
2.1.1 - Servlet
2.1.2 - RMI
2.1.3 - JDBC
2.1.4 - JCE
2.1.5 - J2ME
2.1.6 - Bluetooth
3 - Projeto
3.1 - Arquitetura
3.2 - Central
3.3 - Onibus, Ponto
e Terminal
3.4 - Interações
3.4 - Simulador
4 - Conclusões
Comunicação Ônibus - Ponto de Parada;
Ônibus: log temporário de informações do
ponto;
1255 - Jabaquara
Ônibus 1255 com destino ao
Jabaquara chegando.
O ônibus possui
ar-condicionado
Comunicação entre ônibus e ponto de parada
Ciência da Computação - 8º G - Dez/2001
Introdução - Cenários
1 - Introdução
1.1 - Metodologia
1.2 - Cenários
1.3 - Componentes
2 - Tecnologias
2.1 - Java
2.1.1 - Servlet
2.1.2 - RMI
2.1.3 - JDBC
2.1.4 - JCE
2.1.5 - J2ME
2.1.6 - Bluetooth
Comunicação Ponto de Parada - Ônibus;
Próximo Ponto: Av. Paulista,
altura do no 5677,
próximo ao Trianon
3333 - Lapa
3 - Projeto
3.1 - Arquitetura
3.2 - Central
3.3 - Onibus, Ponto
e Terminal
3.4 - Interações
3.4 - Simulador
4 - Conclusões
Comunicação entre ponto de ônibus e ônibus
Ciência da Computação - 8º G - Dez/2001
Introdução - Cenários
1 - Introdução
1.1 - Metodologia
1.2 - Cenários
1.3 - Componentes
2 - Tecnologias
2.1 - Java
2.1.1 - Servlet
2.1.2 - RMI
2.1.3 - JDBC
2.1.4 - JCE
2.1.5 - J2ME
2.1.6 - Bluetooth
3 - Projeto
3.1 - Arquitetura
3.2 - Central
3.3 - Onibus, Ponto
e Terminal
3.4 - Interações
3.4 - Simulador
Comunicação Ônibus - Terminal de Ônibus;
Conexão com a Central Operacional;
Terminal: log de erros dos ônibus e pontos;
Terminal Parque Dom Pedro
1255 - Jabaquara
3333 - Lapa
4 - Conclusões
Comunicação entre ônibus e terminal de ônibus
Ciência da Computação - 8º G - Dez/2001
Introdução - Componentes
1 - Introdução
1.1 - Metodologia
1.2 - Cenários
1.3 - Componentes
2 - Tecnologias
2.1 - Java
2.1.1 - Servlet
2.1.2 - RMI
2.1.3 - JDBC
2.1.4 - JCE
2.1.5 - J2ME
2.1.6 - Bluetooth
3 - Projeto
3.1 - Arquitetura
3.2 - Central
3.3 - Onibus, Ponto
e Terminal
3.4 - Interações
3.4 - Simulador
Componentes do Sistema
CadastroApp
CentralOperacionalApp
OnibusApp
TerminalApp
4 - Conclusões
PontoApp
Diagrama inicial de componentes
Ciência da Computação - 8º G - Dez/2001
Tecnologias Utilizadas
1 - Introdução
1.1 - Metodologia
1.2 - Cenários
1.3 - Componentes
2 - Tecnologias
2.1 - Java
2.1.1 - Servlet
2.1.2 - RMI
2.1.3 - JDBC
2.1.4 - JCE
2.1.5 - J2ME
2.1.6 - Bluetooth
3 - Projeto
3.1 - Arquitetura
3.2 - Central
3.3 - Onibus, Ponto
e Terminal
3.4 - Interações
3.4 - Simulador
4 - Conclusões
Tecnologia Base para o Projeto: Java™
Por quê?
Portabilidade;
Escalabilidade;
Extensibilidade;
Grande Envolvimento da Sociedade no
Desenvolvimento de APIs para Tecnologias Novas
(exemplo: Bluetooth)
Padrão para Rede Wireless: Bluetooth™
Ciência da Computação - 8º G - Dez/2001
Java™
1 - Introdução
1.1 - Metodologia
1.2 - Cenários
1.3 - Componentes
2 - Tecnologias
2.1 - Java
2.1.1 - Servlet
2.1.2 - RMI
2.1.3 - JDBC
2.1.4 - JCE
2.1.5 - J2ME
2.1.6 - Bluetooth
3 - Projeto
3.1 - Arquitetura
3.2 - Central
3.3 - Onibus, Ponto
e Terminal
3.4 - Interações
3.4 - Simulador
Linguagem Orientada a Objetos;
Provê Independência de Plataforma;
Tem uma Evolução Rápida
APIs são construídas a partir do JCP (Java Community
Process)
4 - Conclusões
Ciência da Computação - 8º G - Dez/2001
Java™ Servlets
1 - Introdução
1.1 - Metodologia
1.2 - Cenários
1.3 - Componentes
2 - Tecnologias
2.1 - Java
2.1.1 - Servlet
2.1.2 - RMI
2.1.3 - JDBC
2.1.4 - JCE
2.1.5 - J2ME
2.1.6 - Bluetooth
3 - Projeto
3.1 - Arquitetura
3.2 - Central
3.3 - Onibus, Ponto
e Terminal
3.4 - Interações
3.4 - Simulador
4 - Conclusões
API Java™ para Construção de Aplicações
que Funcionam no Âmbito da Web;
Utilizada na Central Operacional;
Por quê Servlets?
Mais Eficientes e Escaláveis que Programas CGI
(Common Gateway Interface);
Possibilidade de Interação com o Servidor;
Portabilidade.
Ciência da Computação - 8º G - Dez/2001
RMI (Remote Method Invocation)
1 - Introdução
1.1 - Metodologia
1.2 - Cenários
1.3 - Componentes
2 - Tecnologias
2.1 - Java
2.1.1 - Servlet
2.1.2 - RMI
2.1.3 - JDBC
2.1.4 - JCE
2.1.5 - J2ME
2.1.6 - Bluetooth
3 - Projeto
3.1 - Arquitetura
3.2 - Central
3.3 - Onibus, Ponto
e Terminal
3.4 - Interações
3.4 - Simulador
4 - Conclusões
Arquitetura Java™ para Sistemas
Distribuídos;
Utilizado na Central Operacional;
Por quê RMI?
Mais Simples que CORBA (Common Object Request
Broker Architecture);
Necessidade da Construção de uma Servlet com
Acesso Remoto.
Ciência da Computação - 8º G - Dez/2001
JDBC (Java™ Database Connectivity)
1 - Introdução
1.1 - Metodologia
1.2 - Cenários
1.3 - Componentes
2 - Tecnologias
2.1 - Java
2.1.1 - Servlet
2.1.2 - RMI
2.1.3 - JDBC
2.1.4 - JCE
2.1.5 - J2ME
2.1.6 - Bluetooth
3 - Projeto
3.1 - Arquitetura
3.2 - Central
3.3 - Onibus, Ponto
e Terminal
3.4 - Interações
3.4 - Simulador
4 - Conclusões
API Java™ para Acesso a Bancos de Dados
Relacionais;
Utilizada na Central Operacional;
Por quê JDBC?
Necessidade de Armazenamento e Recuperação dos
Dados Relacionados à Aplicação
dados do ponto de parada (Exemplo: localização)
dados das linhas (Exemplo: ônibus)
É o Meio de Acesso a Bases de Dados Através da
Linguagem Java™.
Ciência da Computação - 8º G - Dez/2001
JCE (Java™ Criptography Extension)
1 - Introdução
1.1 - Metodologia
1.2 - Cenários
1.3 - Componentes
2 - Tecnologias
2.1 - Java
2.1.1 - Servlet
2.1.2 - RMI
2.1.3 - JDBC
2.1.4 - JCE
2.1.5 - J2ME
2.1.6 - Bluetooth
3 - Projeto
3.1 - Arquitetura
3.2 - Central
3.3 - Onibus, Ponto
e Terminal
3.4 - Interações
3.4 - Simulador
4 - Conclusões
API Java™ que Fornece Esquemas de
Segurança;
Utilizada em Todas as Aplicações do Sistema
(Central Operacional, Ônibus, Ponto de Parada e
Terminal de Ônibus);
Por quê JCE?
Necessidade da Utilização de Criptografia
RSA - Rivest Shamir Adleman
Ciência da Computação - 8º G - Dez/2001
JCE (Java™ Criptography Extension)
1 - Introdução
1.1 - Metodologia
1.2 - Cenários
1.3 - Componentes
2 - Tecnologias
2.1 - Java
2.1.1 - Servlet
2.1.2 - RMI
2.1.3 - JDBC
2.1.4 - JCE
2.1.5 - J2ME
2.1.6 - Bluetooth
Outros Níveis de Segurança
Central Operacional
Autenticação no Acesso Via Browser;
Armazenamento de Dados dos Acessos Autorizados e
Não-Autorizados;
3 - Projeto
3.1 - Arquitetura
3.2 - Central
3.3 - Onibus, Ponto
e Terminal
3.4 - Interações
3.4 - Simulador
vivian; Mon Nov 12 17:19:11 GMT-02:00 2001-11-12
amir; Mon Nov 12 17:30:01 GMT-02:00 2001-11-12
cristiane; Mon Nov 12 17:30:05 GMT-02:00 2001-11-12
marcos; Mon Nov 12 17:31:00 GMT-02:00 2001-11-12
hugo; Mon Nov 12 17:32:00 GMT-02:00 2001-11-12
amir; Tue Nov 13 11:00:00 GMT-02:00 2001-11-13
vivian; Tue Nov 13 12:00:00 GMT-02:00 2001-11-13
luciano; Tue Nov 13 12:20:00 GMT-02:00 2001-11-13
4 - Conclusões
Classe ibus.LoginHandler
Exemplo do Log de Monitoração
Ciência da Computação - 8º G - Dez/2001
J2ME (Java™ 2 Micro Edition)
1 - Introdução
1.1 - Metodologia
1.2 - Cenários
1.3 - Componentes
2 - Tecnologias
2.1 - Java
2.1.1 - Servlet
2.1.2 - RMI
2.1.3 - JDBC
2.1.4 - JCE
2.1.5 - J2ME
2.1.6 - Bluetooth
3 - Projeto
3.1 - Arquitetura
3.2 - Central
3.3 - Onibus, Ponto
e Terminal
3.4 - Interações
3.4 - Simulador
Versão do Java™ para Dispositivos Pequenos;
Utilizado no Ônibus, Ponto de Parada;
Por quê J2ME?
Funcionamento da Aplicação em Dispositivos
Pequenos;
APIs Java™ para Bluetooth™ Serão Construídas
com Base no J2ME.
4 - Conclusões
Ciência da Computação - 8º G - Dez/2001
APIs Java™ para Bluetooth™
1 - Introdução
1.1 - Metodologia
1.2 - Cenários
1.3 - Componentes
2 - Tecnologias
2.1 - Java
2.1.1 - Servlet
2.1.2 - RMI
2.1.3 - JDBC
2.1.4 - JCE
2.1.5 - J2ME
2.1.6 - Bluetooth
JSR (Java™ Specification Request) 82;
http://www.jcp.org/jsr/detail/82.jsp
Baseadas no J2ME;
Data para Revisão Pública: 29/Dez/2001;
3 - Projeto
3.1 - Arquitetura
3.2 - Central
3.3 - Onibus, Ponto
e Terminal
3.4 - Interações
3.4 - Simulador
4 - Conclusões
Ciência da Computação - 8º G - Dez/2001
Projeto - Arquitetura
1 - Introdução
1.1 - Metodologia
1.2 - Cenários
1.3 - Componentes
2 - Tecnologias
2.1 - Java
2.1.1 - Servlet
2.1.2 - RMI
2.1.3 - JDBC
2.1.4 - JCE
2.1.5 - J2ME
2.1.6 - Bluetooth
3 - Projeto
3.1 - Arquitetura
3.2 - Central
3.3 - Onibus, Ponto
e Terminal
3.4 - Interações
3.4 - Simulador
4 - Conclusões
Ponto
App
Ponto App
(Aplicação Java)
J2ME
Ponto
App
Rede Bluetooth
Onibus
App
J2ME
Onibus App
(Aplicação Java)
J2ME
Onibus
App
Rede Bluetooth
J2ME / RMI
JCE
Terminal App
(Aplicação Java)
Servlet / RMI
JCE
Protocolo HTTP
Central Operacional App
(Aplicação Java)
JDBC
Arquitetura em 3 camadas do ônibus, ponto e terminal
Ciência da Computação - 8º G - Dez/2001
Projeto - Arquitetura
1 - Introdução
1.1 - Metodologia
1.2 - Cenários
1.3 - Componentes
2 - Tecnologias
2.1 - Java
2.1.1 - Servlet
2.1.2 - RMI
2.1.3 - JDBC
2.1.4 - JCE
2.1.5 - J2ME
2.1.6 - Bluetooth
3 - Projeto
3.1 - Arquitetura
3.2 - Central
3.3 - Onibus, Ponto
e Terminal
3.4 - Interações
3.4 - Simulador
Terminal App
(Aplicação Java)
Terminal
App
Terminal
App
Cadastro App
(Browser HTML)
JCE
Cadastro
App
Cadastro
App
Protocolo HTTP
Servlet / RMI
JCE
Central
Operacional App
(Aplicação Java)
JDBC
Protocolo Proprietário do Banco
de Dados
4 - Conclusões
Banco de Dados Relacional
(Microsoft™ Access)
Arquitetura em 3 camadas da central operacional
Ciência da Computação - 8º G - Dez/2001
Central Operacional
1 - Introdução
1.1 - Metodologia
1.2 - Cenários
1.3 - Componentes
2 - Tecnologias
2.1 - Java
2.1.1 - Servlet
2.1.2 - RMI
2.1.3 - JDBC
2.1.4 - JCE
2.1.5 - J2ME
2.1.6 - Bluetooth
3 - Projeto
3.1 - Arquitetura
3.2 - Central
3.3 - Onibus, Ponto
e Terminal
3.4 - Interações
3.4 - Simulador
Esquema do Banco de Dados
sentido: String
linha
parada
nome_referencia: String [1,n]
ruaavenida: String
numero: String
complemento: String
bairro: String
[0,n]
estado: String
cep: String
ip: String
4 - Conclusões
terminal
ponto
idponto: String
idter: String
tem
[1,n]
idlin:String
destino1:String
destino2:String
tem
[1,1]
[0,n]
[0,n]
tem
tem
onibus
idbus: String
ip: String
[0,n]
[0,n]
caracteristica
idcar: String
nome: String
valor: String
Diagrama entidade-relacionamento estendido
Ciência da Computação - 8º G - Dez/2001
Central Operacional
1 - Introdução
1.1 - Metodologia
1.2 - Cenários
1.3 - Componentes
2 - Tecnologias
2.1 - Java
2.1.1 - Servlet
2.1.2 - RMI
2.1.3 - JDBC
2.1.4 - JCE
2.1.5 - J2ME
2.1.6 - Bluetooth
3 - Projeto
3.1 - Arquitetura
3.2 - Central
3.3 - Onibus, Ponto
e Terminal
3.4 - Interações
3.4 - Simulador
Diagrama de Classes
Mostra que a Aplicação é uma Servlet
Herda de javax.servlet.http.HttpServlet
Mostra que a Aplicação tem Acesso Via RMI
Implementa java.rmi.Remote
Mostra os Serviços Fornecidos pela Aplicação
4 - Conclusões
Diagrama de classes da central operacional
Ciência da Computação - 8º G - Dez/2001
Central Operacional
1 - Introdução
1.1 - Metodologia
1.2 - Cenários
1.3 - Componentes
Acesso ao Banco de Dados
2 - Tecnologias
2.1 - Java
2.1.1 - Servlet
2.1.2 - RMI
2.1.3 - JDBC
2.1.4 - JCE
2.1.5 - J2ME
2.1.6 - Bluetooth
3 - Projeto
3.1 - Arquitetura
3.2 - Central
3.3 - Onibus, Ponto
e Terminal
3.4 - Interações
3.4 - Simulador
Classe ibus.util.DabataseManager
4 - Conclusões
Ciência da Computação - 8º G - Dez/2001
Ônibus, Ponto e Terminal
1 - Introdução
1.1 - Metodologia
1.2 - Cenários
1.3 - Componentes
2 - Tecnologias
2.1 - Java
2.1.1 - Servlet
2.1.2 - RMI
2.1.3 - JDBC
2.1.4 - JCE
2.1.5 - J2ME
2.1.6 - Bluetooth
Diagrama de Classes
Especifica os Serviços Ônibus, Ponto e Terminal
Verifica-se a Existência do Log
O Terminal possui um conexão (via RMI) com a
Central
3 - Projeto
3.1 - Arquitetura
3.2 - Central
3.3 - Onibus, Ponto
e Terminal
3.4 - Interações
3.4 - Simulador
4 - Conclusões
Diagrama de classes do ônibus, ponto e terminal
Ciência da Computação - 8º G - Dez/2001
Ônibus, Ponto e Terminal
1 - Introdução
1.1 - Metodologia
1.2 - Cenários
1.3 - Componentes
2 - Tecnologias
2.1 - Java
2.1.1 - Servlet
2.1.2 - RMI
2.1.3 - JDBC
2.1.4 - JCE
2.1.5 - J2ME
2.1.6 - Bluetooth
3 - Projeto
3.1 - Arquitetura
3.2 - Central
3.3 - Onibus, Ponto
e Terminal
3.4 - Interações
3.4 - Simulador
Log de Erros
Mon
Mon
Mon
Mon
Mon
Tue
Tue
Tue
Nov
Nov
Nov
Nov
Nov
Nov
Nov
Nov
19
19
19
19
19
20
20
20
17:19:11
17:30:01
17:30:05
17:31:00
17:32:00
11:00:00
12:00:00
12:20:00
GMT-02:00
GMT-02:00
GMT-02:00
GMT-02:00
GMT-02:00
GMT-02:00
GMT-02:00
GMT-02:00
2001-11-19;
2001-11-19;
2001-11-19;
2001-11-19;
2001-11-19;
2001-11-20;
2001-11-20;
2001-11-20;
10.0.3.19; 10.0.3.29; Erro durante Recebimento de Mensagem
10.0.1.180; 10.0.3.27; Dispositivo não encontrado
10.0.1.180; 10.0.3.29; Erro durante Envio de Mensagem
10.0.3.19; 10.0.3.28; Dado esperado não Recebido
10.0.3.29; Indeterminado; Erro no Estabelecimento da Conexão
10.0.2.221; 10.0.3.28; Erro durante Recebimento de Mensagem
10.0.2.221; Indeterminado; Erro no Estabelecimento da Conexão
10.0.3.28; 10.0.3.19; Erro durante Envio de Mensagem
Exemplo do Log de Erros
4 - Conclusões
Ciência da Computação - 8º G - Dez/2001
: Onibus
Interações
: Ponto
: Usuario
endereco do ponto(ip)
1 - Introdução
1.1 - Metodologia
1.2 - Cenários
1.3 - Componentes
2 - Tecnologias
2.1 - Java
2.1.1 - Servlet
2.1.2 - RMI
2.1.3 - JDBC
2.1.4 - JCE
2.1.5 - J2ME
2.1.6 - Bluetooth
3 - Projeto
3.1 - Arquitetura
3.2 - Central
3.3 - Onibus, Ponto
e Terminal
3.4 - Interações
3.4 - Simulador
4 - Conclusões
Diagrama de Seqüência Ônibus - Ponto
anuncia(String)
informações
do
Especificam
a interação
entre o ônibus e o ponto
ponto (descrição)
anuncia(String)
informações do
ônibus (descrição)
anuncia(String)
informações do
ônibus (descrição)
anuncia(String)
enviaLog(Conexao)
informações do
ponto (descrição)
Se houver erros,
envia-os, senão
envia apenas sinal
Diagrama de seqüência – ônibus e ponto de parada
Ciência da Computação - 8º G - Dez/2001
Central Operacional
: Onibus
: Terminal
: Usuario
: Bus4AllServer
Interações
endereco do onibus (ip)
anuncia(String)
1 - Introdução
1.1 - Metodologia
1.2 - Cenários
1.3 - Componentes
2 - Tecnologias
2.1 - Java
2.1.1 - Servlet
2.1.2 - RMI
2.1.3 - JDBC
2.1.4 - JCE
2.1.5 - J2ME
2.1.6 - Bluetooth
3 - Projeto
3.1 - Arquitetura
3.2 - Central
3.3 - Onibus, Ponto
e Terminal
3.4 - Interações
3.4 - Simulador
4 - Conclusões
informações do
terminal (descrição)
Diagrama de Seqüência Ônibus - Terminal
anuncia(String)
informações do
ônibus (descrição)a interação entre o ônibus e o terminal
Especificam
anuncia(String)
informações do
ônibus (descrição)
anuncia(String)
enviaLog(Conexao)
Se houver erros,
envia-os, senão
envia apenas sinal
informações do
terminal (descrição)
verifica alteracoes no onibus (ip)
alteracoes (novos dados)
alteracoes (novos dados)
se houver,
senao apenas envia
sinal
Se houver, senão
envia apenas sinal
Diagrama de seqüência – ônibus e terminal
Ciência da Computação - 8º G - Dez/2001
Simulador
1 - Introdução
1.1 - Metodologia
1.2 - Cenários
1.3 - Componentes
2 - Tecnologias
2.1 - Java
2.1.1 - Servlet
2.1.2 - RMI
2.1.3 - JDBC
2.1.4 - JCE
2.1.5 - J2ME
2.1.6 - Bluetooth
3 - Projeto
3.1 - Arquitetura
3.2 - Central
3.3 - Onibus, Ponto
e Terminal
3.4 - Interações
3.4 - Simulador
4 - Conclusões
Desenvolvido sobre J2SE;
Rede Convencional;
Aplicações Completas;
Janela de Visualização.
Versão em J2ME;
Código Equivalente.
Ciência da Computação - 8º G - Dez/2001
Conclusões
1 - Introdução
1.1 - Metodologia
1.2 - Cenários
1.3 - Componentes
2 - Tecnologias
2.1 - Java
2.1.1 - Servlet
2.1.2 - RMI
2.1.3 - JDBC
2.1.4 - JCE
2.1.5 - J2ME
2.1.6 - Bluetooth
3 - Projeto
3.1 - Arquitetura
3.2 - Central
3.3 - Onibus, Ponto
e Terminal
3.4 - Interações
3.4 - Simulador
Objetivos Alcançados;
Protótipo;
Tecnologias Utilizadas;
Trabalhos Futuros;
Contribuição Oferecida.
4 - Conclusões
Ciência da Computação - 8º G - Dez/2001
Perguntas ?
Igreja Nossa Senhora da Pena - Porto Seguro
Cidade Histórica - Porto Seguro
Marco do Descobrimento - Porto Seguro
Praia de Malibu - Porto Seguro
Porto Seguro
Recife de Fora - Porto Seguro
Abrolhos
Marco do Descobrimento - Porto Seguro
Taperapuan - Porto Seguro
Download

defesa - Hugo Henrique Cassettari