🔥 Apps, books, system as a service, podcast and more



Framework de dados . parte 1

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.

Sign up to our newsletter

Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.

Top