Friday, February 23, 2007

Welcome to the exploration

This is an experiment. After a year or two only wetting my feet in O/R Mapping on the .NET platform and talking more about it than actually using it, I really want to dive deeply into it. I believe O/R Mapping is a very, very useful concept, and I actually want to apply it to scenarios I see again and again in my clients´ projects.

I plan to explore the world of O/R Mapping for several months and report my findings in this blog. There sure will be positive things to be said about O/R Mapping, but I also expect to hit walls where O/R Mapping is not (yet) the best solution. Although I´ll start with basics my interest mainly lies with advanced topics like how to use O/R Mapping in distributed .NET applications or what impact O/R Mapping has on .NET application architecture.

I hope to stumble across patterns which are generally useful, however, my point of view will be pretty subjective. I don´t expect to find "the one truth" (if there should be one ;-) for dealing with object persistence. Rather I hope to stumble across pragmatic everyday solutions - which might be overthrown tomorrow by new insights. Or to say it more bluntly: This blog will be the diary of a pathfinder who hopefully will find at least some green pastures to settle on, but who probably will also sometimes get lost and need to backtrack.

For my exploration of the world of O/R Mapping I choose one of the many frameworks available: Vanatec´s OpenAccess (or VOA for short). Why do I choose VOA? There are several more or less subjective reasons:
  • It seems to be one of the more mature O/R Mappers on the market.
  • I like its non-intrusive approach to object persistence.
  • It seems to be targeted not only at small persistence scenarios but to be "enterprise ready".
  • I´ve worked with it in the past and am somewhat familiar with it.
  • It´s manufactured by a company in Germany dedicated to just O/R Mapping and targetting the international market. Their support is very responsive.

Are these compelling reasons to choose VOA over other options like NHibernate or Wilson ORMapper or LLBLGen Pro? Well, not in an absolute way. But since I´m not claiming to have chosen the best tool on the market, but just one that has sufficient appeal to me, they don´t need to be compelling for everybody. I´m not suggesting to use VOA over any other O/R Mapper without a thourough evaluation.

This blog is not trying to sell anything. In the end each reader, i.e. you!, has to choose an O/R Mapper on his/her own. In order to do my exploration, though, I had to make a choice. There´s no way for me exploring O/R Mapping using several O/R Mappers at the same time. So if you´re disappointed I did not choose your favorite O/R Mapper, please have some leniency with me. Maybe you want to start an exploration of your own? There are blogs left at ;-) Help yourself...

And now, without further ADO, let the exploration begin...


PS: Oh, wait, just a second...

Since this blog will not only talk about a concept (O/R Mapping) but also heavily use a particular implementation (VOA), some of you might be thinking, if I this is just a marketing venture? Well, it is not. Vanatec did not hire me - rather, I as a freelancer author/consultant approached them with the idea.

Suddenly last year I realized a lack of literature on O/R Mapping going beyond just the basics. So I asked myself how I could improve the situation and had the idea of writing a book on O/R Mapping for .NET developers. Since there are already books on Hibernate, I thought I should use a different technology to cover more of the options available. Then, after doing some research, a book seemed to be the wrong format for the quite volatile and sometimes uncharted field of O/R Mapping. So I decided to do a blog, and a dedicated blog on top of that to make it easier for the readers and me to focus on the topic.

I´ve known Vanatec or its predecessors Versant and POET for some 16 years now. I had been one of the beta testers of the first version of the ODBMS POET and since then had talked with them now and again about making their persistence technology available to VB6/.NET developers.

Then POET/Versant released their first O/R Mapper when there were just few such tools available for .NET. Since I already knew them and they were located in Hamburg, Germany, my home town, we started talking about how to educate the .NET developer community about O/R Mapping. But since my interest is not really selling a particular product, but getting a valuable technology at my fingertips, one of my first suggestions was to set up an advisory board consisting of .NBT community members to give them unbiased feedback on their O/R Mapper. This has worked out quite well so far.

It is in this line I see this blog. For me it´s a means to deepen my experience with O/R Mapping in general by working with a particular product. But at the same time it´s a way of giving honest feedback to the developers of the product. So if I dislike a feature or stumble across a limitation, I will say so. (Sure with an Open Source product I could sit down an improve it myself. Unfortunately, though, I´m quite busy doing a lot of other things and don´t have time for such work.)

The main reason behind approaching Vanatec with this idea instead of any other O/R Mapper manufacturer was to get maximum support during my exploration. I personally know some of the developers and hence expect them to be most open to me. So it´s a matter of efficiency of my learning process to have chosen VOA.

Sure, Vanatec liked my idea of a publication on my way through the O/R Mapping world using their tool. It´s marketing for them. So they agreed to give me the support I wanted. And I say: Thank you! It will make it much easier for me to move forward. But let me tell you: This won´t change my opinion. If I come across a problem with VOA, I´ll let you know.

Ok, enough said. Let´s start...