Friday, 14 April 2006

On April 12th I presented Genome at Persistence Day in Karlsruhe, Germany which was organised by dotnetpro, a German .NET development publication. Persistence Day is quite interesting, as it is a full day event concentrating solely on two topics:

  • Object-relational mapping for .NET
  • Object-oriented databases for .NET

While the latter is more of a niche in today’s enterprise development market (still, quite an interesting one), there is a huge demand for object-relational access for the .NET platform. The event hosted nearly 200 people and was booked out quickly. The fact that a one-day event with a 99€ price tag that attracts only a regional audience (no one would travel further than a few hundred kilometres for it) was so rapidly booked out (and would have been so even if the event had been planned for 500 people, according to the organiser) amply demonstrates that the .NET developer community is starving for solutions to this problem.

Still, O/RM is an exotic thing on the .NET platform, while it is widely accepted in the Java world. When I attended a software architect workshop in Cortina this February with a group of Java and .NET architects, the Java people just yawned when O/RM topics were proposed for discussion. So how can it be that this topic is widespread on other development platforms but so underdeveloped in .NET?

I see two main reasons for that:

First of all, Microsoft contributes a lot to this situation. They announced Object Spaces twice (PDC 2001, PDC 2003) but never released it. Except at PDC (and on some rare occasions at TechEd), you will never hear about O/RM from Microsoft. It's very funny to read through Microsoft’s current Patterns & Practices chapter on “Designing Data Tier Components and Passing Data Through Tiers” without encountering the word “object-relational mapping” once. I understand that Microsoft does not endorse any specific products, but concealing an entire product category shows Microsoft's attitude to this topic quite well.

Another reason is the .NET development community itself. With few exceptions, many people are advocating against the use of O/RM. They already spoke against it some years ago and they still do. I don’t want to dispute their arguments here, but looking at the number of comments those people receive on their O/RM related posts clearly tells me what an important topic O/RM is for the .NET community after all.

Posted by Chris

Friday, 12 May 2006 13:21:30 (W. Europe Daylight Time, UTC+02:00)

You 're right that not a lot of microsoft programmers don't consider O/R Mapping, but they should!

Anyway, is there any news for the upcoming release of 3.0? It would be useful to know if it will go as planned. I am a potential client but I will work only in .NET 2.0 and would like to use Generics and Nullable types. If it is possible, answer by e-mail also.

Friday, 02 June 2006 16:26:22 (W. Europe Daylight Time, UTC+02:00)
Check out my LINQ related article (which has been cross-posted to JavaLobby and is currently on the front page there and has generated a bit of heat):

Language Wars Redux - The Imminent Approach of LINQ

BTW, you're entirely right. ORM is very, very much old hat on the Java platform - to the extent is now well codified in the EJB3 spec for our JEE application servers. (Gavin King, one of the principal creators of the very popular Hibernate ORM heavily influenced the JSR that produced the EJB3 spec.)

I've taken ORM for granted now for about three years - but TopLink goes back to the '90s on the Java platform and there has also been JDO for quite some time.

Now here's the kicker: in the 1998/99 time frame I worked on a team at Microsoft that was creating a ORM persistence subsystem for .NET (well at the time the marketing name .NET hadn't been conjured up yet). We were writing it in Managed C++ because what became the C# compiler was by no means fully baked yet.

Alas, due to politics our project got canned as the powers that be decided to not muddy the waters by having an additional persistence story besides ADO.NET. (I think if we'd written ORM as a layer on top of ADO.NET instead of OLEDB we might have faired better.) It sufficiently pissed me off at the time that I left Microsoft.

So Microsoft missed its chance to have ORM for .NET from day one. And then bizarrely, as a result, a lot of .NET developers look on ORM as some exoctic technology while us Java developers regard it as a yawner.
Comments are closed.