InfoQ

News

MySpace.com uses iBATIS.NET for persistence

Posted by James Vastbinder on Nov 16, 2006

Community
.NET
Topics
Stories & Case Studies ,
Data Access ,
.NET Framework
Tags
Database ,
iBATIS

Popular social site MySpace.com, which is the number 5 most trafficked site on the internet according to alexa.com is running a .NET backend and uses iBatis.NET for persistence. iBATIS is an open source data mapper framework that couples objects with hand-written stored procedures or SQL statements via XML descriptors. It is simpler to use than most ORM and is commonly used when projects wish to control the SQL used instead of having it generated by an ORM framework.  While iBATIS is heavily used in the Java world, it is not as well known in the .NET community.  InfoQ had a chance to speak with Clinton Begin, the founder of iBATIS.

This past spring 2006 MySpace architect Chris Bissell mentioned their iBATIS use on  the iBATIS forums:

MySpace.com is now running IBatis for a good portion of its data access abstraction layer.  We like the flexibility. I came in from a 'heavier' ORM background but very much appreciated the configurability IBatis offers against a changing data storage medium, because we have a whole range of heavily denormalized databases.

 When asked about why developers would choose iBATIS vs. ADO.NET or another persistence layer solution, Clinton replied:

 iBATIS is a hybrid persistence solution that targets enterprise database systems.  It combines the best features of object/relational mappers, while maintaining the ultimate flexibility of hand coded SQL.

As for properties using iBATIS, developers need only look to the iBATIS wiki and Clinton had this to say:

Many proud users of iBATIS have volunteered their identities and commented on their experience on our mailing list and on our wiki.  Some of the more well known ones include 1Up.com, the popular video game community site, and MySpace.com uses the .NET version of the framework. 

Looking to what is in store for future releases of iBATIS, Clinton offered:

In my opinion, iBATIS is pretty much feature complete.  To build in any more features would move the framework outside of its intended scope.  However, there is a lot we can do to improve the framework.  With each release we've made the framework smaller and simpler, without reducing features or performance.  I'd like to continue that with the next major version.  The area that needs to improve the most is configuration.  iBATIS is currently dependent upon XML for configuration.  I'd like to add alternative methods of configuration, including convention based, annotation [attributes for us .NETters] based and an API approach for programmatic configuration.  Of course, we'll still support XML for those who know and prefer that approach.
The iBATIS Team... by Clinton Begin Posted Nov 16, 2006 4:40 PM
  1. Back to top

    The iBATIS Team...

    Nov 16, 2006 4:40 PM by Clinton Begin

    None of this would have been possible without the effort of the iBATIS team. We have 12 team members supporting 3 platforms. The .NET port was largely the work of Gilles Bayon, and has since had significant contributions by Ron Grabowski, Ted Husted and Roberto Rabe. The Java version is maintained by a very talented group including Jeff Butler, Sven Boden, Larry Meadors, Brandon Goodin, Nathan Maves and Brice Ruth. More recently Jon Tirsen joined us with a Ruby version that enables Rails to work with "red pill" databases.

    We have an extraordinary team of people and one of the healthiest OSS communities online.

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.