Projeto Supervisionado no Desenvolvimento de Aplicaes Profissionais na

  • Slides: 15
Download presentation
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Enunciado Trabalho 3

Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Enunciado Trabalho 3

Trabalho 3 • Desenvolver um sistema de monitoramento de objetos móveis complementando e unindo

Trabalho 3 • Desenvolver um sistema de monitoramento de objetos móveis complementando e unindo os trabalhos 1 (processador de sinais) e 2 (serviços REST e cliente HTML)

Trabalho 3 Servidor Aplicação “stand alone” Cliente Aplicação WEB - Tomcat HTML/CSS/JS Processador de

Trabalho 3 Servidor Aplicação “stand alone” Cliente Aplicação WEB - Tomcat HTML/CSS/JS Processador de Sinais REST JSON Aplicação “stand alone” Gerador de Sinais Fake My. SQL Banco de Dados Navegadores

Trabalho 3 - Extra Servidor Aplicação “stand alone” Cliente Aplicação WEB - Tomcat Navegadores

Trabalho 3 - Extra Servidor Aplicação “stand alone” Cliente Aplicação WEB - Tomcat Navegadores HTML/CSS/JS Processador de Sinais REST JSON App de Monitoramento My. SQL Banco de Dados

Trabalho 3 - REST • Modificações nos Serviços REST – Adicionar camada de Banco

Trabalho 3 - REST • Modificações nos Serviços REST – Adicionar camada de Banco de dados REST JSON Servlets Services REST JSON DAL My. SQL Banco de Dados

Trabalho 3 - REST • My. SQL – Criar Tabelas que representam o modelo

Trabalho 3 - REST • My. SQL – Criar Tabelas que representam o modelo das My. SQL Entidades UI Tabela Sinal, colunas: Banco de Dados id – int chave primaria, auto increment lon - decimal lat - decimal data – bigint processado - boolean id. Objeto. Movel – chave extrangeira com coluna id do Objeto Movel

Trabalho 3 - REST Tabela <Objeto. Movel>, colunas: id – int chave primaria, auto

Trabalho 3 - REST Tabela <Objeto. Movel>, colunas: id – int chave primaria, auto increment id. Ultimo. Sinal – chave extrangeira com id sinal Mais 2 atributos adicionais!

Trabalho 3 - REST Tabela Evento, colunas: id – int chave primaria, auto increment

Trabalho 3 - REST Tabela Evento, colunas: id – int chave primaria, auto increment tipo – varchar(256) valor - varchar(256) inicio – bigint fim – bigint id. Objeto. Movel – chave extrangeira com id objeto movel

Trabalho 3 - REST • Modificar do. Get do Servlet de Sinais para permitir

Trabalho 3 - REST • Modificar do. Get do Servlet de Sinais para permitir consulta a sinais não processados • url de consulta aos sinais não processados: http: //localhost: 8080/web/sinais? p=false • Implementar camada de acesso ao Banco de Dados (DAL) com uma classe DAO para cada entidade REST JSON • Sinal. Dao • Evento. Dao • <Objeto. Movel>Dao Servlets Services DAL

Trabalho 3 - REST Com metodos que atendam as necessidades de acesso a dados

Trabalho 3 - REST Com metodos que atendam as necessidades de acesso a dados Servlets REST List<Entidade> listar. Todos(Connection con); Apenas para Sinal. Dao: List<Entidade> listar. Nao. Processados(Connection con); <Entidade> busca. Por. Id(Connection con, int id); <Entidade com a chave do banco> insere(Connection con, <Entidade>); void atualiza(Connetion con, <Entidade>); void apaga(Connection con, int id); void apaga. Todos(Connection con);

Trabalho 3 - REST • Implementar camada de serviço (Service) para cada entidade •

Trabalho 3 - REST • Implementar camada de serviço (Service) para cada entidade • Sinal. Service • Evento. Service • <Objeto. Movel>Service REST JSON Servlets Services DAL

Trabalho 3 - REST Com metodos que atendam as necessidades de acesso a dados

Trabalho 3 - REST Com metodos que atendam as necessidades de acesso a dados Servlets REST List<Entidade> listar. Todos(); Apenas para Sinal. Dao: List<Entidade> listar. Nao. Processados(); <Entidade> busca. Por. Id(int id); <Entidade com a chave do banco> insere(<Entidade>); void atualiza(<Entidade>); void apaga(int id); void apaga. Todos();

Trabalho 3 – Processador de Sinais • Modificar o processador de sinais para chamar

Trabalho 3 – Processador de Sinais • Modificar o processador de sinais para chamar os serviços REST • A comunição com os serviços REST se dará com a classe Cliente. Rest, fornecida no site do material do curso e apresentada em sala de aula. • O processador de sinais não utilizara mais a classe Gerador. De. Sinais para obter os sinais a serem processados. – Substitui-lo por chamadas ao REST de Sinais • O processador de sinais deverá salvar os Eventos gerados fazendo posts para o REST de Evento

Trabalho 3 – Processador de Sinais • O Objeto Movel terá seu ultimo sinal

Trabalho 3 – Processador de Sinais • O Objeto Movel terá seu ultimo sinal atualizado. – Chamar o REST do Objeto. Movel para atualizar seu ultimo sinal • O processador deverá rodar como uma thread, que dorme X segundos, acorda, processa os sinais e dorme novamente. • Será fornecido o processador de sinais gabarito do trabalho 1 no site do material do curso onde deverão ser realizadas estas alterações

Trabalho 3 – Mapa • Implementar mais 1 HTML para a parte cliente Web

Trabalho 3 – Mapa • Implementar mais 1 HTML para a parte cliente Web com um mapa que apresenta a localização dos objetos móveis. – O mapa deverá ser implementado utilizando a api javascript do google maps, como apresentado em sala de aula. – A página deverá de tempos em tempos atualizar os marcadores, apresentando suas posições atuais. – Ao clicar em um marcador uma janela de informações deverá aparecer com os detalhes do objeto móvel.