Frans Bouma's blog

Generator.CreateCoolTool();

Syndication

News



    Visit LLBLGen Pro's website

    Follow me on Twitter

    Add to Technorati Favorites

About me

Fun stuff I created

My work

Thought experiment: Objectspaces will limit interest in O/R mapping

Today I've posted this as a reply in the Microsoft.public.objectspaces newsgroup. I think it's also blogging material, so that's why I post it here too. You can decide to react here, on your own blog, but also in the microsoft.public.objectspaces newsgroup, available on the msnews.microsoft.com USENET server.

The person who wrote the quote has a valid point. This is the basis for the thought experiment: will Objectspaces and its quality (and limits) limit interest in O/R mapping?

My problem w/ #4 is that there's no sense creating a vendor dependency on a product that wont be around long after ObjectSpaces is released. Let's face it, without a standards-based approach like JDO to back them up non M$ vendors have zilch going for them other than the fact that ObjectSpaces isn't out yet.

If this is true, MS is thus killing businesses by providing an inferior technology (it supports just 1 db) and still can get away with it. An EJB-CMP or JDO equivalent would have been the best choice, so all O/R mapper vendors could target that spec. Now it's indeed an open market which will be dominated by the one who can set the de-facto standard. It's easy to guess which company that will be.

Still, I think that with the limited feature-set of ObjectSpaces (and the fact that it is not yet available), it is not a good thing for O/R mapping for .NET in general: because it will be seen as the de-facto standard and because its limitations are there, a lot of people will/can think O/R mapping is not for them and will stick with Datasets.

The hype around ObjectSpaces is dying too, as it seems. If you look at the MSDN site, every 2 days or so a couple of articles are posted about next-gen technologies like avalon, indigo, whidbey etc, not ObjectSpaces. As if its a 'last minute' tool and not that important. This can (speculation) probably be caused by the fact that there are problems with the implementation or that it simply isn't seen as an important aspect of .NET 2.0, however it is important for O/R mapper vendors out there.

By ignoring the fact that ObjectSpaces will be seen as the de-facto standard and its limited focus/featureset, Microsoft kills more or less the interest in O/R mapping. After all, O/R mapping is a technology that is not yet widely accepted, you see DataSets everywhere; when an article describes data-access it's in the far majority of cases about DataSets, not about O/R mapping.

Now, in that situation, if a developer's first experience with O/R mapping is ObjectSpaces, will he be looking for other tools because of the fact he's interested in the technology? I don't think so: or he's happy with ObjectSpaces, or he's not happy with ObjectSpaces and is dissapointed in O/R mapping and returns to typed DataSets and stored procedures.

It's not hard for me to produce a group of templates for LLBLGen Pro which generates code / xml files compatible with ObjectSpaces code/targeting ObjectSpaces classes, so people can use my O/R mapper tool to create the mappings. ObjectSpaces however is too limited: no Oracle for example. Now, a lot of Oracle databases behind websites power asp-websites and these will (are) be ported to ASP.NET. Developers look at whidbey, and think: "we have two choices: ObjectSpaces or DataSets". ObjectSpaces doesn't work with oracle, so the logical option will be DataSets. Do you think they start with "I want O/R mapping!"? No, they start by looking at how they can ease interaction with the persistent storage. Because ObjectSpaces is seen as the de-facto standard (by then) and because it doesn't work with for example Oracle, the developers will opt for the other de-facto standard: DataSets.

It's a myth to think that the majority of developers start by "I want O/R mapping" and then look for tools and then start coding. They think in: "I want to / have to read/write data into/from a database" and because they are spoiled with the n-tier model for years, they think in "DAL tier" and "BL tier". The DAL has to do the persistence work. They have .NET 2.0, and start looking for options in .NET 2.0 to work with data. ObjectSpaces, DataSets... the works. What to choose? Only if they tried them all and have read that O/R mapping really is great and some tools out there offer solutions for O/R mapping for .NET, they'll start looking for those tools. In all other situations, they'll either stick with ObjectSpaces or if that's a dissapointment, will then try DataSets.

So for O/R mapper vendors, as I see it, it's a choice between a rock and a hard place. If ObjectSpaces is great, interest for O/R mapping will grow, however because ObjectSpaces is great and free and already installed with .NET 2.0, why bother buying another tool? If ObjectSpaces is not that great, interest in O/R mapping will die away ("I looked at it, but I don't understand the hype") for the majority of developers and the reason to buy another tool for O/R mapping purposes is fading away.

I really don't know what to do. O/R mapping really needs a lot of positive air-time in the .NET community to gain interest, otherwise it will die a quiet death and will stay the technology of a few people. I understand the propriety API issues that come with every O/R mapper vendor out there, but because Microsoft has made a fatal error by not offering a great, standard API spec like EJB-CMP or JDO to work with, this will not change.

In the end, the average developer will suffer from this, because the amount of choices for O/R mappers all using the same API is not available. The average developer will also not move to O/R mapping instantly, because it is not an appealing technology because of ObjectSpaces' limitations. (or as the head of DotNed (The Dutch .NET user group) described it (not literally): "It's a very complex technology, only use it if you're really interested.")

For the coming 6 months I've decided to write as much positive things about O/R mapping as I can, to make it interesting for a lot more people so when ObjectSpaces arrives they'll not be dissapointed in O/R mapping because of ObjectSpaces but will know that there are alternatives which do produce what they want.

I hope other O/R mapper vendors will follow that initiative so more and more people will get interested in O/R mapping in general.

Published Thursday, January 22, 2004 11:23 AM by FransBouma

Filed under:

Comments

# re: Thought experiment: Objectspaces will limit interest in O/R mapping@ Thursday, January 22, 2004 6:25 AM

Just a few random thoughts:

First of all, the fact that OS is used both in MBF and in WinFS IMHO show that MS has a lot of interest in this tool and that it is putting adequate resource to the problem. Much more than most of the 1-man-show-O/R mappers in the market can muster. I really have a lot of respect for people like yourself who can build such a great tool as LLGLGen (I never seem to get the spelling right :), so this is by no means meant in personal way.

Availability: Since the PDC many developers have access to OS in one way or another. I have met a fair number of people who don't have MSDN Universal, are not in the Alpha, haven't been to PDC and still have a nice copy of the Whidbey package sitting on their desktops, so I don't think that availability really is a problem.

Maturity: Many tools are called v1.0 when they are in fact v0.9b. Especially a problem with smaller companies. I am working for a small company, so I am not trying to dis small corps per se, it is just a matter of statistics.

Features: My impression is that OS covers >80% of the stuff that is needed for most people. No, it is not a be-all, end-all solution. In fact, no tool is and will ever be. Talking about Oracle, I am fairly sure that someone will use that Provider structure of OS and produce an OS provider for Oracle even before OS ships. It certainly is not a big deal to do that.

Price: OS is free. Kind of. Other tools aren't. So what? - I think most decent projects/companies can easily afford a couple 100 or even 1,000 bucks if the benefit is there. Many amateur programmers don't have that kind money, but they can always use Paul's tool (which is great, btw) :)

Monopoly games: When MS bought that Canadian CMS company a while ago, many MS-based CMS vendors and partners of MS were really pissed. I certainly was. But this is how life goes. In hindsight, it did not do much damage to the market as far as I can see. Some vendors lost some business and had to move their ass to innovate beyond the crappy MS CMS. Some did well, others failed. But the same thing would have happened if some brand-new Corp X suddenly came up with a new and brilliant CMS. So, I don’t think MS is going to ruin the O/R landscape by putting out a new (free) tool.

Result: I think O/R vendors have a tremendous opportunity ahead if the manage to innovate. Analyze OS as I am sure you already did, find the problematic areas, difficiencies and things that suck and build a tool that does better. Given your stance in the ‘community’ I think you will do pretty well!!

Marc Hoeppner

Marc Hoeppner

# re: Thought experiment: Objectspaces will limit interest in O/R mapping@ Thursday, January 22, 2004 6:47 AM

Just some answers:

::First of all, the fact that OS is used both
::in MBF and in WinFS IMHO show that MS has a

Since WHEN is Objectpaces used in WinFS?

Must be new news.

Thomas Tomiczek

# re: Thought experiment: Objectspaces will limit interest in O/R mapping@ Thursday, January 22, 2004 7:26 AM

If I remember correctly, I got that from Luca's presentation on the PDC, but I'll try to find a good quote somewhere.

Marc Hoeppner

# re: Thought experiment: Objectspaces will limit interest in O/R mapping@ Thursday, January 22, 2004 8:08 AM

::If I remember correctly, I got that from
::Luca's presentation on the PDC

If I got it right, they use the same API and query language, but ObjectSpaces is not really used as engine.

WinFS is imho NOT built on ObjectSpaces.

Thomas Tomiczek

# re: Thought experiment: Objectspaces will limit interest in O/R mapping@ Thursday, January 22, 2004 8:53 AM

Objectspaces will limit interest in 3rd party O/R mapping solutions.

Yes it will, unfortunately.

Paul Gielens

# re: Thought experiment: Objectspaces will limit interest in O/R mapping@ Thursday, January 22, 2004 8:54 AM

While I don't disagree that MS can kill competition I disagree that ObjectSpaces will result in O/R mappers going away. There is already a growing group of vendors/communities writing O/R mappers. Each one has its pros and cons - which ObectSpaces will have to beat or not be used. For me personally, ObjectSpaces will have to support more databases than SqlServer and Access.

We really have two classes of developers in .NET - the enterprise developer and the business guy who is developing. This is a huge generalization - but I would consider the business guy lost to MS - unable to explore beyond the namespaces that ship with the framework. What we have to be able to do as developers is sell the best of breed solution to our management, regardless of who the vendor is. It seems we so often fall into the trap of doing the easy thing and just using what is given to us by MS.

The enterprise guy is someone who reads a blog entry from a company president and is open to giving it a try - even when they have used an MS product for years, or sees a "N" infront of a Java project (Ant,JUnit,etc...) that they have used for years and realizes that it should be tried in .NET, or etc...

The enterprise .NET community is really growing, you can tell by some of the new sites popping up and better discussions on blogs. We are getting beyond the discussions of how do you drag a table onto a form. This is the group that will use any technology because it is superior - wether it comes from MS, Thona Consulting, or from SourceForge.

Don't sell the enterprise community short by saying MS will kill O/R mappers. If you develop a good product and put a good face out there it will probably find a market. Maybe the enterprise community can hollar loud enough to get MS to start producing open specs along with their products. Even though there are alot of complaints about the JCP, atleast it exists.

Mike Doerfler

Mike Doerfler

# re: Thought experiment: Objectspaces will limit interest in O/R mapping@ Thursday, January 22, 2004 9:12 AM

Guys, correct me if I'm wrong, but if the Java O/R mapping scene is vibrant and healthy, surely there'll be no end in sight to porting these same tools to C#, thereby keeping the.Net O/R mapping scene just as vibrant simply because it's so easy to do (porting I mean).

senkwe

# re: Thought experiment: Objectspaces will limit interest in O/R mapping@ Thursday, January 22, 2004 11:36 AM

senkwe,

Frans point is that since MS is providing OS for free in the Framework that most people will choose to use that or stick with DataSets rather than buy a 3rd party O/R mapper. I'd agree with that. I don't think we'll see a lot of O/R mappers, ported or created from scratch, once OS escapes....err...is released.

I think he makes a good point about OS being limited to SQL server. I think that developers that are used to doing O/R mapping using a framework and that need to use !MS SQL as their data store may look to 3rd party tools. But that will be MUCH smaller audience than exists now.

If I were planning on writing positive articles about O/R mapping, and I may if I can get off my lazy butt and write, I'd take the tact that you end up doing O/R mapping in your code whether you use an O/R mapper or you use DataSets. Show how it's easier to do that mapping using a 3rd party O/R mapping framework rather than in your application code, especially when it comes to refactoring your application.

Scott

# re: Thought experiment: Objectspaces will limit interest in O/R mapping@ Thursday, January 22, 2004 12:29 PM


I don't see why companies like Business Objects would be interested in supporting yet another layer. You might know that Business Objects is successfully implanting their semantic layer in the products since the early 90s. And a special layer already drives whatever database you might think on whatever platform. In this regard, supporting ObjectSpaces would be just another Business Objects driver.

I see ObjectSpaces as the "yet another ultimate universal data access canvas" that will be superseded by the next one. And those balls are rolling for a decade or so. I don't see why ObjectSpaces would become the de facto standard to access SqlServer in an object manner while there have been many improvements on the ADO.NET 2.0 side. And this, not to mention the xml queriers.

There is also one thing about ObjectSpaces and the like. Translating automatically an object-like query into an SQL statement is fine but there is just one problem : in the real world, there are many issues regarding really useful SQL statements used in data mining or so-called layers that insulate people from the technical intricacies of the database. And this lind of things involve aliases, integration resolution, loop solving, ... basically what a lot of products and data access layers are doing (the Universe in BusinessObjects's semantic layer). Unless I have missed something, there does not appear to be anything related to this in ObjectSpaces.

Stephane Rodriguez

# re: Thought experiment: Objectspaces will limit interest in O/R mapping@ Thursday, January 22, 2004 7:00 PM

You, of course, are assuming that ObjectSpaces sucks. However, quite to the contrary, ObjectSpaces blows away any O/R mapper currently available (even without any IDE support). OPath queries alone are a huge feature that every other implementation should have supported a long time ago.

Jesse Ezell

# re: Thought experiment: Objectspaces will limit interest in O/R mapping@ Thursday, January 22, 2004 7:01 PM

PS: Oracle, etc. support will come with time (and can be implemented by anyone). 99% of .NET developers are going to be running on SQL server anyway, so it is almost a moot point.

Jesse Ezell

# re: Thought experiment: Objectspaces will limit interest in O/R mapping@ Thursday, January 22, 2004 8:15 PM

At the PDC2003 a new, powerful framework for developing flexible business objects, called MS Business Framework (MBF), was presented. This framework will come as a layer on top of VS.NET and will be introduced with Whidbey Enterprise Architect at no cost. Many programming chores will be automated and with Orcas this automation will go even further. Here's the key point: MBF will be intimately tied to Object Spaces (OS). Therefore, my guess is MS will put a LOT of resources in improving OS with respect to features, speed, etc. because otherwise the MBF is doomed to fail and with it MS's grand vision of dramatically boosting programmer productivity. See the corresponding PDC video presentation at http://microsoft.sitestream.com/pdc2003/ --> click "Data Systems" --> click "DAT34o-Developing Apps Using the MS Business Framework".

Reto Caviezel

# re: Thought experiment: Objectspaces will limit interest in O/R mapping@ Thursday, January 22, 2004 8:22 PM

You, of course, are assuming that ObjectSpaces sucks. However, quite to the contrary, ObjectSpaces blows away any O/R mapper currently available (even without any IDE support). OPath queries alone are a huge feature that every other implementation should have supported a long time ago. Oracle, etc. support will come with time (and can be implemented by anyone). 99% of .NET developers are going to be running on SQL server anyway, so it is almost a moot point.

Jesse Ezell

# re: Thought experiment: Objectspaces will limit interest in O/R mapping@ Friday, January 23, 2004 3:17 AM

The "YOU" in your remark, Jesse, is that someone in the comments or is that me? If it's me, you're mistaken, I never assume things and say something else. I never said it sucks, so I don't assume it will suck totally. There are severe disadvantages of using Objectspaces over another O/R mapper tool.

OPath IS bad. It is not typed, it's strings parsed at runtime, which will result in typo's causing errors you'll only see at runtime (and after testing), while it can be done in a full typed way. I don't know what you mean by "that every other implementation should have supported a long time ago.", because every O/R mapper out there has an object query system using some sort of query language. A lot of them use strings which are parsed at runtime, some use 100% typesafe objects to construct the queries like mine.

Oracle will not be implemented by a 3rd party, simply because it requires changes to the query engine of objectspaces: it now cranks out SqlServer SQL which is totally incompatible with Oracle and for example sequenced fields require extra information that can't be stored at the moment in the objectspaces files.

Frans Bouma

# re: Thought experiment: Objectspaces will limit interest in O/R mapping@ Monday, January 26, 2004 9:30 AM

Whinning that MS "is thus killing businesses" is soooo lame. Write a superior product ( that supports the major RDBMS ...2 DBs is a joke) and there you be quite a few people that will be interested in it.

Gheorghe Marius

# re: Thought experiment: Objectspaces will limit interest in O/R mapping@ Monday, January 26, 2004 9:36 AM

You really didn't get the point of the article, Gheorghe.

It's about where developers START and where they eventually end up. Perhaps you think developers start with Google and search for "The" best tool, but most developers start with the MSDN docs and vs.net and only if that truly fails they'll look for something else.

Frans Bouma

# re: Thought experiment: Objectspaces will limit interest in O/R mapping@ Monday, January 26, 2004 8:13 PM

Actually Gheorge, LLBLGenPro is a superb product (and Frans didn't pay me a dime to say that!). Support for SQL and Oracle is great and not a joke at all, given their marketshare in the PC environment. You want support for tens of databases, go pay your $100 000+ to someone...

Further comments: O/R mappers are not just for enterprise shops. My small dev shop is benefitting greatly from using LLBLGen, as I am sure are other more lateral thinking businesses, employing O/R tools right now. Geez, O/R mappers save so much time, the benefits are immense.

I certainly won't be jumping over to MS OS V1 when it eventually arrives, as long as tools like LLBLGen are delivering the goods TODAY.

Don't give up Frans!!! (...or Thomas, or any of you other guys doing great work)

John Butler

# re: Thought experiment: Objectspaces will limit interest in O/R mapping@ Tuesday, January 27, 2004 3:47 AM

Hi John! :)

We won't give up, don't worry :) O/R mapping is a great technology, and once you've used it, there is no way back :)

Frans Bouma

# re: Thought experiment: Objectspaces will limit interest in O/R mapping@ Thursday, January 29, 2004 8:43 AM

@Frans w/ regards to your reply to Gheorhe:

It is true that many developers will start with OS in the future, simply because it is 'free' and 'there'. But the same is (was) true with LLBLGEN and other tools. (Of course one didn't find it in MSDN, but these tools are easy to find in Google and/or newsgroups). And IMHO OS will be fine for many of them.

BUT: there are still a lot of developers out there who may or may not be interested to go beyond what OS offers to them. You named quite a few deficiencies yourself. Unless MS changes that in their finally release, I believe that many developers will first try OS, release the problems, make a decision to look for something else and indeed end up opening Google and/or ask for help in the newsgroups to look for 'O/R' and other keywords...

Marc Hoeppner

# Action in the Code Generation World@ Thursday, March 11, 2004 12:12 AM

Code Generation Network: ".NET developers are just starting to realize the abstraction and productivity benefits of code generation. We have interviews with the industry leaders developing new cutting edge tools for .NET code generation, as well as books and articles...

TrackBack

# re: The REAL Reason Behind the ObjectSpaces Furor@ Saturday, May 22, 2004 11:42 PM

TrackBack