Esta notícia foi originalmente publicada em 16 de Novembro de 2006 e faz parte da coleção das melhores notícias de 2006 publicadas na InfoQ
O popular site de rede social MySpace.com, que é o quinto mais visitado da Internet de acordo com o site alexa.com, está rodando em servidores .Net e utiliza iBatis.NET para realizar sua persistência. O iBatis é um framework open source para mapeamento de dados que vincula objetos com Stored Procedures ou comandos SQL escritos à mão através de descritores XML. Sua utilização é mais simples que a maioria dos frameworks de mapeamento objeto-relacional (ORM) e é freqüentemente utilizado quando os projetos querem controlar o SQL utilizado ao invés de gerá-lo por meio do framework ORM. Enquanto o iBATIS é muito utilizado no mundo Java, ele não é tão conhecido na comunidade .Net. A InfoQ teve a chance de falar com Clinton Begin, o fundador do iBATIS.
Na primavera de 2006 Chris Bissell, o arquiteto do MySpace, mencionou a utilização do iBATIS nos fóruns do iBATIS:
MySpace.com está rodando o iBATIS em boa parte da sua camada de abstração de acesso a dados. Nós gostamos da flexibilidade. Eu venho de experiências com ORMs mais ‘pesados’, mas eu gostei bastante das possibilidades de configuração que o iBATIS oferece em uma situação de mudança constante da mídia de armazenamento, pois nós temos uma grande quantidade de bancos de dados desnormalizados.
Quando questionado sobre por que os desenvolvedores escolheriam o iBATIS ao invés do ADO.NET ou outra solução de camada de persistência, Clinton respondeu:
iBATIS é uma solução híbrida de persistência focada em sistemas de bancos de dados corporativos. Ele combina as melhores características de mapeadores objeto/relacional enquanto mantém a maior flexibilidade do SQL escrito à mão.
Para saber quem está utilizando o iBATIS, os desenvolvedores só precisam visitar o wiki do iBATIS Clinton comentou o seguinte:
Muitos dos orgulhosos usuários do iBATIS se identificaram voluntariamente e comentaram sobre suas experiências em nossa lista de e-mails e em nosso wiki. Alguns dos mais conhecidos como o 1Up.com, popular site da comunidade de vídeo games, e o MySpace.com utilizam a versão .Net do framework.
Sobre o que está sendo trabalhado para futuras versões do iBATIS, Clinton disse:
Na minha opinião, o iBATIS já está praticamente completo em termos de funcionalidades. Adicionar novas funcionalidades iria mover o framework além do seu escopo pretendido. No entanto, há muitas coisas que nós gostaríamos de melhorar no framework. A cada nova versão, nós tornamos o framework menor e mais simples sem reduzir suas funcionalidades ou performance. Eu gostaria que a próxima versão seguisse este mesmo princípio. A área mais carente de melhorias é a configuração. O iBATIS, atualmente, depende de XML para sua configuração. Eu gostaria de adicionar formas alternativas de configuração, incluindo configurações baseadas em convenções, em annotations [atributos para nós do .Net], e uma abordagem por API para configuração programática. Lógico que nós ainda vamos manter o suporte ao XML para aqueles que prefiram esta abordagem.