Ta bom, eu sei que o exemplo que utilizei no artigo sobre o paradigma das aplicacoes corporativas, para ilustrar o conceito de orientacao ao aspecto foi muito ruim.A ideia do lenco e da lama nao e exemplo digno de apresentar a inversao de controle.Eu vou voltar nesse assunto no proximo artigo, mas agora gostaria de escrever sobre a automatizacao na criacao de software.Descobri recentemente um programa chamado MyGeneration. Muitos devem conhecer, mas eu mesmo so comecei a utiliza-lo ha pouco tempo.Esta fantastica ferramenta se propoem a expor objetos do banco de dados de uma forma que fica facil e intuitivo criar pequenas aplicacoes para geracao de codigos repetitivos, em lote.A ideia e construir todo o modelo da aplicacao em uma ferramenta especifica, como o Enterprise Architect, e por fim montar o banco de dados.Ou seja, na modelagem, o arquiteto deve desenhar as entidades do dominio baseadas nos requisitos e nas funcionalidades propostas. E seguindo as propostas da UML, o arquiteto entao deve continuar a trabalhar no modelo, criando os diversos tipos de diagramas, orientado pela metodologia, ate chegar no desenho do banco de dados.Nesse ponto e onde o MyGeneration entra para montar o esqueleto da aplicacao. Eu construi um conjunto de scripts para geracao automatica de codigo, que sozinho constroi todas as camadas de aplicacao com apenas alguns cliques. Um dos scripts cria automaticamente ate classes de teste unitario para ajudar a manter a integridade do sistema.Com esses scripts eu consigo colocar uma aplicacao com mais de cinquenta casos de uso no ar e funcionando, em questao de duas horas.O segredo do MyGeneration e expor todos os objetos de um banco de dados em forma de colecoes, facilmente programaveis.Imagine ter acesso a todos os nomes de tabelas do banco de dados, os campos, as chaves estrangeiras, as chaves primarias etc?Apenas com essas informacoes ja ficaria muito facil construir um laco para "rodar" todas as tabelas do banco, e montar os codigos necessarios para a implementacao das classes de entidades e dos arquivos de configuracao do Hibernate.Alem disso, o MyGeneration oferece todas as funcionalidades do C# e do Framework .Net. A programacao flui facil por causa disso. Nao so do C#, mas do Visual Basic tambem.Alem de tudo isso e gratis!Mas, como sempre tem um "mas"... a interface do programa e muito fraca ainda. Esta amadurecendo, mas ainda engatinhando.O intellisense mal funciona e as cores sao terriveis. Faltam varios auxilios de digitacao e de identacao do codigo.Resumindo, a ideia e otima! Mas a aplicacao deixa a desejar. Acho que a equipe de desenvolvimento desse software pecou apenas na abordagem do framework deles.Acredito que eles nao deveriam ter construido uma IDE (Integrated Development Enviroment) para abrigar este interessante framework de escavacao de objetos do banco de dados.Eu teria feito diferente, eu teria criado uma DLL para ser utilizada como wrapper em projetos dentro do Visual Studio. Essa DLL poderia ter um template de criacao de projeto (aqueles projetos que aparecem na caixa de "Criar Novo Projeto...") e referenciar automaticamente essa DLL de wrapper.Algumas configuracoes no web.config ou no app.config seriam suficientes para carregar automaticamente