in

ASP.NET Weblogs

Drew's Blog

The Joys of Technology Explored

WinFS != ObjectSpaces

In Luca Bolognese's PDC presentation on ObjectSpaces, he stated in a diagram that you should use ADO.NET's objects DataSets/DataReaders if "You require maximum control/performance/functionality" That seems to indicate that we should not use ObjectSpaces if performance, funcationality and control are a requirement.  If this is the case, it would seem that using ObjectSpaces in WinFS is very contrary.  WinFS has to be quick...not just fast...lightning fast.  We are talking about impatient users. 

I think it is important that we get Mike Deem to respond to this in his Blog.  I am going to forward this to him and post it up on the newsgroups, but maybe I am missing something. 

[Shawn Wildermuth]

It's easy to see why Shawn's concerned about this. WinFS looks so much like ObjectSpaces it's scary. However, what I think is important to realize is that the ObjectSpaces API is designed to be abstract and work over any possible datastore that might be backing your object data. The WinFS API on the other hand is designed and implemented to work with a very, very specific datastore. Truthfully we have no idea what the implementation of that datastore is, but we've been told emphatically by Microsoft reps that it is not just SQL server. With that in mind, there probably isn't much in the way of mapping/data translation as opposed to ObjectSpaces which does everything using XmlSerialization to get the data out of the object instance and ultimately into a DataSet which can then be persisted to the backing datastore.

As for the performance comments, remember ObjectSpaces is intended to be used in enterprise applications where you may be fielding 100[0]s of requests per second. With that in mind there's no doubt that using DataSets/DataReaders would be more performant since you would factor out all that mapping/translation logic. WinFS, in this first incarnation anyway, is being designed as a client technology. There is no “server story” for WinFS yet according to Microsoft reps. Considering the facts though, WinFS should theoretically outperform ObjectSpaces hands down by RTM.

Published Nov 23 2003, 12:56 PM by drub0y
Filed under: ,

Comments

 

Andres Aguiar said:

The current ObjectSpaces implementation does not use DataSets.

Also, I'm not completely sure, but I think WinFS _is_ using ObjectSpaces.
November 23, 2003 9:29 PM
 

Drew Marsh said:

You're correct, ObjectSpaces is pretty much pure XML. ObjectSpaces itself does not actually talk to a DataSet, but that's the abstraction I was talking about. Eventually though, it will need to be stuffed into a database, or some other kind of datastore, and that's where the mapping/translation penalties come in.

And, WinFS is not built on ObjectSpaces, it just shares a lot of similar concepts and one key piece of technology... OPath: http://anopinion.net/posts/282.aspx
November 24, 2003 10:29 AM

Leave a Comment

(required)  
(optional)
(required)  
Add