280 likes | 455 Views
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. Pesquisa Análise do Sistema Metodologia Orientada a Objetos
E N D
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 • 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
1255 - Jabaquara Ônibus 1255 com destino ao Jabaquara chegando. O ônibus possui ar-condicionado Comunicação entre ônibus e ponto de parada Introdução - Cenários • Comunicação Ônibus - Ponto de Parada; • Ônibus: log temporário de informações do ponto;
Próximo Ponto: Av. Paulista, altura do no 5677, próximo ao Trianon 3333 - Lapa Comunicação entre ponto de ônibus e ônibus Introdução - Cenários • Comunicação Ponto de Parada - Ônibus;
1255 - Jabaquara 3333 - Lapa Terminal Parque Dom Pedro Comunicação entre ônibus e terminal de ônibus Introdução - Cenários • Comunicação Ônibus - Terminal de Ônibus; • Conexão com a Central Operacional; • Terminal: log de erros dos ônibus e pontos;
CadastroApp CentralOperacionalApp OnibusApp TerminalApp PontoApp Diagrama inicial de componentes Introdução - Componentes • Componentes do Sistema
Tecnologias Utilizadas • 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™
Java™ • 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)
Java™ Servlets • 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.
RMI (Remote Method Invocation) • 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.
JDBC (Java™ Database Connectivity) • 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™.
JCE (Java™ Criptography Extension) • 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
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 Exemplo do Log de Monitoração Classe ibus.LoginHandler JCE (Java™ Criptography Extension) • Outros Níveis de Segurança • Central Operacional • Autenticação no Acesso Via Browser; • Armazenamento de Dados dos Acessos Autorizados e Não-Autorizados;
J2ME (Java™ 2 Micro Edition) • 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.
APIs Java™ para 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;
Ponto App (Aplicação Java) J2ME Ponto App Ponto App Rede Bluetooth J2ME Onibus App (Aplicação Java) J2ME Onibus App Onibus App Rede Bluetooth Servlet / RMI JCE Central OperacionalApp (Aplicação Java) J2ME / RMI JCE TerminalApp (Aplicação Java) JDBC Protocolo HTTP Arquitetura em 3 camadas do ônibus, ponto e terminal Projeto - Arquitetura
Protocolo Proprietário do Banco de Dados Banco de Dados Relacional (Microsoft™ Access) Terminal App (Aplicação Java) JCE Arquitetura em 3 camadas da central operacional Servlet / RMI JCE Central OperacionalApp (Aplicação Java) JDBC Cadastro App (Browser HTML) Terminal App Terminal App Cadastro App Cadastro App Protocolo HTTP Projeto - Arquitetura
sentido: String linha parada idlin:String tem tem [1,n] [1,n] [1,1] destino1:String nome_referencia: String destino2:String ruaavenida: String numero: String [0,n] complemento: String onibus bairro: String [0,n] [0,n] tem estado: String tem idbus: String cep: String ip: String ip: String [0,n] [0,n] ponto terminal caracteristica idponto: String idter: String idcar: String nome: String valor: String Diagrama entidade-relacionamento estendido Central Operacional • Esquema do Banco de Dados
Diagrama de classes da central operacional Central Operacional • 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
Classe ibus.util.DabataseManager Central Operacional • Acesso ao Banco de Dados
Diagrama de classes do ônibus, ponto e terminal Ônibus, Ponto e Terminal • 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
Mon Nov 19 17:19:11 GMT-02:00 2001-11-19; 10.0.3.19; 10.0.3.29; Erro durante Recebimento de Mensagem • Mon Nov 19 17:30:01 GMT-02:00 2001-11-19; 10.0.1.180; 10.0.3.27; Dispositivo não encontrado • Mon Nov 19 17:30:05 GMT-02:00 2001-11-19; 10.0.1.180; 10.0.3.29; Erro durante Envio de Mensagem • Mon Nov 19 17:31:00 GMT-02:00 2001-11-19; 10.0.3.19; 10.0.3.28; Dado esperado não Recebido • Mon Nov 19 17:32:00 GMT-02:00 2001-11-19; 10.0.3.29; Indeterminado; Erro no Estabelecimento da Conexão • Tue Nov 20 11:00:00 GMT-02:00 2001-11-20; 10.0.2.221; 10.0.3.28; Erro durante Recebimento de Mensagem • Tue Nov 20 12:00:00 GMT-02:00 2001-11-20; 10.0.2.221; Indeterminado; Erro no Estabelecimento da Conexão • Tue Nov 20 12:20:00 GMT-02:00 2001-11-20; 10.0.3.28; 10.0.3.19; Erro durante Envio de Mensagem Exemplo do Log de Erros Ônibus, Ponto e Terminal • Log de Erros
Diagrama de seqüência – ônibus e ponto de parada Interações • Diagrama de Seqüência Ônibus - Ponto • Especificam a interação entre o ônibus e o ponto
Central Operacional Diagrama de seqüência – ônibus e terminal Interações • Diagrama de Seqüência Ônibus - Terminal • Especificam a interação entre o ônibus e o terminal
Simulador • Desenvolvido sobre J2SE; • Rede Convencional; • Aplicações Completas; • Janela de Visualização. • Versão em J2ME; • Código Equivalente.
Conclusões • Objetivos Alcançados; • Protótipo; • Tecnologias Utilizadas; • Trabalhos Futuros; • Contribuição Oferecida.
Igreja Nossa Senhora da Pena - Porto Seguro Marco do Descobrimento - Porto Seguro Cidade Histórica - Porto Seguro Praia de Malibu - Porto Seguro Porto Seguro Taperapuan - Porto Seguro Abrolhos Recife de Fora - Porto Seguro Marco do Descobrimento - Porto Seguro