April 2009 - Posts

Para vocês entenderem melhor o que são essas máquinas e de qual empresa, cliquem aqui.

Abraços,

Chilá@!@

Enquanto eu preparo o post sobre como utlizar a enterprise library de dentro do Visual Studio, percebí, aliás, não só eu, mas creio que todos que escrevem um blog, vivem o constante aprendizado que é aprender para disseminar…

E posso dizer que é isso que eu quero, que o pouco que eu sei, que vocês também saibam.

Lembro que quando começei a trabalhar, como estagiário de uma empresa de consultoria em desenvolvimento de sistemas (A.E.S. – Application Express System), me ensinaram que temos que dividir o conhecimento. Todos, simplesmente todos os sócios da consultoria ensinavam os estagiários tudo que sabiam. Eu passava horas e mais horas ao lado de caras que sabiam muito e tinham mais anos de experiência desenvolvendo sistemas do que eu tinha de idade.

Deve ser por tudo isso que eu gosto de fazer essas coisas… palestras, eventos, blog etc etc.

Estou me esforçando para aprender o que eu não sei e colocar aqui, afinal, é assim que eu também aprendo…

Abraços e até o próximo post sobre Visual Studio + Enterprise Library

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á!@!

Bem, após um ou dois dias desenvolvendo no .NET, seja ele 2001, 2003, 2005, 2008 ou até o 2010 CTP, você já deve ter se perguntado: "Porquê algumas tarefas, são sempre repetidas e eu tenho sempre que reescrevê-las?". Bem isso acontece porquê provavelmente Você não desenvolveu o SEU PRÓPRIO framework, simples não...

    Para aqueles que nunca desenvolveram nada, vou dar um exemplo citando a execução de um comando a uma base de dados SQL Server. O acesso deveria ser algo assim:

    1. Declaramos a nossa variável de conexão com o banco de dados;
    2. Associamos uma string de conexão a nossa variável de conexão (criada no item 1);
    3. Abrimos a conexão com o banco de dados;
    4. Declaramos uma variável de comando para o nosso banco de dados;
    5. Associamos a conexão da variável de comando com a conexão criada;
    6. Informamos os dados do comando que queremos executar;
    7. Executamos o nosso comando; e
    8. Descarregamos da memória tudo e todos as variáveis envolvidas nesse processo.

    Preocupante certo? OK, mas o que nós podemos fazer então para deixar de nos preocuparmos com essas tarefas repetitivas e focarmos naquilo que realmente interessa que é a lógica e a inteligência de um sistema?

    Simples, ou nós criamos a nossa própria biblioteca que irá trabalhar de um jeito mais próximo do que estamos acostumados nos poupando disso ou utilizamos uma biblioteca que alguém tenha desenvolvido para nos poupar dessas tarefas. Qualquer que seja a sua resposta, você vai utilizar o Enterprise Library, criado e mantido pela Microsoft.

    Mas o que é que esse tal de Enterprise Library tem de tão bom? Bem, para começar, ele simplifica bastante o desenvolvimento, já que essas "ações rotineiras, repetitivas" são encapsuladas em métodos de sua biblioteca. Por exemplo para executar o comando mencionado acima, bastaria chamar UM método passando como parâmetros a string de conexão, o banco de dados, o comando e seus parâmetros, isso tudo em uma linha e sem ter que ficar se preocupando com o resto. Interessante não? E se eu disser que além de acesso à base de dados temos várias outras bibliotecas? Dêem uma olhada:

    • Caching Application Block
    • Cryptography Application Block
    • Data Access Application Block
    • Exception Handling Application Block
    • Logging Application Block
    • Policy Injection Application Block
    • Security Application Block
    • Validation Application Block

    Nas primeiras versões, tudo era feito de forma isolada mas a partir da versão de Junho de 2005, ganhamos uma interface gráfica aonde configuramos o Enterprise Library e todos os seus blocos. Por exemplo, todas as strings de conexão são gerenciadas por aqui.

    Na medida do possível vou procurar descrever melhor as caracteristicas da Enterprise Library.

    Para maiores informações, download e webcasts sobre a Enterprise Library basta acessar: http://msdn2.microsoft.com/en-us/library/aa480453.aspx.

    Um grande abraço,

    Chilá!@!

Pessoal, há muito tempo atrás, escreví um artigo conceitual (tá bom, com um pouco de código), abordando a Enterprise Library, que então estava em sua versão 3.1. Achei o arquivo e vou colocá-lo no meu skydrive para download. Clique aqui para baixar.

Abraços.

Vocês já devem saber que o SP2 para o Office 2007 virá com essa opção, de salvar em PDF mas para quem não quer esperar, basta acessar aqui e baixar o add-in.

Detalhe aos desavisados, só funciona nos aplicativos do Office 2007, OK? Caso queiram algo mais abrangente que funcione como o Acrobat (que cria uma impressora virtual que salva como PDF) mas de graça, tentem o CutePDF Writer

Abraços…

Caraca, e eu sempre digo por aí, para amigos e nos eventos em que vou que os blogs do MSDN são uma grande fonte de informação!! Olhem o erro:

imageBem, isso deve ser porquê eles estão migrando a base de dados para a o SQL Server 2015!!! hehehe

Abraços…

More Posts