AuditWork

(Anjokal) #1
DESENVOLVIMENTO

__

__

utilização dos recursos. Procurou-se então uma nova forma de obter os dados
necessários para o funcionamento do sistema. Depois de alguma investigação sobre o
funcionamento dos sistemas operativos da “Microsoft”, chegou-se a uma solução
simples, elegante e extremamente precisa. Para proteger a ideia, iniciou-se um processo
de pedido de patente que não permite detalhar mais o desenvolvimento do software
cliente.
O desenvolvimento da aplicação cliente respeitou o requisito de não interferir no
desempenho do computador onde está instalada. Minimizou-se a utilização dos recursos
de ligação (largura de banda), limitando os dados que são enviados ao servidor. A
aplicação cliente é responsável apenas pela recolha e envio de dados, ficando a cargo do
servidor o seu processamento.
Na criação do sistema cliente, usaram-se as seguintes bibliotecas da linguagem C:


<time.h> Operações com data e hora
<stdio.h><iostream> Operações de entrada e saída
<fstream> Operações de acesso a ficheiros
<mysql.h><sqlite3.h> Operações com Base de Dados
<ctype.h><string.h><tchar.h> Operações com caracteres e strings
<psapi.h> Operações de Controlo de performance
<sha1.h> Operações de encriptação de dados

A aplicação permanece ativa, recorrendo a um ciclo infinito, que garante que se
mantém em funcionamento, enquanto a máquina está ligada.
No entanto, este ciclo infinito revelou-se um “devorador” de recursos,
principalmente do processador da máquina. A forma mais simples de resolver o
problema, foi acrescentar uma paragem “Sleep(10)” ao ciclo, que libertou o processador
da máquina, para os outros serviços do sistema operativo. Depois de alguns testes, dez
milissegundos, foi o tempo que demostrou o melhor desempenho da aplicação, sem
afetar o processador nem a memória RAM (+/- 4Mb) da máquina. Este tempo reduzido
de paragem, serve também para garantir que não se perdem registos de atividade ou
inatividade.
A aplicação é suportada por diversas variáveis, alteradas com a utilização da
máquina e a passagem do tempo. São gerados registos que o software envia para uma
base de dados local.
A aplicação cria, se não existir, uma base de dados “SQLite”, com as duas tabelas
atividade e inatividade, para guardar temporariamente os dados recolhidos.
A autenticação no servidor central, é realizada utilizando o número da licença do
cliente, guardado na máquina, aquando da instalação da aplicação cliente.
Ao receber o número da licença, o servidor reponde com o nome da base de dados
correspondente a esse cliente.

Free download pdf