It’s here!  For the last 7 months we’ve been working on Microsoft Codename Jasper.  About 9 month ago Andy started thinking about what it would mean to target a language like VB.Net with the Entity Framework.  After a lot of late nights, weekends, and discussions Jasper gets to see the light of day.  Over the next month Andy, Shyam, Jeff, and others will be posting a lot more content about Jasper and be talking about the ideas behind the technology. 

The key theme we used during the development of “Jasper” is that developers should be able to build applications quickly and cleanly.  Often times developers will be asked to build a solution that does some basic things (e.g. a Forums application that lets people post issues in categories).  As I build the application I build small pieces of the application, run them to make sure they work, get feedback, and iterate over the design and implementation until I have a working application.  I then add on new functionality, features, or re-work portions that no longer fit.  This, to me, is one of the core pillars of Agile Development.   However, I believe people are choosing Agile Development because they’ve heard of this movement or their team chose to use it.  My personal belief is that this is how people think.  And because “Jasper” is built on top of the ADO.NET Entity Framework developer can use many of the exact same API patterns in the ADO.NET Entity Framework and can take advantage of all the work we’re doing in the Entity Framework inside “Jasper” (e.g. if you have a really complex and strangely formed backend just provide us your Entity Data Model and we’ll map the database to data classes we generate at runtime).  There’s no need to re-learn or implement these concepts and solutions in “Jasper” because it extends the Entity Framework.

For this CTP we’re targeting Visual Basic .NET 9.0 and Iron Python 1.1.  In order to get “Jasper” up an running you’ll need the following pieces:

1)      Microsoft Visual Studio Codename “Orcas” Beta 1.  Install from here.

2)      Iron Python 1.1.  Install from here.

3)      Microsoft SQL Server 2005.  The Microsoft SQL Server 2005 SP 2 Express Edition can be found here.

4)      “Jasper.  Install from here.

There’s some great content and code in the CTP.  The key ones I’ll point out are:

1)      Overview document – the introductory documentation to the technology along with code samples.

2)      DynamicContext – The class that does all the work.  It generates the model and data classes at runtime based on the connection to the database.

3)      AutoBinder – Enables binding on WinForms and WPF by default

4)      AutoDataSource – Enables binding of controls and the dynamically generated classes in ASP.NET application.

5)      Samples – Shows how to use “Jasper” in and WinForms using VB.NET and also has Iron Python samples.

6)      Documentation – a help file describing the API.


Over the next couple of months we’ll be working on getting feedback from everybody, working on another CTP, and doing a bunch of blogging on the topic.  Go check out the forum at  We’re looking forward to you feedback!


Carl Perry