sábado, 13 de dezembro de 2008

NHibernate e ActiveWriter

Uma ferramenta Open Source de Mapeamento Objeto/Relacional (O/RM) muito popular no mundo JAVA é o Hibernate. Para .NET o pessoal do Hibernate criou o NHibernate, que faz o mapeamento entre classes modeladas no .NET com tabelas de bancos de dados relacionais.

São dois grandes benefícios que temos ao usar o NHibernate: 1. Com ele não precisamos criar os comandos SQL, pois eles são criados em tempo de execução. 2. Temos a possibilidade de criar aplicações que sejam compatíveis com N bancos de dados.

O problema do NHibernate é o aumento significativo de trabalho que temos, pois além da modelagem das classes, é necessário criar um arquivo XML de mapeamento para cada classe X tabela.

O ADO.NET Entity Framework (EF) da Microsoft veio esse ano como principal concorrente do NHibernate, e com o grande diferencial da produtividade, já que os mapeamentos podem ser feitos por uma ferramenta visual.

O problema é que o EF tem se mostrado uma ferramenta “não-madura”, basta ver as cartas de sugestões de melhorias, voto de desconfiança (
http://efvote.wufoo.com/forms/ado-net-entity-framework-vote-of-no-confidence/), anuncio de nova versão com .NET 4.0, e o prematuro “falecimento” do LINQ to SQL. Tudo isso tem pesado muito na hora de escolher que ferramenta de O/RM utilizar.

Um ponto positivo para o NHibernate são algumas ferramentas “satélites” desenvolvidas pela própria comunidade. Uma que merece destaque é o ActiveWriter (
http://using.castleproject.org/display/Contrib/ActiveWriter).

O ActiveWriter é uma ferramenta que ao instalada permite que façamos a criação das classes e arquivos XML de mapeamento para NHibernate de forma visual. Além disso ele têm a capacidade de gerar as classes apenas arrastando as tabelas da Server Explorer, assim como fazemos com os Datasets tipados.

Se você está a procura de uma ferramenta de mapeamento, leve em conta o NHibernate com o ActiveWriter, você não vai se arrepender. Em breve será publicado um artigo meu na .NET Magazine explicando detalhadamente como utilizar o ActiveWriter com o NHibernate.

Grande Abraço!

Nenhum comentário:

Postar um comentário