O Projeto codinome Ingrid (homenagem a minha princesinha) é uma idéia baseada em uma ferramenta que desenvolvi já faz algum tempo e que se tornou obsoleta devido aos recursos utilizados na época do seu desenvolvimento. Este projeto é, na verdade, um "reboot" dessa ferramenta.

O foco do projeto é o gerenciamento das informações relacionadas ao parque computacional de uma empresa. Em palavras mais simples, é um inventário de hardware e software.

A idéia é não só coletar e armazenar, mas também comparar e gerenciar:

Coletar
Este processo consiste na captura das informações de todos os computadores da rede, como: Sistema Operacional, Placa Mãe, Processador, Memória, Discos Rígidos, Softwares Instalados, etc.

Armazenar
Este processo consiste no armazenamento das informações em um Banco de Dados para melhor tratamento do que foi coletado.

Comparar
Este processo consiste na verificação das informações coletadas e geração de informações dinâmicas para tomadas de decisão, como: alterações de configuração de hardware, instalações de softwares não autorizados, falta de espaço em disco, atualizações automáticas ausentes, etc.

Gerenciar
Este processo consiste na execução de rotinas no computador de forma remota (sem precisar ir ao computador), como troca de IP, instalação de software, etc.

Esses serão alguns dos recursos do Projeto. Muita coisa ainda está por vir.

No projeto, hoje, estão trabalhando: eu, eu mesmo e mim (e mim não faz nada :P). A medida que novidades forem surgindo, vou publicando aqui no blog.

Desde já, agradeço a atenção e interesse em ler este texto.

Christiano Mendes

segunda-feira, 23 de maio de 2011

Diário Técnico - 23 de maio de 2011

Dando sequência ao Projeto...

Meu conhecimento em SQL é muito básico. Eu antes usava o SQL Server apenas como armazenamento dos dados. Os cálculos e procedimentos eram todos feitos na minha antiga aplicação, ou seja, nada no servidor e tudo no cliente (noob). Como a minha intenção é ter um Banco de Dados mais dinâmico e auto-sustentável (de onde tirei isso?), hora de investir nas Triggers, Functions e Stored Procedures.

Acertei alguns dos atributos do Banco de Dados (agora sei a diferença entre char e nchar ^^). Mas muitos ainda permanecem como varchar(max), porque preciso coletar mais informações de mais computadores. Tive que revisar o Script de Coleta de Dados, pois eu estava crente que para cada computador havia apenas 1 dispositivo de som e em um dos computadores coletados apareceram 2 dispositivos. ¬¬

Estive analisando alguns dos dados já coletados e acho que vou trazer uma idéia do meu antigo projeto para este. Essa idéia eu chamei de "Modelo de Objetos". O Modelo de Objetos é um conceito para padronizar e centralizar a nomenclatura dos diversos componentes e elementos existentes no computador. Ao invés de ter diversas tabelas, uma para cada tipo de componente e cada qual com um campo para o nome do componente, eu utilizo um modelo comum que define o nome de qualquer tipo de componente. Seria uma forma de "normalização dos dados". Um Modelo de Objeto é composto por 6 elementos variáveis:

[Classe] + [Sub-Classe] + [Fabricante] + [Modelo] + [Valor] + [Medida]

- A classe define o que é o objeto: Processador, Placa Mãe, Disco Rígido, Impressora, etc.
- A sub-classe define uma categoria do objeto: IDE, PCI, Jato de Tinta, Laser, etc.
- O fabricante err... é o fabricante do objeto.
- O modelo... já entenderam, né?
- O valor seria um número relacionado ao modelo: a frequência de um processador, o tamanho de um disco rígido, a memória RAM de uma placa de vídeo, etc.
- A medida seria a unidade de medida do valor: GB, MB, MHz, GHz, etc.

Baseado neste Modelo de Objeto eu posso nomear qualquer componente do meu computador:

Processador Intel Pentium 4 3.0 GHz
Placa Mãe Asus P5KPL/1600
Disco Rígido SATA Samsung HD502HI 500 GB
Impressora Laser HP LaserJet 1015
Monitor LCD LG Flatron

Outra vantagem deste modelo está na pesquisa: Como está tudo centralizado, é mais fácil descobrir por exemplo, quais equipamentos de um determinado fabricante são mais utilizados entre os computadores analisados.

Essa etapa vai consumir um bom tempo. Já que quero um Banco de Dados mais autônomo, vou estudar mais sobre Triggers, Functions e Stored Procedures para deixar que o SQL Server faça aquilo que era feito pela aplicação.

Wish me luck!

Nenhum comentário:

Postar um comentário