Este é um post disponível para assinantes MVP.net Magazine 63 - ASP.NET Dynamic Data
Artigo da Revista .NET Magazine - Edição 63.

ASP.NET Dynamic Data
Desenvolvendo aplicações dinâmicas
Sou um grande fã de geradores de código e ferramentas CASE, os softwares que fazem softwares. Qualquer solução que tenta automatizar o desenvolvimento de software, visa o aumento de produtividade.
Quando um trabalho é repetitivo, seja ele qual for, sempre existe uma oportunidade de automatizá-lo. E isso não é diferente no desenvolvimento de software. Se olharmos para as aplicações que desenvolvemos no nosso dia-a-dia, veremos que boa parte do nosso trabalho é de repetição. Não é a toa que uma das ferramentas mais utilizadas por um programador seja o famoso CTRL+C / CTRL+V.
É com olhos voltados para esta realidade que surgem ferramentas como o ASP.NET Dynamic Data. O ASP.NET Dynamic Data, como o próprio nome sugere, é um framework voltado para o desenvolvimento rápido e funcional de Data-Driven Applications.
Numa tradução livre, podemos dizer que Data-Driven Applications são aplicações orientadas a Dados. Este é um conceito também conhecido como DDDAS (Domain Data Driven Application System), que prega que a aplicação, ou parte dela, é criada dinamicamente tendo como base os dados e a estrutura destes dados. Esse também é um dos objetivos por trás do conceito de meta-dados.
O ASP.NET Dynamic Data trabalha em conjunto com um modelo que representa e mapeia a estrutura de dados de um banco de dados relacional. Este modelo pode ser criado com o uso do LINQ to SQL ou do Entity Framework, que são as duas mais atuais ferramentas de OR/M da Microsoft e com as quais o ASP.NET Dynamic Data é compatível.
Como veremos, é com base neste modelo de dados que o ASP.NET será capaz de criar dinamicamente as interfaces que farão a manutenção cadastral nas entidades declaradas no modelo. Para a criação destas interfaces o ASP.NET Dynamic Data irá utilizar os próprios controles do ASP.NET, como DetailsView, FormView, GridView e ListView.
Os Andaimes
O ASP.NET Dynamic Data trabalha com um conceito chamado Scaffolding, que significa andaime, ou a estrutura temporária que é feita em torno de um prédio durante a sua construção. Este termo é muito utilizado no Ruby On Rails e é um conceito de meta-programação para a construção de aplicações baseadas em banco de dados.
Scaffolding é uma técnica utilizada por alguns frameworks MVC (Model-View-Controller), onde o programador especifica como um banco de dados deve ser utilizado. O compilador neste caso usa essa especificação para gerar o código que a aplicação irá utilizar para realizar as operações CRUD, Create-Read-Update-Delete, nas tabelas do banco de dados.
Essa estrutura básica que é criada automaticamente é o que se chama de Scaffold, ou a estrutura sobre a qual o programador irá construir uma aplicação completa.
Nota do DevMan
Ruby on Rails é um framework gratuito que agiliza o desenvolvimento de sites orientados a banco de dados, fazendo uso do padrão MVC. Ele é composto por subframeworks, que realizam tarefas específicas como abstrair os dados, originalmente em tabelas, para que possam ser tratados como classes e objetos na aplicação; Gerar a visualização desses dados usando HTML, XML, JavaScript e outros; Gerenciamento de Email e WebServices. Para mais detalhes visite www.rubyonrails.pro.br
O ASP.NET Dynamic Data utiliza deste mesmo conceito para a geração das operações cadastrais (CRUD) básicas do modelo de dados especificado no LINQ to SQL ou EF. Além disso, ele inclui uma série de outras funcionalidades básicas na aplicação, como: filtros para chaves estrangeiras e campos booleanos, chaves estrangeiras são convertidas por nomes amigáveis, algumas validações também são criadas automaticamente etc.
Como veremos, o ASP.NET Dynamic Data trabalha com uma extensa quantidade de templates, que estendem as funcionalidades de controles como GridView e DetailsView, para possibilitar a criação das interfaces em tempo de execução. Estes templates fazem parte do próprio projeto criado com o ASP.NET Dynamic Data e podem ser facilmente customizados para atender necessidades específicas.
Nota do DevMan
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP
Space do autor


0
0
