Ô perguntinha intrigante. Mas vou tentar explicar o meu ponto de vista. Quando o Visual Studio .NET foi lançado em 2002, existia uma linha de pensamento assim:

“Se você usa o Visual Basic, use o VB.NET, mas, se você vem do C, C++ use o Visual C#!”

Em parte isso era verdade porquê, além de inovações nas linguagens, também existia a novidade que era o .NET Framework. Não bastava mais saber a linguagem, era necessário dominar o Framework. E seguindo a linha de pensamento acima, temos que concordar que, quando você se depara com muita coisa nova e tem que aprender muita coisa, provavelmente você vai deixar a novidade de lado.

Então para apressar a curva de aprendizado, todos seguiram a orientação e assim foi, só que hoje em dia eu gostaria de adicionar alguns pontos, sobre essa escolha.

  1. Se você já tem alguma experiência com o .NET Framework, a linguagem escolhida será apenas uma detalhe. Claro que, se você tem alguma experiência com desenvolvimento Web, você já utiliza claramente elementos da estrutura C#, já que o Javascript e o C#, possuem muita semelhança na semântica de sua estrutura.
  2. Se você não tem experiência com o .NET Framework, mas já desenvolveu alguma coisa na vida, escolha o Visual Basic se você já desenvolveu algo em VB e o Visual C# se você utilizou Delphi, Pascal etc etc.
  3. Se você não sabe “nada de nada”, está começando por exemplo, eu não indicaria nem o Visual Basic e muito menos o Visual C#, aqui não tem jeito, é preferência mesmo. Veja você mesmo as duas linguagens e escolha aquela que você quer “falar”.

Ah, existe um último fator que é sobre o mercado, que pode te ajudar a escolher melhor. A Microsoft por exemplo, tenta seguir uma linha de igualdade, mas, não consegue e você em muitos eventos e apresentações por aí, vê o código Visual C# com mais frequência do que o código Visual Basic.

Há alguns anos, desenvolvedores VB não eram muito bem vistos, embora necessários. Hoje em dia isso diminuiu mas ainda vemos que as empresas procuram muito mais desenvolvedores C# do que VB.

Bem, escreví essas poucas linhas, porquê vamos tentar mudar a “linguagem padrão” lá do banco em que trabalho, indo do Visual Basic para o C#. Não vai ser fácil, mas, pelo menos nessa, todos os desenvolvedores estão unidos.

Abraços e vamos discutir sobre isso…

Chilá!@!

Pessoal, esse é um post rápido sobre alguns links legais sobre a enterprise library.

1 – Artigo legal, dando uma visão geral sobre o Validation Application Block – aqui

2 – Série de artigos sobre a enterprise library, aqui.

São bons e eu recomendo. Vale realmente a pena.

E é só… hoje fui somente um repetidor, mas espero que logo eu tenha mais tempo e que possa criar varios exemplos e situações reais sobre o uso da Enterprise Library.

Abraços, Chilá!@!

Faz muito tempo que não escrevo nada, e hoje não vai sair nenhuma linha de código, apenas um ponto de vista. Estava eu falando outro dia com meu irmão, Fábio, que é designer, flasheiro etc etc e ele estava me contando que os desenvolvedores ASP.NET que aparecem para os trabalhos em agência de propaganda, só sabem fazer as coisas na base do arrastar e soltar. CARAMBA, quase infartei… Comecei a desenvolver em um tempo em que wizards e assistentes no VB4, BN5 e até no VB6 eram carentes de performance e personalização.

Mas, para entender melhor, fui dar uma verificada nesses sites e enteder o porquê de tanto arrastar e soltar. Bem, pude conferir que esses sites, geralmente todos em Flash, tem uma tela ou outra para você se cadastrar, receber notícias essas coisas. E nesse ponto tenho que ser sincero, para uma serviço desses qualquer linguagem dá conta e qualquer desenvolvedor, por pior que seja, afinal, gravar UM registro é coisa demais?

Aí, fui tentar entender o porquê de todos preferirem o bendito “arrastar e soltar”. Bem, eu não gosto, prefiro não usar, mas fiz uns testes com ASP.NET Dynamic Data e com o ObjectDataSource e vou expressar agora, o que achei.

  1. ASP.NET Dynamic Data – Útil para os casos em que não temos tempo para criar as páginas de cadastro de um sistema, desde que essas páginas fiquem sob os cuidados de TI senão, personalizá-las, dá um pouco de trabalho.
  2. ObjectDataSource – Usei e não gostei. Me poupou algumas linhas de código, mas e daí? Tive que criar a classe, os métodos etc etc. Não gostei… e ponto.

Posso ter usado pouco essas duas e concluído rápido demais, mas, aprendí nesses quase 16 anos de desenvolvimento que não existe sintonia fina em coisa que nasce pronta. Quando preciso de performance e escalabilidade, a coisa fica feia e esse monte de assistentes e wizards são inúteis…

Há algum tempo atrás, coloquei uma série de quatro artigos no site DEVASP.NET, sobre AJAX, uma fazendo todo o uso de AJAX mas na unha, sem nenhuma biblioteca, chamando o objeto XMLHTTPREQUEST etc etc. E as outras com o uso de da Biblioteca AJAXPro. Você pode conferir aqui.

Porquê mencionou essas coluninhas sobre AJAX nesse post? Só para que antes de utilizarmos só o que nos é dado pronto, a gente saiba como a coisa funciona, saiba o que é preciso para que funcione. Se você não souber, imagina quando precisar resolver um problema…

Abraços e vou evitar ficar tanto tempo sem postar nada… mas o dia-a-dia no banco tá bravo…

Falow!@!

Chilá!@!

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 Next page »