Enteprise Library (EntLib) – Configurando Ambientes Heterogêneos

Antes de aprofundar sobre o uso de cada bloco da EntLib, quero mostrar mais um ponto da bilbioteca que faz com que eu cada vez mais recomende seu uso, estou falando da configuração de ambientes heterogêneos.

Exemplificando, imagine que a Chilá Corp., tem três ambientes nso quais seus sistemas são executados:

  • Desenvolvimento – Servidor de Banco de dados e de aplicativo aonde o desenvolvedor trabalha na sua solução, na sua versão para determinado sistema e/ou problema.
  • Homologação – Servidor de Banco de dados e de aplicativo aonde o usuário final homologa a solução dada pelo desenvolvedor/equipe de desenvolvimento/departamento.
  • Produção – Servidor de banco de dados e de aplicativo aonde os usuários finais trabalham.

Ao usarmos a EntLib na Chilá Corp., o que teríamos? Três versões do arquivo de aplicativo com as configurações da EntLib para cada ambiente? Cada versão dessas isolada da outra? Necessidade de manutenção em 3 versões?

Bem por sorte o pessoal da Microsoft pensou na gente e incluiu uma opção chamada de “Environment” (ambiente em inglês). Com isso, criamos toda a nossa configuração da EntLib, pensando como uma única coisa e depois, criamos os ambientes que são os “environments” aonde nossa aplicação irá rodar.

Para dar mais um exemplo, imaginem que os servidores de banco de dados, tem os seguintes nomes, por ambiente:

  • bd_desen – Banco de dados de desenvolvimento
  • bd_homol – Banco de dados de homolagação
  • bd_produ – Banco de dados de produção

Para dar mais tempero ao nosso exemplo, imaginem que um banco de dados, por alguma razão, é utilizado por todos os ambientes, seja ele de desenvolvimento, homologação ou produção. Teríamos:

  • bd_estat – Banco de dados de estatísticas (não me perguntem nada sobre isso, acabei de criar isso e dar esse nome somente para efeito didático…)

Então na nossa configuração da EntLib, temos que:

  1. Configurar nossos 3 ambientes;
  2. Configurar cada conexão de dados para esses três ambientes; e
  3. Configurar a conexão do bd_estat para que seja usado nos três ambientes da mesma forma.

Pois bem, vamos começar. Após iniciar a Configuração da Enterprise Library, clique com o botão direito sobre “Enterprise Library Configuration” e escolha “new Application”, conforme a imagem abaixo:

nova aplicação entlib

Após, criar a aplicação, vamos criar nossos ambientes. Veja na imagem abaixo como criar um novo “environment’, botão direito em “Environments”, “New”, “Environment”:

EntLib Configurações de Ambiente

Depois isso, vamos dar nome aos bois. Vou chamar esse nosso primeiro ambiente de Desenvolvimento, conforme imagem abaixo:

ambiente de desenvolvimento

E agora vou criar o ambiente de homologação, repetindo os passos que efetuei para criar o ambiente de desenvolvimento. Ficando assim:

ambiente de homologacao Agora vamos criar o nosso bloco de acesso a dados e aí sim, personalizar cada conexão de banco de dados para cada servidor de nossos ambientes. Para criar o bloco de acesso a dados da nossa aplicação, vamos clicar com o botão direito em “Application Configuration”, “New”, “Data Access Application Block”, conforme imagem abaixo:

criacao do data access blockApós esse passo, a nossa configuração deve estar parecida com a imagem abaixo:

tela após daab

Reparem no bloco “Overridden values per environment”. É esse bloco em que vamos configurar nossa string de conexão diferenciada por servidor. Chamarei a conexão de “conexaoUm”, ficando mais ou menos assim a nossa configuração:

conexaoUm

Reparem na área destacada em vermelho. É nela que iremos indicar se essa configuração pode ou não ser sobreescrita por ambiente. É aqui que está o pulo do gato. Para configurações homogêneas entre servidores, deixamos marcado a opção padrão que é de não sobreescrever a propriedade “Don’t Override Properties”. Quando a configuração mudar de ambiente para ambiente, iremos selecionar sobreescrever propriedade “Override Properties”. Vejam como ficou a configuração ajustada por ambiente:

image

Para finalizar, vou criar uma nova conexão, chamada “conexaoEstat” para o nosso banco de dados db_estat que é o mesmo para todos os ambientes e que não terá a opção de sobreescrever por ambiente marcada, conforme imagem abaixo:

imageE para finalizar, para gerar os seus arquivos de configuração por ambiente, basta clicar com o botão direito no ambiente e escolher “Save Merged Configuration”, conforme imagem a seguir:

image

Bem, é isso, no próximo post, mostrarei como configurar seu web.config ou app.config para aí sim, começar a utilizar e ter todas as vantagens da Enterprise Library. Até aqui, o trabalho que demonstrei ficaria a serviço da área de infra da sua empresa, uma vez que envolve servidores e strings de conexão que muitas vezes são desconhecidas pelos desenvolvedores, seja propositadamente ou por ser uma política de segurança corporativa.

Abraços…

Chilá!@!

No Comments