martedì, settembre 14, 2004

La perla nascosta di ADO.Net 2.0

Questo è il mio primo post nel blog del mio amico Marco...che onore!

In ADO.Net 2.0 ci sono numerosi miglioramenti, ma l'innovazione meno pubblicizzata è secondo me la più importante.

C'è un nuovo namespace chiamato System.Transactions che, per semplificare alla grande, porta all'interno del Framework la gestione delle transazioni distribuite via DTC.
Ad oggi da .Net si usa DTC direttamente (non oso pensarci) oppure attraverso COM+, fondamenta delle applicazioni distribuite, che nel framework occupa il namespace System.EnterpriseServices.

Chi ha usato COM+ via System.EnterpriseServices sa che non è una bella esperienza: tutte le assemblies devono avere strong name (e non è un problema) e si è costretti a inserirle nella GAC; se non ci sono altri buoni motivi che spingono a usare la GAC si perdono per nulla i vantaggi del deployment semplificato di .Net. Non è finita, c'è anche il tool regsvcs che registra l'assembly come package in COM+.

Tutte queste configurazioni ed operazioni aumentano i tempi di sviluppo e le probabilità di errore... Inoltre è un peccato rinunciare alle potenzialità di .Net per usare alcune delle capacità di COM+.

Nel framework 2.0 la gestione delle transazioni (distribuite via DTC o leggere "Lighweight") è totalmente managed, non esiste nessuna classe da ereditare, nessuna configurazione particolare, nessun tool da utilizzare.....un enorme passo avanti.

Questi link aiutano a capire meglio le potenzialità di System.Transactions...vedrete quanto poco serve per gestire le transazioni.
http://weblogs.asp.net/angelsb/archive/2004/07/06/174215.aspx
http://weblogs.asp.net/angelsb/archive/2004/07/07/175586.aspx
http://msmvps.com/williamryan/archive/2004/07/08/9759.aspx
http://weblogs.asp.net/angelsb/archive/2004/07/15/184297.aspx

1 commento:

MaxMost ha detto...

Ottimo Post, mi piace come è scritto e commentato e l'argomento trattato.