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 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
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
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
Empresa de certificação energética
•
•
•
•
Centros de certificação
Técnicos
Agentes de fiscalização
Estagiários
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
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
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
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
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
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
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
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)
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
Bases de dados (habitações a visitar)
• Morada da habitação
• Data e hora da visita
• Identificação do técnico atribuído
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
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
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
Fase um (2)
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
Fase dois (2)
SQL Server
SQL Server
Propagação de alterações
BD
BD
Dispositivo Móvel (PDA)
SQL Server CE
Client Agent
Aplicação
Cliente
SQL Server CE
DataSet
BD
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.
Fase três (2)
SQL Server
SQL Server
Propagação de alterações
BD
BD
Dispositivo Móvel (PDA)
SQL Server CE
Client Agent
Dispositivo Móvel (PDA)
Aplicação
Cliente
Aplicação
Cliente
SQL Server CE
SQL Server CE
DataSet
BD
SQL Server CE
Client Agent
XML
DataSet
BD
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)
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)
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.
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
Download

Computação Móvel