Seminario: NHibernate e Enterprise Library. Il mio contributo...

Come già anticipato dal buon Lorenzo (che in questo momento è in vacanza chissà dove!), a novembre avrò il piacere di tenere con lui il workshop:

Scrivere meno codice usando blocchi già pronti? Si può: NHibernate e Enterprise Library!

La parte di Enterprise Library spetta a lui, invece a me tocca intrattenervi su una mia vera e propria passione: NHibernate.
Per chi non lo conoscesse, in due parole:

NHibernate è il porting del più famoso framework di persistenza del mondo Java (
Hibernate), sicuramente il più usato sulla faccia della terra, non a caso ce lo ritroviamo integrato in ambienti quali JBoss.

PS: A chi non ha mai visto che cosa sia JBoss: consiglio vivamente un
giretto. Credo che il giorno in cui il mondo .NET avrà un gioiellino simile allora potremmo veramente dire di competere a livello di enterprise con Java in tutto e per tutto. E stiamo parlando di un progetto Open...Adrian facci un (port)pensierino!

Come vi dicevo, in alcune ore cercherò di presentare questo spettacolare framework che per quello che mi riguarda è uno dei pochi che riesce (veramente) a cambiare la vita di uno sviluppatore: 

  • ti rende indipendente non solo dal tipo di database server, ma anche dal dialetto SQL che viene utilizzato.
  • mette a disposizione features come cache di primo e secondo livello, collezioni avanzate, gestione trasparente transazioni, interceptor, linguaggio di interrogazione a oggetti e tanta altra "robaccia".
  • in generale ti semplifica la vita. Migliaia di righe di codice in meno, e più tempo per pensare ai veri e propri problemi di business della vostra applicazione.

Prossimamente cercherò di anticipare un pò i temi da trattare. Ovviamente consigli e suggerimenti sono i benvenuti...

Alla prossima...

Print | posted on lunedì 8 agosto 2005 8.34

Feedback

# re: Seminario: NHibernate e Enterprise Library. Il mio contributo...

left by Luca Mauri at 08/08/2005 20.48 Gravatar
Avevo avuto modo di dare un'occhiata a NHibernate per dare una svolta allo sviluppo di applicazioni, nel mio caso asp.net.

Quello che mi ha allontanato forse è stata la troppa "complessità" del progetto.
Per complessita non intendo quando sia difficile utilizzarlo,ma quanto sia tanto e complesso quello che devo portarmi dietro per far girare la mia applicazione.

Nella natura di uno sviluppatore, o almeno la mia, c'e' sempre il desiderio di avere il controllo su quanto gira sotto per cercare di avere le massime performance, almeno nel momento che queste siano richieste oppure sia richiesta una qualsiasi modifica implementativa.

Alla fine ho realizzato il mio piccole motore, con tutte le gioie ed i dolori di fare tutto "from scratch", ma con la consapevolezza di quello che si ha creato, di evolverlo, di migliorarlo...

Probabilmente sarà il futuro quello di affidarsi a parti già sviluppate e release come quelle delle Application Block dimostrano questo.

Ma non penso che tutti gli sviluppatori siano contenti che il loro lavoro diventi solo quello di generare la parte di business dell'applicazione....

E' anche vero che nel caso di uno sviluppatore-architetto la parte più interessante è la decisione dell'architettura, dei blocchi che la compongono e di come collegarli tra di loro ed in questo caso poco importa che un blocco sia proprio o di qualcun altro.

Per finire voglio dire che avrei voluto tanto usare Nhibernate ma alla fine la "mia vena" di sviluppatore puro(sono partito dall'assembler ed ancora lo ricordo) mi ha portato a crearmi la mia piccola creatura...

# re: Seminario: NHibernate e Enterprise Library. Il mio contributo...

left by Giancarlo Sudano at 09/08/2005 14.40 Gravatar
Quello che ti devi portare dietro è veramente poco: un paio di DLL e lavorare con due classi in croce per far girare il tutto.
Sul discorso delle perfomance sto portando a termine un paio di casi di test che sfatano il mito che un ORM debba necessariamente rallentare le prestazioni (ma questa è un'altra storia...anzi un'altro post).
In generale poi penso questo:
uno sviluppatore può occuparsi con gioia o meno della logica di business, ma in ogni caso la gestione della persistenza di una classe e la scrittura del banale codice per le CRUD può essere noioso e ripetitivo, e in questo ti aiuta un framework come NHibernate.
Dove stanno i vantaggi forti di NHibernate?
bisogna conoscerlo a fondo....e poi scopri un DOM per interrogazioni a oggetti, un sistema di cache da paura, una ottimizzazione dei flussi delle statement SQL da brivido, una gestione delle collezioni a 5 stelle...ne avrei tanti argomenti che non basterebbero 4 di seminari!

# re: Seminario: NHibernate e Enterprise Library. Il mio contributo...

left by Luca Mauri at 09/08/2005 15.00 Gravatar
Penso tu abbia ragione sul fatto di conoscerlo a fondo...
per trovare i reali motivi di interesse...

Penso proprio che alla prima occasione cercherò di approfondire l'argomento NHibernate...in particolar modo per quanto riguarda la gestione delle interrogazioni e il caching...

Purtroppo temo che non potrò partecipare al workshop, ma spero che saranno disponibili le slide e magari qualche altro post interessante sulle caratteristiche di NHibernate...

# re: Seminario: NHibernate e Enterprise Library. Il mio contributo...

left by Mario Duzioni at 10/08/2005 12.52 Gravatar
Egregggio! Non ci speravo più nel post... ;-)

Temevo che avessi trovato un'altra blogga che ti distogliesse dai piaceri del jankyBlog! E invece col sole d'agosto: ta-daaaa!

Sinceramente anche le mie perplessità sono un pò quelle di Luca ed alla fine, "tra gioie e dolori", anch'io sono finito con "Add class..." :-)

Come ti dicevo al momento ho creato una mini utility che più o meno mi "scrive" il data layer di base con le CRUD. A quel punto aggiungere o modificare è lavoro di pochi minuti, ma concordo sul fatto che se realmente esiste la "lampada di Aladino" non vedo perchè dobbiamo andare avanti con l'accendino... (...ehm...)

Me lo sono scaricato (10000Kb???) e provo a sbirciare, anche se sicuramente ci capirò poco all'inizio!

Intanto grasssie!
Ciao!

Mario

# re: Seminario: NHibernate e Enterprise Library. Il mio contributo...

left by Giancarlo Sudano at 10/08/2005 13.58 Gravatar
Ebbene confesso:
Anche io mi ero creato la mia bella classe che produceva in CodeDOM tantissimo codice già diviso in tier....
ma credetemi...sviluppando singolarmente si può arrivare al 5 per cento di quello che può fare un mostro come NHibernate. Cercherò di fare quache post a riguardo almeno per diffondere la conoscenza.
Sul fatto che "aggiungere e modificare sia lavoro di pochi minuti"....insisto su una cosa...
provate a studiare la persistenza di una collezione di una vostra classe di dominio (sia 1-n che n-1), poi aggiungete anche un caricamento lazy, e ci metto su come carico anche una relazione n-n, e perchè no delle query polimorfiche...
la frase da dire in questo caso è:
Non ha senso reinventare la ruota...soprattutto quando questa ruota è già consolidata da anni e ce la ritroviamo GRATIS anche su .NET....spettacolare no?

# re: Seminario: NHibernate e Enterprise Library. Il mio contributo...

left by Giancarlo Sudano at 10/08/2005 14.00 Gravatar
x Mario:
visto che cominci a studiarlo, quale migliore occasione...vienici a trovare a Milano, Roma o Verona...

Ti prometto che dopo si mangia! :-))

# re: Seminario: NHibernate e Enterprise Library. Il mio contributo...

left by Gabriel at 22/08/2005 17.01 Gravatar
Ciao,
Per chi non lo sa già, esiste un libro che si chiama "Hibernate in action" http://www.amazon.com/exec/obidos/tg/detail/-/193239415X/qid=1124722493/sr=2-1/ref=pd_bbs_b_2_1/104-1408304-5351917?v=glance&s=books , che descrive molto bene Hibernate e vale abbastanza bene anche per NHibernate
Grazie

# Mastering NHibernate e webcast... ma che volete di pi

left by Lorenzo Barbieri @ UGIblogs! at 05/01/2007 23.32 Gravatar
Comments have been closed on this topic.