Atualização de arquivos em Delphi
Veja nesse artigo o conceito de Launcher, aplicativo responsável pela atualização de arquivos de uma determinada aplicação e implementa a validação desses arquivos atualizados através o uso do MD5
Neste artigo veremos como validar
as versões utilizando o modelo de criptografia MD5 consultando uma base de
dados online.
Ao se trabalhar com um número grande de clientes começamos a ter problemas de como controlar as versões previamente instaladas. Até certo número, a atualização manual disponibilizada através de um link para download ou até mesmo acessando os computadores dos clientes para fazer a atualização não é a melhor das soluções, mas ainda assim é possível.
Porém, quando ocorre um aumento de clientes, executáveis e arquivos comuns à distribuição, tais como relatórios, DLLs, BPLs entre outras, o processo torna-se mais complexo e podemos então encontrar algumas dificuldades no processo de atualização. Nesse momento começam a surgir soluções de atualizações que em sua maioria, não são eficazes.
Muitos desenvolvedores utilizam o próprio build da versão como um processo de verificação, porém, devido à falta de automatização, esse arquivo pode vir a não ser devidamente atualizado e então o processo também torna-se falho.
Outra situação comumente utilizada é a validação pela data de alteração do arquivo, porém, como sabe-se, facilmente podemos burlar este processo alterando a própria data do Sistema Operacional.
Uma solução para os problemas descritos é a utilização de comparação de MD5. Ao se alterar apenas um caractere no arquivo fonte, e sem a necessidade do build, o MD5 é alterado, garantindo assim a identificação de uma versão diferente no computador do cliente.
O que é MD5
O MD5 (Message-Digest algorithm 5) é um algoritmo de hash de 128 bits desenvolvido pela RSA Data Security Inc., e muito utilizado na verificação de integridade de arquivos.
Seu propósito de desenvolvimento foi suceder o modelo MD4 que possuía alguns problemas de segurança. A verificação é realizada pela comparação das duas hashes sendo uma a original e a outra à MD5 gerada.
Os hashes MD5 são representados por uma sequência de 32 caracteres hexadecimais. Mesmo uma pequena alteração, criará um hash completamente diferente.
Como é validada a estrutura de arquivos
Para realizar a validação da estrutura de arquivos, será criada uma tabela a ser utilizada como dicionário de estrutura, onde iremos consultar pelo sistema se existem atualizações dos arquivos. O Launcher será responsável por consultar o dicionário e comparar o MD5 do arquivo com o informado no dicionário, caso o MD5 do arquivo não seja igual ao informado no dicionário, esse será extraído e colocado no lugar do arquivo desatualizado.
Para o devido funcionamento, essa base deve ficar disponível em um servidor na Web com alta disponibilidade e as máquinas clientes devem estar em um ambiente com acesso à internet para que sempre que o Launcher seja executado, essa consulta possa ser devidamente realizada.
O banco de dados
Para nossa solução, faremos o uso do banco de dados o MySQL. A Figura 1 apresenta a modelagem proposta. A descrição de cada campo pode ser observada nas Tabelas 1 e 2.
Figura 1. Estrutura de tabelas"
[...] continue lendo...Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo