BT

QnA on SubSonic

by James Vastbinder on Jul 16, 2007 |
SubSonic is a .NET Open Source project modeled after Rails.  Think of it as a Swiss Army knife for building websites and working with data in Object-Relational fashion.  In the latest release, version 2.0.3, a lot of work was done on the execution engine as well as a significant number of bug fixes. 

Rob Conery and Eric Kemp are the main developer force behind SubSonic and interest in the project is gaining momentum. 

InfoQ editors sent a few questions about the project over and both Eric and Rob responded:

InfoQ: What prompted you to create SubSonic?

Rob: About 95% of all applications built talk to a database in some way. For some reason 95% of all utilities built for Visual Studio and .NET deal with pulling the data from the DB and putting it in the UI. When I first saw the SqlDataSource and GridView in action I thought it was super neat, but broke every DAL convention I'd ever heard of. The ObjectDataSource is a great answer to this, but really why do I want to stick another tool in between my app and it's data? I just didn't get it from an architect's perspective.

I remember reading a blog entry on Fritz Onion's site where he used BuildProviders to work up an object model and I thought to myself "someday I'm gonna work that thing!".  That someday came when I was refactoring the Commerce Starter Kit, trying to leverage as much Data access code into the base classes as I could. I was using generics in a way that they probably weren't designed to be used, but in the process I stumbled on a really cool pattern for generating very little code for a full data access layer. When I first got it to work I literally jumped out of my chair, swearing to myself.

I gave it about 2 weeks and tested and tested and when it didn't break or slow down, I remember thinking "I've got something here!". I had been doing some Ruby/Rails stuff at the time, and I had the idea that much of that "love" could be brought over to the ASP world. Although the real joy of Rails is the language Ruby - but maybe someday RubyCLR will be finished (or some other dynamic language package for .NET) and that's when I think SubSonic will come into it's own.

InfoQ: What is the current status of SubSonic?

Eric: While SubSonic has yet to reach its first birthday, it achieved the 2.0 milestone and the end of April, with a rich set of new features that greatly expanded on those delivered in version 1.0.6 in December 2006. Since that time we have delivered three maintenance releases, with 2.0.3 being rolled out just yesterday.

SubSonic is an extremely active project, and is consistently in the top 10 projects on CodePlex, alongside several Microsoft supported projects including the AJAX Control Toolkit, Enterprise Library, and IronPython.  While it is difficult to judge true popularity, the anecdotal measures are extremely positive - SubSonic 2.0.2 achieved nearly 2500 downloads in less than three weeks, and 2.0.3 is about hit 400 downloads in its first 24 hours.

InfoQ: What are the sweetspots for SubSonic?

Eric: As a data access platform, SubSonic manages balance the power and speed of datasets with many of the advanced capabilities of ORM platforms without
forcing SQL back on to developers or requiring extensive object mapping exercises.

As a developer productivity tool, SubSonic automates the repeated, mundane processes common to data driven applications, by providing a base that supports the iterative nature software development. Through the automated generation of web-based data manipulation "scaffolds", lightweight and flexible query tools, and a growing library of functions designed to support common business data validation and transformation scenarios, SubSonic lets developers spend focus their time on building their applications, not support subsystems.

InfoQ: Who is using SubSonic?

Eric: Assessing the use of SubSonic is difficult, as we only can only judge from what people share in forums, or post on blogs. However, we do know that the
range of implementations is very broad. SubSonic powers several open source projects like dotnetkicks.com, and is currently, being integrated into one of the top ASP.NET based blogging platforms. It is being used by hobbyists on personal applications as well as in at least a few known Fortune 500
companies.

InfoQ: What are the futures for SubSonic?

Eric: In addition to some planned enhancements to our query engine and the delivery of a new REST based set of functionality slated for our 2.1 release, we are following a general guiding principle of "moving up the stack." Specifically, this means capitalizing on our mantra of "Convention over Configuration" to deliver functionality that represent more complete and extensible "out-of-the-box applications" based on common patterns that facilitate the next level of developer productivity.

Thanks Rob and Eric!

Hello stranger!

You need to Register an InfoQ account or to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Comparison to Castle? by Thom Nichols

I'm sure I could draw some comparison of my own, but not having heard of SubSonic before, it would be nice to see some sort of comparison to the Castle project and it's ActiveRecord framework (including NHibernate).

Also, if you want to give your project more exposure, I would suggest getting it listed on directories such as csharp-source.net, ohloh.net, and swik.net.

SubSonic rocks by Stuart Allen

To address the question of who is using SubSonic:

I am a senior lead developer for my company and we are using SubSonic to power a dynamic survey engine system that will deliver education research surveys to samples of over 100K. Soon all of our web-based survey instruments will be based on this system in addition to our in-house applications which develop the specs for these surveys.

SubSonic is extremely flexible to work with and the time it takes you to get up and running is nil.

Both Rob and Eric deserve some serious brownie points for their awesome responsive nature to the OS community.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

2 Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2013 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT