Object-Relational Mapping

by iatanasov 18. July 2007 05:54

Introduction

 

Currently, Object-Relational mapping is probably the hottest topic of discussion on the internet in terms of the various software development circles. With all the hype surrounding ORM, it is easy to forget the why?. Why does ORM exist? It would seem that ORM has become somewhat of a religious war. One can only wonder if the ORM war will have people in the future asking a why? The focus of Object-Relational mapping is to solve the object-relational impedance mismatch. I.e. the object model does not equal the relational model and this is considered by many to be a problem. There are those that have subscribed to the viability of ORM as a persistence strategy, and there are those that have not. Some have questioned whether the object-relational impedance mismatch is a problem at all. Others argue that the object-relational impedance mismatch issue is being solved on the wrong side of the equation. I.e. there are those that advocate the use of Object-Oriented databases as a solution and not ORM. The fact that ORM has created so much attention and heated debate implies that there is something of importance or at least perceived importance. I leave it up to you to decide. That something deserves a closer inspection to separate the hype from the fact. The aim of this article is to encompass important a view for and against ORM. By so doing, it is intended to establish a different, or at least more informed, perception of ORM regardless of what the current perception may be.

 

Intent

 

To be fair, the topic of Object-Relational Mapping requires a book to address all the matters relating to it in its entirety. I provide just enough information in this article to allow one to consider ORM from a pragmatic perspective.

 

Object-Relational Mapping as a persistence strategy is both a statement and a question. In the first instance, I am implying that ORM is a persistence strategy. In other words, ORM is a viable technology in terms of satisfying ones persistence requirements. In the second instance, I am questioning ORM as a persistence strategy. I.e. Is ORM a viable solution in terms of satisfying ones persistence requirements. The focus of this article is not on the best ORM tools that are available. Best is at best transient and what is best today may not be whats best tomorrow. Instead, the focus is on ORM at a conceptual level. The reason that I have chosen to focus my attention at a conceptual level is due to the nature of change. ORM tools will appear, change, disappear and reappear. Technology will evolve and so will ORM tools. I consider the concepts behind ORM to be of far more significance and value. This allows one to view ORM in a pragmatic and hopefully unbiased view. Therefore, the intent of this article is to view ORM at a conceptual level, in an unbiased manner, and assume a technology agnostic approach.

 

For the purpose of clarity, the intent of this article is further summarized to be as follows:

 

  • Description of ORM
    • What is ORM?
    • Why does it exist?
    • In what form does it exist?
    • What are the problems associated with ORM?

  • Viability of ORM as a persistence strategy
    • Discussion on the requirements of a persistence strategy. Determining how well if at all ORM satisfies persistence requirements.
    • Reusability
    • Maturity
    • Time and Cost
    • Architecture

 

  • Choosing an ORM
    • Commercial vs. Open Source vs. In-house

 

  • Succeeding with ORM

 

Failing with ORM

Object-Relational Mapping

 

Often, a good way of understanding what something does, is to understand the reason for its existence. I.e. why does it exist? In terms of enterprise software development, most if not all software systems deal with getting data in and out of a data store. In this context the form of data store is unimportant. What is important is how one deals with the data store persistence. Data persistence implies the concept of persisting and retrieving data. It is a common and recurring development challenge. For those that are familiar with design patterns, the aforementioned statement should sound oddly familiar. Design patterns, at their simplest definition, are tried and tested solutions to common and recurring challenges. Therefore, is there or are there design patterns to deal with data persistence. Yes, there are many patterns that one might employ to deal with the data persistence challenge. Is ORM such a design pattern? ORM may use many design patterns to achieve its end. Whether it in and of itself is a pattern is probably a discussion best left to another article or forum. ORM is a technique that one might choose as a data persistence strategy. ORM is a solution, not the solution. It does help address a common development challenge, that being of data persistence. The popular term to describe the data persistence issue is that of the object-relational impedance mismatch. The question that arises is whether the impedance mismatch is really an issue. The Java development community seems to have adopted ORM well before any of the other development communities. I used the word seem as I have not encountered all development communities and therefore cannot say with certainty that this is the case. The Microsoft development community has chosen to ignore the object-relational mismatch until recently. I say recently because there only seems to be a boom in terms of the availability of ORM tools in recent times. I am not, however, implying that Microsoft has chosen to ignore the mismatch issue. Before continuing the discussion of ORM, the following points are highlighted in terms of understanding the definition of ORM.

 

  • It provides a way to resolve the object-relational impedance mismatch. This object-relational impedance mismatch is considered to be the core problem.
  • It is a technique for converting data between a relational database and an object-oriented programming language
  • It is an abstraction of data persistence code
  • The result of an ORM implementation is often likened to that of a virtual object database.
  • ORM provides us with database independence 

To further elaborate on what ORM is, I discuss ORM in terms of the following challenges:

 

  • Core Challenge
  • Conceptual Challenge
  • Legacy Challenge
  • Usability Challenge

 

Currently rated 4.0 by 1 people

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

object-oriented programming | architecture

Comments

October 21. 2009 18:36

Gravatar

Just wanted to say thanks for this.

cash loans us

October 31. 2009 14:03

Gravatar

Nice resource. rss feed added

easy personal loans us

December 16. 2009 23:45

Gravatar

This is very detailed and informative article. Thanks for helping me solve my dilemma!

payday loans us

January 17. 2010 17:23

Gravatar

this was an eye openner on ORM , gr8 post.
- Jane

hair removal in austin bz

January 28. 2010 14:46

Gravatar

Action itself, so long as I am convinced that it is right action, gives me satisfaction.

Loans in WV us

February 12. 2010 12:57

Gravatar

Object-Relational Mapping. Some interesting information, well researched. I'll put a link to tjis site on my blog.Thank you! .

herpes photos us

February 13. 2010 04:03

Gravatar

Object-Relational Mapping. Useful information shared..Iam very happy to read this article..thanks for giving us nice info.Fantastic walk-through. I appreciate this post.

practice us

February 18. 2010 23:56

Gravatar

No one can possibly achieve any real and lasting success or 'get rich' in business by being a conformist.

colon cleaner us

February 25. 2010 17:34

Gravatar

I admire what you have done here. I like the part where you say you are doing this to give back but I would assume by all the comments that this is working for you as well.

pay day loans

February 27. 2010 08:16

Gravatar

Your blog is so informative … keep up the good work!!!!

personal loans

February 28. 2010 12:11

Gravatar

I admire the valuable information you offer in your articles. I will bookmark your blog and have my children check up here often. I am quite sure they will learn lots of new stuff here than anybody else!

Acne scar treatment

March 2. 2010 01:57

Gravatar

Object-Relational Mapping. Very interesting post to hang on..Iam really impressed with this article..Looking for more info...

personalized us

March 3. 2010 05:03

Gravatar

Object-Relational Mapping. Very interesting post to hang on..Iam really impressed with this article..Looking for more info...

asvab us

March 3. 2010 23:50

Gravatar

As a Newbie, I am always searching online for articles that can help me. Thank you

Colon cleansers

March 4. 2010 13:48

Gravatar

Have you ever considered adding more videos to your blog posts to keep the readers more entertained? I mean I just read through the entire article of yours and it was quite good but since I'm more of a visual learner,I found that to be more helpful well let me know how it turns out! Big thanks for the useful info i found on Object-Relational Mapping.

cash payday loan

March 5. 2010 08:16

Gravatar

Object-Relational Mapping. Very interesting post I have seen here.Thanks for posting it..

side effects us

March 7. 2010 04:06

Gravatar

Hey very nice blog!! Man .. Beautiful .. Amazing .. I will bookmark your blog and take the feeds also... Big thanks for the useful info i found on Object-Relational Mapping.

quick payday loans

March 8. 2010 20:53

Gravatar

Hi Webmaster, commenters and everybody else !!! The blog was absolutely fantastic! Lots of great information and inspiration, both of which we all need!Keep 'em coming... you all do such a great job at such Concepts... can't tell you how much I, for one appreciate all you do! Big thanks for the useful info i found on Object-Relational Mapping.

payday cash loans

March 13. 2010 16:25

Gravatar

Have you ever considered adding more videos to your blog posts to keep the readers more entertained? I mean I just read through the entire article of yours and it was quite good but since I'm more of a visual learner,I found that to be more helpful well let me know how it turns out!

Stretch mark removal

March 26. 2010 11:41

Gravatar

I would like to thank you for http://faves.com/users/r.sharp49 the efforts you have made in writing this article. I am hoping the same best work from you in the future as well. In fact your creative writing abilities has inspired me to start my blog http://delicious.com/r.sharp49 now.

Courtney Bielicki cn

March 26. 2010 12:01

Gravatar

I appreciate the article; it has given me http://www.folkd.com/user/jkljkl a brief idea on this topic. You have done a marvelous job by exploring this subject with such an honesty and depth. Thanks for sharing it http://www.folkd.com/user/heymate with us!

Francis Galanga cn

March 26. 2010 12:28

Gravatar

This is my very first time here , really good looking blog http://www.hotyear.com. I found a lot of interesting stuff within your blog especially it's discussion. From all the remarks on your articles, it appears like this is a very http://www.s101.net popular website. Keep up the good work.

Sydney Giuffre cn

March 26. 2010 13:06

Gravatar

Your blog provided us with valuable http://www.codeplex.com/site/users/view/richard56 information to help us get http://www.bigoven.com/~richard56 started.You have done an impressive http://www.naymz.com/richard_richard_3262174 job!

Demetrius Poot cn

March 26. 2010 13:37

Gravatar

Your blog provided us with valuable http://www.codeplex.com/site/users/view/richard56 information to help us get http://www.bigoven.com/~richard56 started.You have done an impressive http://www.naymz.com/richard_richard_3262174 job!

Jina Vaka cn

March 26. 2010 23:34

Gravatar

Thank you for another great article. Where else could anyone get that kind of information in such a perfect way of writing? I have a presentation next week, and I am on the look for such information. Big thanks for the useful info i found on Object-Relational Mapping.

toe fungus treatment

March 28. 2010 03:00

Gravatar

Wow! Thank you! I always wanted to write in my site something like that.

easy approval payday loans

March 30. 2010 07:04

Gravatar

Searching for this for some time now - i http://www.indabamusic.com/people/593613076 guess luck is more advanced than http://youngwendyblog.blogspot.com/2010/03/take-look-at-my-drinking-water-filter.html search engines

Marianela Cilenti cn

March 31. 2010 00:51

Gravatar

I love what you guys are always up too. Such clever work and reporting! Keep up the great works guys I've added you guys to my blogroll. Big thanks for the useful info i found on Object-Relational Mapping.

genital warts treatment

March 31. 2010 10:06

Gravatar

I enjoying this site, this site some great resource that you http://delicious.com/ofself are providing and give it away for free. Thanks http://faves.com/users/thigpenmorgan for taking the time to discuss this site. I really loved reading this post.

Latina Centrone cn

April 2. 2010 05:31

Gravatar

I am not really sure if best practices have emerged around things like that, but I am sure that your great job is clearly identified. I was wondering if you offer any subscription to your RSS feeds as I would be very interested and can?t find any link to subscribe here.

used auto loans

April 3. 2010 12:06

Gravatar

I would like to http://www.extratasty.com/profile/23730/richard56 add your blog to my blogroll http://kaseyluvblog.blogspot.com/2010/03/drinking-water-filter-system-review.html please tell me what anchor should I use?

Isaias Falk cn

April 3. 2010 12:21

Gravatar

Pleased to see your website! http://www.slideshare.net/jkljkl520/drinking-water-filter hope you have a nice day! http://www.scribd.com/doc/29082722/Drinking-Water-Filter Thank you for this blogging http://www.docstoc.com/docs/31977803/Drinking-water-filter I will come back again.

Bryanna Chaplen cn

April 5. 2010 07:31

Gravatar

You made some good points there. I did a search on the topic and found most people will agree with your blog.

debt relief programs

April 5. 2010 21:20

Gravatar

Excellent read, I just passed this onto a colleague who was doing a little research on that. And he actually bought me lunch because I found it for him smile So let me rephrase that: Thanks for lunch! Big thanks for the useful info i found on Object-Relational Mapping.

getting rid of cellulite us

April 7. 2010 02:15

Gravatar

You really make it seem so easy with your presentation but I find this topic to be really something which I think I would never understand. It seems too complicated and very broad for me. I am looking forward for your next post, I will try to get the hang of it!

easy egg recipes cn

April 8. 2010 20:53

Gravatar

I have recently started using the blogengine.net and I having some problems here? in your blog you stated that we need to enable write permissions on the App_Data folder...unfortunately I don't understand how to enable it.

drinking water filters us

April 9. 2010 08:08

Gravatar

Good business leaders create a vision, articulate the vision, passionately own the vision, and relentlessly drive it to completion.

MO Payday Loans us

April 11. 2010 13:41

Gravatar

I wanted to say that it's nice to know that someone else also mentioned this as I had trouble finding the same info elsewhere. This was the first place that told me the answer. Thanks.

emergency personal loans us

April 14. 2010 11:53

Gravatar

I have a not bad sense of humor and I enjoy laughing the wacky of her jokes.

Burton Haynes us

April 25. 2010 05:57

Gravatar

d

drinking water filter us

May 3. 2010 02:52

Gravatar

This is my first time i visit here. I found so many interesting stuff in your blog especially its discussion. From the tons of comments on your articles, I guess I am not the only one having all the enjoyment here! keep up the good work.

personal loans for bad credit us

May 9. 2010 00:30

Gravatar

Aw, this was a really quality post. In theory I'd like to write like this too - taking time and real effort to make a good article... but what can I say... I procrastinate alot and never seem to get something done.

payday loans us

Comments are closed

Powered by BlogEngine.NET 1.1.0.7
Theme by Mads Kristensen

About the author

Ivan Atanasov - web developer
E-mail me Send mail Subscribe Feed

Calendar

<<  May 2012  >>
MoTuWeThFrSaSu
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

View posts in large calendar

Pages

    Recent posts

    Recent comments

    Authors

    Disclaimer

    The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

    © Copyright 2012 it-coder.com

    Sign in