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.