#895 - Implementare un lock ottimistico con NHibernate
PadovaBoy non è online. Ultima attività: 17/07/2008 16.55.43PadovaBoy
Inserito il: 20 giugno 2007 09.41
www.padovaboy.it / 543 messaggi dal 23 giu 2003 Istalla Microsoft Silverlight!
WOA!
Complimenti davvero per questi articoli su Hibernate! (per non parlare degli altri, ma questi mi han incuriosito di più ;))
Sono davvero utili per avvicinarsi a questo progettone!

Quel che mi domando sono le limitazioni del progetto o quello che potranno comportare nel futuro in un progetto che lo implementa.
(nello scorso articolo si accennava alla complessità di scrivere con attenzione i file mapping xml ...ma non mi sembra una gran noia visti anche i vantaggi)

Del resto è come ogni buon pattern a "design time": possono renderti la vita più facile ma c'è sempre da tenere conto che un qualche "scotto" lo dovrai pagare prima o poi.

Se posso chiedere: vi sono mica dei "case history" al negativo? Mi spiego: dei casi in cui l'Hibernate una volta implementato ha mostrato i suoi punti deboli e limitazioni?

Grazie mille ancora!

www.padovaboy.it dal 2001 con furore :D
Re: #895 - Implementare un lock ottimistico con NHibernate
Cradle non è online. Ultima attività: 14/07/2008 15.04.32Cradle
Inserito il: 21 giugno 2007 07.37
contributi / www.codemetropolis.com / 195 messaggi dal 01 lug 2004 Istalla Microsoft Silverlight!
Ciao,
sul sito ufficiale del prodotto, è possibile visionare i case studies che hanno avuto successo; se ci butti un'occhiata, noterai che Hibernate/NHibernate sono stati utilizzati con profitto in un gran numero di applicazioni di livello enterprise da aziende di livello mondiale (cito Sony e Cisco, tanto per fare un esempio).

La mia personalissima esperienza è questa: se usi un domain model, realizzare il layer di persistenza è un serio problema, e purtroppo te ne rendi conto solo quando ci metti le mani. NHibernate è una soluzione ottima, lo uso professionalmente da un paio d'anni oramai sia in applicazioni web che smart client e ti assicuro che il guadagno in produttività è semplicemente impressionante (un esempio di vita vissuta lo trovi qui:
http://blogs.ugidotnet.org/crad/archive/2007/06/07/80711.aspx)

Tieni però presente che ciò che hai letto nell'articolo è una mera introduzione, in realtà pensare a NH come "un qualcosa che non ci fa più scrivere le query SQL" è sbagliato. E' un framework, e come tale ha bisogno di essere imparato per bene, per poterlo utilizzare con profitto: bisogna capire come lavora per riuscire a sfruttarlo a dovere, poi vedrai che non troverai nessuno "scotto" da pagare :)

Personalmente le difficoltà più grandi le ho trovate nel supportare le basi dati legacy: si può fare e NH offre pieno supporto ad esse, ma bisogna che siano progettate in maniera decente, altrimenti diviente praticamente inutilizzabile. Se inoltre sei obbligato ad utilizzare stored procedure, sappi che NH riesce a gestirle in maniera MOLTO LIMITATA (anche se usare un ORM con le storeproc a mio modo di vedere è un controsenso).

Per il resto, inizia ad ibernare anche tu e vedrai che poi non tornerai più indietro :D

Modificato da Cradle il 21 giugno 2007 07.41 -
Re: #895 - Implementare un lock ottimistico con NHibernate
PadovaBoy non è online. Ultima attività: 17/07/2008 16.55.43PadovaBoy
Inserito il: 21 giugno 2007 17.09
www.padovaboy.it / 543 messaggi dal 23 giu 2003 Istalla Microsoft Silverlight!
Gracias per la risposta completa!

Mi son già scaricato NHibernate e sto dando un occhio alla documentazione (al riguardo mi sono scaricato anche i Contribute tanto per avere anche un sistema che mi faccia pure il codice delle classi in c#).

In realtà chiedevo un Negative Case History perché su quello poi, puoi capire effettivamente dove ci sono i limiti.
Ho sempre avuto un atteggiamento da diffidente su prodotti che sulla carta leggi più elogi e cose del tipo "fa PROPRIO tutto TRANNE il caffè, perdonateci" :P

Poi per quello che fa, si si capisce bene, anche dall'articolo che non è un "semplificatore" di sql è proprio un framework su cui sviluppare e imparare per fare del tuning decente.

Scusa la domanda da "nubbio" ma Legacy non ho capito esattamente cosa sia.
Il gran Viki P. parla di sistemi "obsoleti": intendi dire che usare Nhibernate come middleware su sistemi db antiquati diventa un problema?

Peccato per le Store Procedure perché non le ho mai usate (usando mysql 4.1 principalmente) e volevo proprio cominciare ad usarle :P

www.padovaboy.it dal 2001 con furore :D
Re: #895 - Implementare un lock ottimistico con NHibernate
Cradle non è online. Ultima attività: 14/07/2008 15.04.32Cradle
Inserito il: 22 giugno 2007 00.47
contributi / www.codemetropolis.com / 195 messaggi dal 01 lug 2004 Istalla Microsoft Silverlight!
padovaboy ha scritto:
In realtà chiedevo un Negative Case History perché su quello poi, puoi capire effettivamente dove ci sono i limiti.
Ho sempre avuto un atteggiamento da diffidente su prodotti che sulla carta leggi più elogi e cose del tipo "fa PROPRIO tutto TRANNE il caffè, perdonateci" :P

Giustissimo, ma imho la cosa migliore è sempre quello di provare sulla propria pelle: fa' un po' di prove, poi qualche progettino semplice, poi aumenta sempre di più la complessità e vedi se ti trovi bene. Dopo le prime 2 o 3 applicazioni reali, trai qualche conclusione.

Scusa la domanda da "nubbio" ma Legacy non ho capito esattamente cosa sia.
Il gran Viki P. parla di sistemi "obsoleti": intendi dire che usare Nhibernate come middleware su sistemi db antiquati diventa un problema?

Dipende dallo schema, non dall'engine. Considera un db senza integrità referenziale o non in forma normale.. bene, usare NH con quello è un problema.

Peccato per le Store Procedure perché non le ho mai usate (usando mysql 4.1 principalmente) e volevo proprio cominciare ad usarle :P

Le storeproc rendono rigidi i dati che puoi fetchare da db, ecco perché non è il massimo usarle con un ORM, che invece fa della flessibilità nel generare le query SQL il suo punto di forza. Fossi in te non comincerei :D

Ciao!

Vai a:

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.


COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums