Caro(a) Leitor(a), hoje eu vou falar de um assunto de estrema relevância no mundo da programação que é a parte de se conecta ao banco de dados, busca informações armazenadas, insere e atualiza dados importantes. Não importa se os dados são de pessoas ou de sistemas automatizados; dados são dados. Algum dia você precisará dos dados armazenados no banco, talvez para gerar relatórios ou migrar para outro sistema.


O fato é que sem dados armazenados, o sistema não tem aquela importância. Você deve ter acompanhado por ai alguns aplicativos sendo vendidos por milhões de dólares. Você acha que o aplicativo vale milhões ou os dados que eles tem valem milhões?


Hoje em dia, muitos querem desenvolver um sistema ou site, mas poucos se preocupam em fazer o desenvolvimento seguro. Segurança, nunca é demais quando se fala de dados na Internet. Você precisa se preocupar muito com os dados que estão trafegando, a maneira que trafegou, onde está sendo armazenado, se está usando criptografia e se o banco de dados está seguro no local de hospedagem.


Utilizado:

Linguagem C#;

Framework de dados;

Ferramenta Visual Studio.


Para melhor entendimento e desenvolvimento do artigo é necessário utilizar os ítens citados acima para um melhor resultado.


O que é um framework de dados?


O framework de dados proposto aqui neste artigo é bem simples. Framework é uma palavra muito utilizada e significa a junção de códigos ou APIs preparadas para prestar um serviço ao desenvolvedor que solicitar. É um monte de método compilado em uma determinada linguagem e pronto para ser usado em diferentes projetos.


Invasão e acesso indevido

Quando estou desenvolvendo um software e esse precisa se conectar ao banco de dados, o primeiro passo é gerar a string de conexão após o banco de dados pronto. E você sabia que pela string de conexão, muitos hackers conseguem entrar no banco de dados?


Se você já trabalhou com qualquer linguagem de software, você sabe que a string fica localizado dentro do projeto e no arquivo de configuração. No caso do .NET, plataforma ASP.NET, a string fica no Web.config. Se qualquer pessoa invadir o servidor e abrir esse arquivo, conseguirá ver o IP ou o nome do servidor de banco de dados e usuário e senha de forma limpa.


Fica fácil conseguir as informações do banco de dados. E os dados são essenciais para qualquer sistema de software ou site hoje em dia. Para resolver esse problema o melhor é usar string de conexão criptografada. Veja a ideia no diagrama 1.



Diagrama 1 - Funcionamento do framework


No arquivo de configuração a string é criptografada, quando há necessidade de buscar os dados, o framework retira a criptografia e acessa o banco de dados para fazer algum select, update, insert ou delete em tempo de execução.


Nesse caso, se qualquer hacker abrir o arquivo de configuração não saberá seu usuário e senha para acessar o banco de dados.

O framework de dados


O framework que vamos construir aqui irá tratar das mesmas funcionalidades mostradas no diagrama 1. Lembrando que dentro dele terá métodos específicos para criptografia e decriptografia de dados. Na verdade, isso pode ser bem particular, ou seja, de desenvolvedor para desenvolvedor. 


Dentro do mesmo framework, teremos métodos para executar ou mandar a execução para o banco de dados como o ExecuteNonQuery e outros.


Antes de executar qualquer método no banco de dados, o framework terá que retirar a criptografia em tempo de execução para depois enviar comandos ou scripts. Quanto mais preparado for o seu framework, melhor fica o seu reaproveitamento em outros projetos. Isso porque você não vai mais se preocupar a comunicação com o banco de dados. A string estará criptografada e os métodos de select, insert, update e delete estarão prontos para serem executados em qualquer banco de dados.


O framework que fiz particularmente funciona para banco mobile, SQL Server e MySQL. Vou criar mais uma classe para Oracle e outros bancos. Toda vez que preciso criar um projeto, basta importar e chamar os métodos disponíveis e assim eu me preocupo mais com layout e regra de negócio do sistema ou site.


Você pode me perguntar: existem muitos outros frameworks prontos hoje em dia e porque fazer um próprio? A minha resposta é: eu já vi muitos frameworks por ai funcionando até determinado momento, depois de uma certa quantidade de conexões o framework ficou lento e começou a travar todos os usuários. Em outro momento, vi frameworks com tantas camadas que, para configurar e mandar comandos para o banco se tornava um trabalho árduo e complicado. E para finalizar, é muito bom quando você sabe exatamente o que está acontecendo dentro de cada código criado, ao contrário de muitos frameworks que passam por partes “nebulosas” e eu gosto de ter mais controle sobre o código que estou trabalhando ou executando. Tem também a string criptografada e segura. 


Se essas respostas não te convenceram de criar um framework pessoal, não tem problema. Eu só preciso que você entenda como criar e como funciona a criação de frameworks.


Como esse artigo já ficou grande, vou criar a parte 2 que mostra todo o código criado. Métodos de interface, métodos de execução, criptografia e comunicação com o banco de dados. Espero que tenha gostado até agora do que leu e até o próximo artigo.


Em caso de dúvidas, entre em contato pelo no site www.mauriciojunior.org.