computação móvel projecto. objectivos gerais desenvolver uma aplicação num domínio...

27
Computação Móvel Projecto

Upload: internet

Post on 18-Apr-2015

111 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Computação Móvel

Projecto

Page 2: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Objectivos gerais

Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados entre um repositório

de dados central e um ou mais dispositivos móveis, tendo estes últimos a possibilidade de alterar alguns dados e de replicar e sincronizar dados entre si enquanto estão desligados da

rede

Page 3: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Certificado energético

• Obrigatória emissão a partir de Janeiro de 2009• Quantifica e classifica o desempenho energético

da habitação numa escala de classes energéticas• Apresenta uma lista de medidas que permitirão

melhorar o desempenho energético• Apenas pode ser emitido por um técnico

devidamente credenciado

Page 4: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Projecto da disciplina

• Implementação de uma aplicação para Personal Digital Assistant (PDA)

• Permite ao técnico introduzir os dados técnicos da habitação durante o processo de vistoria e armazenar esses dados na base de dados local do dispositivo

• Permite a posterior sincronização entre a base de dados local do dispositivo e um repositório central de dados para futura análise dos dados

Page 5: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Empresa de certificação energética

• Centros de certificação• Técnicos• Agentes de fiscalização• Estagiários

Page 6: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Centros de certificação distritais• Cada centro distrital dispõe de um servidor o qual mantém uma

réplica da base de dados da empresa que contém os dados relativos a todos os pedidos de certificação a nível nacional.

• Cada centro distrital actualiza a sua réplica da base de dados com os dados dos pedidos de certificação para habitações situadas no seu distrito, sendo essas actualizações periodicamente propagadas para os servidores dos outros centros distritais.

• Dispõe de técnicos credenciados• No caso de não dispor de técnicos suficientes para responder às

várias solicitações para um determinado dia deve solicitar aos centros vizinhos o envio de técnicos

Page 7: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Processo de certificação energética

• O cliente contacta o call center da empresa de certificação para agendar a visita de um técnico credenciado

• A empresa possui um centro de certificação em cada um dos distritos do país sendo o pedido do cliente redireccionado para o centro do distrito onde está situada a habitação

• Um técnico visita a habitação e recolhe os dados• Os dados são enviados para o centro de certificação• Os dados são alvo de análise para emissão do certificado

energético

Page 8: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Técnicos

• Sincroniza o seu PDA com o servidor do seu centro distrital para obter uma lista das habitações que deverá visitar ao longo do dia.

• Durante cada visita o técnico procede ao levantamento das características técnicas da habitação introduzindo os dados recolhidos no seu PDA.

• Normalmente, no fim do dia, o técnico sincroniza novamente o seu PDA com o servidor do seu centro distrital para transferir os dados recolhidos ao longo do dia

• O técnico tem também a possibilidade de proceder à sincronização com um qualquer outro servidor em qualquer altura do dia

Page 9: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Agentes de fiscalização

• Cada centro distrital envia periodicamente agentes de fiscalização a um certo número de habitações escolhidas aleatoriamente de entre as habitações já visitadas pelos seus técnicos.

• O centro distrital nunca envia fiscais para fiscalizar habitações situadas noutros distritos

• O agente de fiscalização é, para todos os efeitos, um técnico credenciado e repete todas as tarefas do processo de vistoria utilizando o mesmo tipo de PDA

Page 10: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Estagiários

• Durante o período de estágio cada técnico estagiário é acompanhado por um técnico sénior

• O técnico sénior avalia o desempenho do estagiário durante esse período

• O técnico estagiário realiza as mesmas tarefas que o seu técnico sénior

• O técnico estagiário só tem permissões para sincronizar os dados do seu PDA com o servidor depois de ter recebido aprovação por parte do seu sénior

• A autorização é realizada através da sincronização de dados entre os dois PDAs (o do técnico estagiário e o do seu sénior) e a detecção e correcção de todos os erros

Page 11: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Descrição do projecto

• Desenvolvimento de uma solução que suporte o modelo de utilização já descrito– com vários servidores que armazenam os dados referidos e– uma aplicação para os dispositivos móveis que permita a alteração de

dados• A solução deve suportar a sincronização de dados

– entre o PDA de cada técnico e o servidor– entre PDAs distintos

• Os conflitos que forem detectados no decorrer da sincronização devem ser resolvidos de acordo com um conjunto de regras.

• A quantidade de informação transportada no PDA do técnico deve ser minimizada

Page 12: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Bases de dados

• Os esquemas das bases de dados ficarão ao critério dos alunos desde que suportem os requisitos de domínio enunciados

• Deverão ser criados um conjunto de scripts SQL para criação do estado inicial das bases de dados dos servidores

• Aspectos em aberto devem ser cuidadosamente analisados

• Decisões tomadas devem ser justificadas no relatório do projecto

Page 13: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Bases de dados (técnicos)

• Nome completo• Distrito onde exerce funções• Tipo de técnico: fiscal, sénior, estagiário• Identificação do técnico responsável pela sua

formação (se aplicável)

Page 14: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Bases de dados (habitações)

• Morada• Nome do cliente• Características técnicas

– Topologia (T0, T1, T2, etc.)– Eficiência do sistema de arrefecimento (numa escala de 1 a

5)– Eficiência do sistema de aquecimento (numa escala de 1 a 5)– Eficiência do isolamento térmico nas paredes e pavimentos

(numa escala de 1 a 5).– Tipo de cobertura (telhado, placa ou piso superior)– Utilização de vidros duplos ou simples nas janelas

Page 15: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Bases de dados (habitações a visitar)

• Morada da habitação• Data e hora da visita• Identificação do técnico atribuído

Page 16: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Arquitectura

• Plataforma .NET Compact Framework 2.0• Sistema operativo PocketPC 2003 SE (ou versão

superior)• Desenvolvimento em C# (versão 2.0)• SQL Server 2005 para repositório de dados• SQL Server Compact Edition v. 3.1 nos PDAs

Page 17: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Fases do projecto

1. Implementação da sincronização entre PDA e servidor através da funcionalidade de merge replication do SQL Server Compact Edition

2. Implementação do protocolo de replicação com suporte a múltiplos servidores

3. Implementação da sincronização directa entre PDAs

Page 18: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Fase um (1)

• Um único servidor• Não há sincronização directa entre PDAs• Implementar a sincronização entre PDA e

servidor através do recurso à funcionalidade de merge replication oferecida pelo SQL Server Compact Edition

• A interface gráfica da aplicação cliente e a lógica de negócio do domínio aplicacional deverão estar completamente implementadas

Page 19: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Fase um (2)

Page 20: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Fase dois (1)• Implementar a sincronização entre PDAs e múltiplos servidores• A aplicação cliente deverá permitir seleccionar qual o servidor com o qual

será efectuada a sincronização• Os dados obtidos pelo PDA a partir do servidor seleccionado devem

satisfazer a garantia de sessão Read your Writes– Implementar um protocolo de replicação que suporte múltiplos servidores, que

substituirá o recurso à funcionalidade de merge replication oferecida pelo SQL Server Compact Edition

• Implementar a propagação de actualizações entre servidores, sendo este processo desencadeado quando é detectado que os dados da base de dados estão desactualizados em relação aos dados do PDA

• A aplicação cliente deverá continuar a suportar o modelo arquitectural da fase anterior, não sendo no entanto necessário suportar a interoperabilidade entre os dois modelos

Page 21: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Fase dois (2)

BD

SQL Server

Aplicação Cliente

SQL Server CE Client Agent

SQL Server CE

BD DataSet

Dispositivo Móvel (PDA)

BD

SQL Server

Propagação de alterações

Page 22: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Fase três (1)

• O objectivo desta fase consiste em adicionar à aplicação cliente desenvolvida nas fases anteriores a funcionalidade de sincronização directa entre PDAs

• A funcionalidade de merge replication do SQL Server Compact Edition não suporta sincronização directa entre PDAs, pelo que esta deverá ser implementada de raiz

• A aplicação cliente deverá continuar a suportar o modelo arquitectural das fases anteriores.

Page 23: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Fase três (2)

BD

SQL Server

Aplicação Cliente

SQL Server CE Client Agent

SQL Server CE

BD DataSet

Aplicação Cliente

SQL Server CE Client Agent

SQL Server CE

BD DataSetXML

Dispositivo Móvel (PDA) Dispositivo Móvel (PDA)

BD

SQL Server

Propagação de alterações

Page 24: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Interface gráfica do dispositivo

• Consultar a lista de habitações por visitar• Introduzir os dados técnicos da habitação• Sincronizar explicitamente os dados locais

com um dos servidores• Sincronizar explicitamente os dados locais

com um outro PDA e detectar erros nos dados (conflitos) e corrigir esses erros (resolver os conflitos)

Page 25: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Resolução de conflitos de dados• Conflitos de dados entre o servidor do centro distrital e o PDA do agente

de fiscalização– os dados do PDA (introduzidos pelo fiscal) prevalecem sempre sobre os dados do

servidor (introduzidos pelo técnico).• Conflitos de dados entre o servidor do centro distrital e o PDA do técnico

estagiário– os dados do servidor (introduzidos pelo técnico sénior) prevalecem sempre sobre

os dados do PDA (introduzidos pelo técnico estagiário), excepto quando os dados do PDA foram aprovados pelo técnico sénior (por sincronização entre PDAs), situação na qual os dados do PDA prevalecem sobre os dados do servidor

• Conflitos de dados entre o PDA do técnico estagiário e o PDA do seu sénior– a resolução deverá ser feita manualmente para cada item, devendo a interface

gráfica da aplicação do PDA permitir escolher qual das duas versões deverá ser guardada ou introduzir novos valores (por ex., o técnico sénior poderá introduzir erros propositadamente para testar o estagiário na sua detecção)

Page 26: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Entrega

• Enviar email dirigido ao docente das aulas de laboratório, com indicação do número do grupo e identificação dos seus elementos e tendo como anexo um arquivo zip contendo:– Código fonte do projecto– Relatório sucinto com o máximo de 4 páginas (formato

PDF, RTF ou documento do Word) – Um script SQL que permita, de acordo com o esquema da

base de dados, a criação do estado inicial da base de dados no servidor central.

Page 27: Computação Móvel Projecto. Objectivos gerais Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização de dados

Avaliação

• Checkpoint no dia ???• Entrega do projecto até ao dia 25 de Maio de

2009 (inclusive)• Visualizações na semana de 1 de Junho• Discussões na semana de 8 de Junho