WCF and nHibernate (okay, mostly nHibernate) vs. Linq… Is this an instance of Microsoft not learning from history?

I recently listened to the ORM Smackdown on DotNetRocks with Oren Eini and Ted Neward. Two things stood out for me specific to this podcast: 1) The focus was (obviously) on Object-relational imedance mismatch. 2) A lengthy part of the discussion related to the challenges of deploying schema changes, often referred to as the deployment pipeline.
Another discussion I watched recently was Dan Pritchett on Architecture at eBay where he mentioned that much of what they are doing at eBay is discovering that there may be better data stores for certain kinds of data when building extremely high volume sites.

The combination of both podcasts made me wonder how the other data stores (not likely relational) used at eBay deal with the object impedance mismatch. The other thing that occurred to me is that it would appear that a tool like nHibernate may be better positioned to deal with differing datastores than tools like Linq to SQL as it is provider driven rather than tightly coupled to its store implementation (Linq to XML, Linq to Entities, Linq to <wait until Microsoft produces one that matches up to the item you are looking to Linq to>). I think that the pluggable architecture of WCF corrected this issue and Linq may have missed it.

I am not saying that nHibernate is the answer (see my previous post on nHibernate) but it would seem to be better positioned than Linq to work with what could be a new way of looking at application state persistence if we consider how very large firms (the eBay tie in) utilize data stores.


2 thoughts on “WCF and nHibernate (okay, mostly nHibernate) vs. Linq… Is this an instance of Microsoft not learning from history?

  1. I love the topic!
    Quick question…  You don’t mention Acropolis.. I have not had time to investigate your links but I am in the middle of building some Acropolis replacemnts for the now obsolete Smart Client Software Factory (or soon to be obsolete with no additional releases).
    These are all NHibernate based and I am VERY intrigued about the extensions to the typical Model/View/Presenter pattern made possible with 0 code in Accropolis.
    Damon Carr

  2. I haven’t checked out Acropolis because I’m still not convinced that there is a clear vision as to the methods of building applications using XAML yet. At work we are using CAB (this is my first project using CAB). Four months ago CAB was "the thing". Now we get Acropolis, Silverlight, CAB, WPF…. all of which were (or will be) RTM within 12 months of each other.
    I had mentioned, in a previous post, that with mobile devices now coming with full browsers (like the iPhone), that I can’t imagine investing any time in figuring out .NET Compact Framework as I should be fine with just using the full-blown framework and building using ASP.NET (or now Silverlight). In listening to Scott Hanselman interviewed Chris Sells in a two-part episode (part 1, part 2) where they talked about the the changes in programming over the past 15 years and what they see in the future. They spoke briefly about what they would like to see come in the future. In another episode of Hanselminutes (Scott talks to Martin Fowler and David Heinemeier Hansson), they spoke about this topic. I think that we are witnessing the birth of what will become that next big explosion which will be a much more rich user experience.
    It seemed most reasonable to me that the richness of user experience tools and their portability to different platforms (Operating System as well as Desktop- vs. Web-based) is going to see an explosion in Domain Specific Views. We’ve heard about Domain Specific Languages. David Heinemeier Hansson hints at this when he’s speaking of whether or not something is a radio button or a drop-down list and they gloss over the Minority Report style user experience. I think that the tools that we are being given now will enable us to deliver things like google-maps integrated property management systems. Gone will be things like tab controls where all the tabs are just different top-level views of the model, it may be different visual representations of the object (say an external view of a building, then a different view where you see the framing or electrical layouts) rather than just label-textbox combinations (unless the user would want to use such a view as an alternative). I see the future of these user interface technologies enabling developers to, more easily, create these types of visualizations (a la, say, Red Alert) and start to build new "common" controls for people to use. If I think of how many times I have been asked to update a diagram to use the widget set from the latest version of Visio so my diagrams look pretty and "standard" (customer’s word), I don’t think it would be a stretch to see these technologies ebb their way into this type of domain.
    You may very well be right that these presentation technologies may be yet another indication that, if you flood the market with a bunch of similar or related technologies, that you are bound to hit the mark for something that will become the next big thing where someone else will build on what has been done and define the next body of "best practices".

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s