Atenção: esse artigo tem uma palestra complementar. Clique e assista!

Do que trata o artigo

Demonstrar a utilização do framework ASP.NET MVC juntamente com o ORM NHibernate, expondo detalhes de configuração para o NHibernate nesse ambiente web


Para que serve

O ASP.NET MVC vem consolidar o uso de boas práticas no ambiente de desenvolvimento web da Microsoft. Ao aplicar o padrão MVC, se consegue aplicações mais leves e juntamente com o uso de Ajax, mais dinâmicas. Tudo isso sendo apoiado pelo NHibernate, que simplifica para o programador a persistência de informações, objetos. Fazendo com que a atenção esteja centrada no que interessa: solucionar os problemas dos clientes


Em que situação o tema é útil

No desenvolvimento de sistemas web mais leves, escaláveis e que desejam ser multibanco, conseguindo assim independência de fabricantes.

Resumo DevMan

Tempo é dinheiro. Frase mais batida entre empresas de software. Assim sendo, este artigo mostra como utilizar o NHibernate em um ambiente WEB com o uso do ASP.NET MVC. O NHibernate pode reduzir tarefas repetitivas de persistência em até 80%, deixando o desenvolvedor com mais tempo. Fazer uso do ASP.NET MVC também favorece o desenvolvimento, pois aplica a separação de camadas e responsabilidades, facilitando a identificação de erros e sua correção. Um exemplo prático da união dessas tecnologias é criado, com um extra, a utilização dos controles ExtJS, que adicionam um visual mais moderno ao projeto.

Ao longo dos anos o desenvolvimento de aplicações web tem evoluído muito. Antigamente a única maneira de se ter uma página web de conteúdo dinâmico, ou seja, seu conteúdo variar de acordo com uma determinada ação, era através da utilização do CGI, que significa Commom Gateway Interface, que é o método de comunicação entre o navegador e o servidor web. Ele funciona recebendo dados de entrada e gera algum tipo de resultado. Esses dados são geralmente passados por campos de um formulário, que por sua vez executa o CGI que realiza o processamento necessário e devolve o resultado, que geralmente é um arquivo HTML para o servidor web, que por sua vez repassa para o navegador.

Desenvolver um CGI exigia dos programadores um conhecimento maior sobre HTML e HTTP, pois tratar os dados digitados pelo usuário e retornar o resultado, são de responsabilidade do CGI. Desenvolver utilizando essa tecnologia não era uma tarefa das mais fáceis, visto que exigia um conhecimento de mais baixo nível por parte do programador. Sendo assim a Microsoft lançou o ASP (Active Server Pages), tornando a programação para WEB mais amigável e produtiva.

Com o ASP era possível desenvolver aplicações para web utilizando linguagem script, normalmente VBScript, fazendo com que os programadores tivessem mais tempo para focar suas atenções no que mais realmente importava, a solução dos problemas. Em 2002 com o lançamento da plataforma. NET, o ASP deu lugar ao ASP.NET que, diferentemente do ASP, utiliza linguagem mais robusta, como o C# e o VB.NET. Outros conceitos foram introduzidos junto com o ASP.NET, como por exemplo o code-behind, aonde o código do programa fica separado do código HTML da página, onde a mesma não é mais uma simples página em HTML e sim um WebForm. Assim, desenvolver aplicações utilizando o ASP.NET ficou muito parecido com o modo de desenvolver aplicações Desktop, pois não é necessário possuir amplo conhecimento em HTML e tão pouco conhecer o protocolo HTTP. Permitem ao desenvolvedor um alto nível de produtividade.

Vale ressaltar que mesmo com os avanços que o ASP.NET trouxe, ainda existem operações que somente são possíveis de se resolver fazendo uso do Javascript, pelo fato de envolverem o lado cliente.

NHibernate

O NHibernate é um framework ORM (Object Relational Mapping) ou Mapeamento Objeto Relacional para a plataforma .NET derivado do conhecido Hibernate do Java. Ela mapeia as tabelas do banco de dados, transformando dados de um objeto em uma linha de uma tabela no banco de dados, ou transforma uma linha da tabela em um objeto para uma aplicação. Existem no mercado várias outras ferramentas que possuem a mesma finalidade que o NHibernate, podendo citar o Entity Framework da Microsoft, o AgileFX, o LLBLGen...entre outras, porém o foco será demonstrar uma aplicação WEB utilizando o NHibernate em conjunto com o ASP.NET MVC. O NHibernate facilita a vida dos desenvolvedores, pois ele gera o código SQL necessário, ou seja, não é necessário codificar nenhum comando SQL, seja para carregar, incluir, alterar ou excluir um registro do banco de dados. Evitando assim a necessidade do programador de realizar a implementação do código de acesso a dados, vale salientar que o NHibernate é open-source, ou seja de código livre, e possui uma comunidade muito ativa na web.

O ASP.NET MVC

O modelo MVC é muito utilizado em aplicações WEB, que tem como propósito facilitar e agilizar o desenvolvimento de aplicações e incentivando a utilização de boas práticas. Segundo alguns pesquisadores, esse padrão arquitetural foi atribuído a Trygve Mikkjel Heyedahl Reenskaug, que o desenvolveu em 1979, quando trabalhava no Smalltalk, na XEROX Parc. O ASP.NET MVC nada mais é do que uma implementação da arquitetura MVC para o ASP.NET. A primeira versão deste framework foi lançada em 2007, apenas por curiosidade, o número de downloads chegou na casa de 1 milhão de downloads para a versão 1. Em 2009 a Microsoft lançou a versão 2.0 do framework MVC, sendo que esta versão é a que já é distribuída juntamente com o Visual Studio 2010, mas pode também ser utilizada no Visual Studio 2008 através de uma instalação manual.

O ASP.NET MVC Framework adiciona modelos (templates) para o Visual Studio que facilitam a criação de uma aplicação MVC. Em tempo, a sigla MVC vem do inglês Model-View-Controller ou Modelo-Visualização-Controlador. Os principais conceitos desse padrão são que você começa com o Model ou Modelo, onde se representa o domínio do problema. Nele é atribuído o estado da aplicação e os dados, ficando também encarregado da estrutura dos dados e de como eles serão manipulados. Logo em seguida vem a View, a visualização, que é como o modelo será apresentado ao usuário, ou seja, a interface de usuário. A visualização inclui os controles, tais como, botões, listas suspensas, etc. que o usuário utilizará para interagir com o sistema. E por fim vem o Controller ou Controlador, é ele o responsável por mediar a interação entre o Modelo e a Visualização, é ele também que responde às ações do usuário e outros eventos. Por exemplo, um usuário pressiona um botão na View, ao pressionar esse botão o Controller envia uma mensagem ao Model, alterando assim o estado do modelo que por sua vez pode fazer com que o Controller envie outra mensagem, desta vez para a visualização do usuário, atualizando-a para representar o novo estado. Sendo assim existe uma separação bem clara das camadas, o que força a utilização de uma arquitetura que permita uma maior escalabilidade da aplicação.

...
Quer ler esse conteúdo completo? Tenha acesso completo