Blog Stats
  • Posts - 55
  • Articles - 0
  • Comments - 1229
  • Trackbacks - 282

 

To (O/R) map or not to map

Ultimamente sono diventato un fan degli Object Relational Mappers, in particolare di ORMapper di Paul Wilson e di NHibernate.

All'inizio ero scettico, titubante per paura di aggiungere complessità alle mie applicazioni (avete presente la Enterprise Library?); poi ho dato un consiglio "spassionato" ad un collega che mi ha trascinato con il suo entusiasmo.

Clemens Vasters, "Community Relations Program Manager for the Windows Communication Foundation at Microsoft Corporation", ritorna sull'argomento riportanto anche buoni argomenti. I soliti di chi non scrive codice ;-) e quindi non ne ha capito i vantaggi.

Proper data management is the key to great architecture. Ignoring this and abstracting data access and data management away just to have a convenient programming model is … problematic.

[...]

Many of the proponents of O/R mapping that I run into (and that is a generalization and I am not trying to offend anyone – just an observation) are folks who don't know SQL and RDBMS technology in any reasonable depth and/or often have no interest in doing so.

Sono felicissimo di non scrivere più codice SQL, confonderlo con il codice dell'applicazione (senza arrivare a scrivere la logica nelle store procedures, che avete capito?), cambiare continuamente focus da uno strumento all'altro, da un linguaggio all'altro. E' anche più facile da trasmettere al team l'accesso ai dati: non devono più occuparsene.

I puristi come Clemens hanno ragione nel dire che si rischia di dimenticare il database (valore principale e forse scopo dell'applicazione) ma chi usa un O/R Mapper sa qual'è la fatica e la mole di codice da scrivere ogni volta per l'accesso al database.

Another argument I keep hearing is that O/R mapping yields a significant productivity boost. However, if that were the case and if using O/R mapping would shorten the average development cost in a departmental development project by – say – a quarter or more, O/R mapping would likely have taken over the world by now.

Sono diventato molto più produttivo. Ora ho solo collection con cui fare databinding, non converto più da un tipo all'altro e mi son scordato dei Datasets.

Certo ho impiegato un po' di tempo per il setup dell'ambiente (configurazione e data mapping): ma alla lunga ne ho risparmiato di tempo e codice. Provate a contare le righe del vostro codice dedicate al binding con i vostri oggetti di business.. Ora li ho eliminati!

Una volta c'era l'OleDb con cui si poteva ragionevolmente adattare la propria applicazione ad un database diverso da quello per cui era stata sviluppata, a scapito delle prestazioni: forse per questo son nati i provider nativi. (ok, nel tempo anche l'Enterprise Library ha implementato un factory pattern per lo scopo). 

Con il Wilson ORMapper ho cambiato al volo il database e la mia applicazione non ha fatto una piega (per la cronaca, da sql server a db2): non è certo la normalità, ma a volte risulta utile.

Prestazioni? Paul Wilson ha dimostrato in passato che per molte operazioni surclassa il caricamento di un Dataset e personalmente non ho mai dovuto ottimizzare l'accesso ai dati.

Solo per condividere le mie esperienze, non devo vendervi nulla! :-P

Se avete scritto un Data Access Layer che funziona benissimo, buon per voi! Ma guardatevi un O/R Mapper, magari open source. Sarà un'occasione per migliorare il vostro DAL o migliorare il vostro metodo di lavoro.


Feedback

# re: To (O/R) map or not to map

Gravatar Concordo con te, l'uso di un orm aumenta la produttività (vedi team di una persona).

:) 09/03/2006 14:51 | Antonio Di Motta

# re: To (O/R) map or not to map

Gravatar Mah, come per tutto il resto dipende sempre da cosa devi fare.
Ci sono casi quando un dataset basta e avanza, ci sono casi dove un ORM e' perfetto e altri dove devi mettere mano al SQL+SP per forza.
Io, anche usando ORM, non sono felice di non scrivere piu' SQL, anzi, quando posso torno al "basso livello", perche' secondo me se vuoi essere completo, devi tenerti aggiornato su tutte le problematiche architetturali.
Ciao ;-) 09/03/2006 17:11 | Michele Bersani

# re: To (O/R) map or not to map

Gravatar Michele, penso di sapere di aver imparato l'SQL nel tempo.. ma ho anche imparato che facevo sempre cose ripetitive e non immuni da errori.

Adesso mi concentro su di un linguaggio .NET, faccio debugging in visual studio e la mia applicazioni non ha dipendenze con il database: non dirmi che non ti sei trovato a rilasciare una modifica codice + store procedure..

Il database è importante, ma non è mai stato un problema architetturale.. ma questo dipende se ne hai il controllo.. ;-) 09/03/2006 21:41 | Marco

# How Choose Girls Up - 5 Secrets Every Pick Up Artist Knows

Gravatar Good day I am so thrilled I found your webpage, I really found you by error,
while I was researching on Yahoo for something else, Nonetheless I am here now and would just like to say thanks for a marvelous post and a all round entertaining blog (I also love the
theme/design), I don't have time to read it all at the moment but I have saved it and
also added in your RSS feeds, so when I have time I will be back to read more, Please do keep up the superb job. 18/11/2017 01:59 | Crist

# Im happy I finally registered

Gravatar An impressive share! I have just forwarded this onto a co-worker
who was conducting a little homework on this.
And he in fact ordered me lunch simply because I
found it for him... lol. So let me reword this.... Thanks for the meal!!
But yeah, thanks for spending time to discuss this subject here on your internet site. 23/05/2018 13:59 | Bonnor

# Just want to say Hi.

Gravatar Thanks , I have just been searching for info about this topic for
a while and yours is the greatest I have discovered till now.
However, what about the bottom line? Are you certain in regards to the supply? 24/05/2018 16:07 | Cotter

# I am the new guy

Gravatar You can certainly see your skills in the work you
write. The arena hopes for more passionate writers such as you who aren't afraid to mention how they believe.

Always follow your heart. 08/06/2018 00:56 | Overby

# I am the new one

Gravatar Fantastic beat ! I wish to apprentice while you amend your website, how can i subscribe
for a blog web site? The account helped me a acceptable deal.

I had been tiny bit acquainted of this your broadcast offered bright clear concept 10/08/2018 21:59 | Valles

# Im glad I finally signed up

Gravatar Hello, i read yоur blog from time to time and i own a similar one and i was justt wondering if you get a lot of pam feedback?
If so how do you stop it, any plugin or anytһing you can suggest?
I get so much lately it's driving me mad so any heelp is very much appreciated. 12/09/2018 12:21 | Tafoya

Comments have been closed on this topic.
 

 

Copyright © Marco Trova