Suddenly, ORMs are hot!

ctodx
29 June 2006

Interestingly, a couple of important events happened in the ORM (object-relational mapping) space this week. You know how it is, you wait forever for a bus and then two come along at once.

The first one is the launch of a new community site by Roy Osherove called ORMappers.com. In the words of the founder: "This site is about sharing our knowledge about tools, technologies and techniques related to [object-relational mappers], in the hope of helping developers everywhere deal with the subject, thus making the world a better place, leading to peace, prosperity and love between Java, .NET, Visual Basic and C++ developers everywhere."

A grand objective you must admit. Now, this will be an interesting site for me since we, Developer Express, have a library in this space as well: eXpress Persistent Objects, or XPO to its fans (the trendy fans call it xpo, of course).

ORMs are slowly but surely getting better and better at what they do; that is, providing a mapping between an object model on the one hand and a relational model on the other (the SQL-driven database, in other words). ORMappers.com aims to help developers choose between the various offerings (which, of course, depend on your language of choice) and I hope a community does grow around it with some worthwhile help.

And then, bam, like the smell of napalm in the morning, comes a highly-charged article by Ted Neward called "The Vietnam of Computer Science". In it, he tries to use the problems of the war in Vietnam as an allegory for what's happening in the object-relational mapping area. To quote: "[ORM technology] represents a quagmire which starts well, gets more complicated as time passes, and before long entraps its users in a commitment that has no clear demarcation point, no clear win conditions, and no clear exit strategy."

To be honest the parallels between ORMs and Vietnam were not that interesting for me. I felt the comparison detracted from the important point that Ted was making, in that ORMs, whether you write one from scratch or use an off-the-shelf one, are currently a leaky abstraction between the object-oriented world on the first hand and the SQL-defined relational world on the other. If you ignore the first many paragraphs about the history of Vietnam (interesting as they are: he summarizes the situation well), he's written a very cogent argument about the issues that developers (and ORMs, for that matter) have to face when writing database applications and how the problems can multiply. I liked the way that he recognized that, sometimes, the problems encountered are political in nature and are not technology-related.

His summary is a good one and well worth reading. He recognizes that, no matter what, "objects-to-relational mapping is a necessity in a modern enterprise system" and then proceeds to give six possible solutions to the ORM quagmire.

One thing that struck me though was this: although one of the summary points was "integration of relational concepts into the languages" (and mentioned LINQ as a big step in that direction), he did not have "integration of object-oriented concepts into the database and into SQL". How long before the object-relational impedance mismatch goes away because SQL Server, say, can be run as an OODBMS (object-oriented database management system)?

2 comment(s)
Anonymous
ctodx
Yesterday evening I went along to the monthly meeting organized by what might grandly be called the Colorado...
30 June, 2006
Anonymous
Roy Osherove
It'd be great if you listed XPO on the .NET Tools list on ormappers.com, and announced various news about it on ormappers.com as well...

Roy.
3 July, 2006

Please login or register to post comments.