Codename Jasper: Rails or Django for .NET?

by John Osborn

Codename "Jasper" is an incubation project at Microsoft that aims to deliver the advantages of Rails-like dynamic database application programming to .NET developers. Database expert Julia Lerman, well-known to the Microsoft community as a speaker and trainer, explains the new technology with a hands on example in a new Windows DevCenter article this week: Build Dynamic Database Applications in .NET with Project Codename Jasper.

Like Rails, Django and similar frameworks, Jasper models databases using information derived from their schema. But as Julia points out in her article, rather than relying directly on those schema, Jasper works from an Entity Data Model that is generated by Microsoft's new Entity Framework, providing an additional layer of abstraction that developers can exploit to create more program-friendly models. In her words:

Jasper's use of the Entity Data Model instead of connecting directly to the database means that there will be fewer anomalies to manually code around. For example, if the database was normalized so that contact details are spread across a number of tables (contacts, emails, telephones, and addresses) you could customize a model so that all of this information is contained in one entity. Then when you create a dynamic application, a detailed contact record will be created automatically and not require custom code. Much more of the application can be truly dynamic.

Is this an advantage that resonates with developers? Read the article and tell us what you think.


Simon Hibbs
2007-08-09 08:00:54
This sounds a bit like the seperation betwen the ORM layer and SQL Expression layer in SQLAlchemy, so that your object models can be built on top of SQL queries or views rather than just individual tables.

Not that I'm rubbishing this, Microsoft are sure to package this functionality up into a nice GUI interface and automation tools, etc, which is where they add their value.

Julie Lerman
2007-08-17 10:55:14
Hey Simon. I'm not familiar with SQLAlchemy, but I did take a quick look at their site. The Entity Framework that Jasper relies on actually has one more layer of separation from the database than what I believe SQLAlchemy's ORM does. And this is similar to comparing it to something like ROR which also works directly against the database. I have definitely not spent a lot of time in the Rails space. It will be interesting to see how Jasper gets fleshed out and where the similarities and differences will lie.
2008-07-09 16:02:59
I put up a little rails v.s. django voting app up at: