Advertisment

Ovum on MS Visual Studio SP release

author-image
CIOL Bureau
Updated On
New Update

UK: Microsoft’s release of the first service pack of Visual Studio 2008 adds significant new features for data-driven web applications. Among them is enhanced support for RESTful-style data services, and new simplified templates for rapidly building data-driven websites. But the feature drawing the most attention is Microsoft’s belated support of object-relational mapping (ORM).

Advertisment

VS 2008 SP1 aimed at moving mainstream, rather than bleeding edge

“This release was much broader than your typical Visual Studio service pack, with some important new features that will change the way VS developers develop applications. Examples include ASP.NET Dynamic Data, which provides templates and wizards for building web pages without having to drop down to coding SQL; ASP.NET for Ajax, supporting Ajax-style development; and enhanced ADO.NET data services support for REST services, which are becoming popular as simpler alternatives to WSDL- and SOAP-based web services. Most of these features became available with .NET Framework 3.5.”

“But the highlight of SP1 is support for a completely new feature of .NET 3.51, ADO.NET Entity Framework (EF), which is Microsoft’s first stab at ORM. Microsoft's good deed didn't go unpunished, as a group of dissident developers posted an online manifesto claiming EF seriously falls short. If anything, this proved two things: one, Microsoft doesn’t want to get too far ahead of its installed base, and two, there's only so much you can include in a version 1 release.”

“ORM resolves the impedance mismatch where data in applications is represented as business objects but is stored in the columns and rows of relational databases. Microsoft has added a wizard that automates this process, starting with a highly simplified mapping that the developer can subsequently refine if necessary. EF also enables you to annotate the data model, facilitating exposure through RESTful services or as a dynamic website.”

Advertisment

“Microsoft was late to the game with ORM, as there was ample support in the Java world dating back to the early days of J2EE nearly a decade ago. Microsoft held back because it originally thought that the ill-fated WinFS file system would solve the problem.”

“But ORM didn't catch on in the Java community until recently. It has always been extremely difficult and time-consuming to ensure mappings remained unbroken as applications or data stores evolved. The Java community’s initial solution, EJB entity beans, didn't make things any easier. It wasn't until release of competing ORM frameworks (Hibernate and Java Persistence Architecture, or JPA), complemented by emergence of the Spring framework which allowed developers to abstract ORM from core business logic, that Java developers finally started embracing it.”

“Microsoft’s lag in ORM won’t prove fatal. It took its time and is trying not to get too far ahead of its base. Some features promoted by dissidents were too far ahead of common practice. For instance, they demanded ‘lazy loading‘, a practice where the developer controls when classes are loaded into storage – be implicit or default. Microsoft responded that developers should get acclimatized to lazy loading first, because developers could easily make too many mistakes.”

Advertisment

Developers should walk before they run with SP1

“Microsoft’s first stab is an 80/20 solution, it will handle most use cases out there. But there are still several important gaps. For instance, a lack of ‘persistence ignorance’ (where classes are developed without reference to the underlying database) will hamper unit testing because it will be tied to specific database implementations. Microsoft needed to freeze development at some point to get SP1 out on time.”

“But the real issue is whether developers are ready for ORM. Hopefully, .NET developers will leverage lessons learned from the Java community, it took a while for Java developers to get it. Most importantly, ORM will complement, not replace, data-driven development. The popularity of RESTful services shows that most web applications still don't require the elaborate features of EF; only those involving more complex business objects will benefit from it.

So, developers should approach EF cautiously until they get used to its power. EF will satisfy most ORM needs now, but by the time .NET developers get up to speed with this development style, Microsoft will fill in more of the blanks.”

The author is senior analyst, Ovum, UK

tech-news