Project Jasper!

At the Mix07 conference this week, we will be announcing Project Jasper – aka Dynamic ADO.net. Available immediately is the initial CTP (Community Technology Preview) release for the project.

What is Project Jasper? Here is the high level description of the project from the overview document included with the CTP release:

Microsoft Codename “Jasper” is a set of components aimed at fulfilling the need for a rapid and iterative development experience for data. With Jasper, you are able to just point at a database and immediately begin coding against its data using intuitive, domain-specific data classes. No configuration and no source code generation are required. Jasper works with existing application frameworks (including ASP.NET, WinForms, and WPF) and existing, real-world databases.

Technically, Jasper is a set of extensions to the Ado.NET Entity Framework designed specifically to enable rapid development of powerful, real world data driven applications. As the project team likes to say, we want to make the experience of developing quick and dirty database apps one that is truly quick and clean.  To enable that development experience, Jasper is made up of two major components; again I quote the overview document:

Jasper provides a programming interface to your data that is well-suited to rapid development. Jasper provides two main services:

· Data Access: query and update facilities for reading and writing data, exposed via an Object-Relational (O/R) API.

· Data Binding: presentation of data in controls that form the visual user interface of the application.

For CTP release, we are specifically targeting Visual Basic 9 (Orcas version of VB.NET) and Iron Python 1.1. In other words, these are the languages we did a bulk of our testing for the CTP release. The reality is any CLR language that supports late binding (IronRuby, Managed JavaScript) can be used with the Jasper framework. In the future, we are very interested in leverage other features of Dynamic Language Runtime (also being announced at Mix07), for example the ability to modify types  at runtime, to provide even a richer experience. 

Several resources are available right now to learn about Project Jasper:

Over the next few weeks, we will be releasing a bunch of supporting material for the project including several screencasts and samples.  I will post links to this material as it becomes public.

We will also be publishing a bunch of information on our blogs:

· Shyam Pather’s blog: https://pather.net/shyam/

· Carl Perry's blog: https://blogs.msdn.com/cperry/

· ADO.NET Team blog: https://blogs.msdn.com/adonet/

· Data Programmability Team blog: https://blogs.msdn.com/data/

· Visual Basic Team blog: https://blogs.msdn.com/vbteam/

Starting immediately, we are soliciting any and all feedback. We have already started thinking about doing another CTP release some time this fall, and have some interesting ideas, but we are also quite interested in public feedback. Best way to do this is send me email or post to the public forum.

kick it on DotNetKicks.com