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)
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
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)
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
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
Top Related