Artigo Web Mobile 28 - SubSonic

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Você verá neste artigo o que é SubSonic, como utilizá-lo para desenvolver rapidamente aplicações Web, e como ele pode nos proporcionar uma alta produtividade em nosso desenvolvimento do dia a dia.

[lead]Do que trata o artigo

Você verá neste artigo o que é SubSonic, como utilizá-lo para desenvolver rapidamente aplicações Web, e como ele pode nos proporcionar uma alta produtividade em nosso desenvolvimento do dia a dia.

Para que serve

O SubSonic é uma ferramenta para auxiliar nas tarefas mecânicas que envolvem a construção de aplicações Web, e portanto seu principal objetivo é proporcionar um aumento de produtividade do desenvolvedor.

Em que situação o tema é útil

O SubSonic pode ser utilizado em situações onde necessitamos aplicar boas práticas de desenvolvimento, e manter uma arquitetura separada em camadas. Para esse tipo de aplicação, o SubSonic é uma ótima opção se você precisa de produtividade no desenvolvimetno das suas aplicações.

Resumo do DevMan

Quando desenvolvemos aplicações Web utilizando a plataforma .Net, uma organização na arquitetura é sempre bom para que possíveis manutenções no futuro ou até mesmo o entendimento do código-fonte do programa, sejam compreendidas de forma fácil e rápida. O SubSonic é uma ferramenta que nos auxilia na geração de uma camada de acesso a dados nas aplicações, utilizando a plataforma .Net. E como o SubSonic gera boa parte do código dessas camadas, nós temos um significativo aumento de produtividade no desenvolvimento de aplicações Web. [/lead]

Hoje em dia muitas aplicações em diversos ramos, utilizam um banco de dados relacional para armazenar suas informações. Este banco de dados deve ser estruturado para manter uma representação de todo o tráfego da informação processada pelo software, para que isso seja de fácil entendimento em futuras manutenções.

Uma das boas práticas em aplicações que fazem uso de uma arquitetura em camadas, é possuir uma específica para cuidar do acesso aos dados. Isso além de ser um ponto positivo para o sucesso do software/projeto, contribui para a simplicidade tanto no código-fonte do software como no acesso centrado às informações contidas em um banco de dados. Vamos ver neste artigo como o SubSonic pode nos fornecer uma contribuição para nossa camada de acesso a dados sem muito esforço, e como tirar bons proveitos desta ferramenta de geração de código.

[subtitulo]O projeto SubSonic[/subtitulo]

SubSonic é uma ferramenta gratuita e de código aberto que realiza a geração de código para facilitar o acesso a banco de dados relacional. Esse projeto foi iniciado por Rob Conery, e com o tempo teve a contribuição de outros desenvolvedores.

Para os exemplos criados neste artigo, foi utilizada a versão estável 2.1 do SubSonic, que pode ser baixada através do endereço que você irá encontrar na seção de links, no final deste artigo. Basta fazer o donwload do item chamado Setup-SubSonic-2.1-Final.exe. Esse setup contém toda a documentação, source e binaries do projeto.

No website do SubSonic também existe um fórum, muito interessante, para discussão sobre a ferramenta. Esta versão mantém suporte a bancos de dados como SQL Server 2000 e 2005 (incluindo a versão express), MySql e Oracle. Temos também suporte ao SQLite, SQL CE e um suporte para Postgresql está em desenvolvimento. Pelo fato de ser código aberto, você pode fazer o download do projeto e fazer sua contribuição, seja ela com melhorias internas na ferramenta ou até mesmo desenvolver o suporte a outro banco de dados. No website do Subsonic encontra-se a versão 3 do projeto que foi recentemente lançada, e certamente será tema de novos artigos aqui na WebMobile. Nela já podemos ver que o SubSonic já oferece suporte a linguagem LINQ.

[nota] Nota do DevMan

O LINQ (Language Integrated Query) é uma linguagem que surgiu no .NET 3.5, e que oferece suporte à consulta de dados, que podem estar armazenados nas mais diversas formas possíveis.

Os dados a serem consultados podem estar em XML (LINQ para XML), Banco de dados diversos (LINQ-enabled ADO.NET, que incluí LINQ to SQL, LINQ to DataSet e LINQ to Entities) e Objetos (LINQ to Objects). Ou seja, podemos realizar consultas à estas e outras fontes de dados, através de uma linguagem fortemente tipada, como é o LINQ.

O LINQ é parte integrante das linguagens do .NET Framework, e integra novos conceitos, como é o caso das Lambda Expressions e dos Extensions Methods. Através destas novas características, como por exemplo, é possível realizar um “SELECT” através de código C#.

Desde o surgimento do LINQ temos visto uma crescente utilização da linguagem, dada principalmente a sua versatilidade e facilidade para a construção de queries. [/nota]

Basicamente o SubSonic quando aplicado a um banco de dados, irá percorrer toda a estrutura de tabelas e campos e irá gerar classes para cada tabela do banco de dados. Uma dessas classes é utilizada para representar cada tupla (registro) de uma tabela. Caso você tenha uma tabela chamada Clientes, ele irá gerar uma classe chamada Cliente que irá conter o mapeamento de cada propriedade e campo tabela definida no banco de dados.

De forma geral, a ferramenta irá fazer um mapeamento objeto relacional de cada tabela. A ferramenta gera também uma coleção que irá representar as linhas de uma tabela, se você tem uma tabela chamada Pedidos, ele irá gerar uma classe chamada PedidoColletion que irá operar sobre uma classe também gerada, chamada Pedido. Outra classe também gerada, é destinada a operações CRUD (Create, Read, Update, Delete) que como por exemplo em uma tabela chamada Produtos, iria gerar uma classe chamada ProdutoController. Todas estas classes são geradas com "partial class", o que nos possibilita fazer customizações.

[nota]Nota:

Uma classe definida como "partial class", nos permite dividir o código desta em vários arquivos, e quando executamos a aplicação no Visual Studio .Net, o .Net Framework se encarregar e unir os arquivos fontes definidos para esta partial class em questão e compilar como se fosse um único arquivo. Sendo assim, como no caso do SubSonic, podemos definir customizações a parte em outro arquivo e quando necessitarmos fazer uma nova geração de código, não teremos a necessidade de modificar novamente. [/nota]

"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?