Share via


Vantaggi di ADO.NET

Aggiornamento: novembre 2007

ADO.NET offre numerosi vantaggi rispetto alle versioni precedenti di ADO e agli altri componenti per l'accesso ai dati. Questi vantaggi possono essere suddivisi nelle seguenti categorie:

Interoperabilità

Le applicazioni ADO.NET sono in grado di sfruttare la flessibilità e l'ampia accettazione del formato XML. Dal momento che XML rappresenta il formato per la trasmissione dei dataset in rete, qualsiasi componente in grado di leggere il formato XML sarà in grado di elaborare i dati. In realtà, non è necessario che il componente ricevente sia un componente ADO.NET: il componente di trasmissione può semplicemente inviare il dataset alla relativa destinazione, indipendentemente dal modo in cui il componente ricevente viene implementato. Il componente di destinazione potrebbe essere un'applicazione di Visual Studio o qualsiasi altra applicazione implementata con uno strumento qualsiasi. L'unico requisito richiesto è la capacità del componente ricevente di leggere il formato XML. In quanto formato standard, XML è stato progettato per offrire esattamente questo tipo di interoperabilità.

Gestibilità

Per tutta la durata di un sistema distribuito è possibile apportare piccole modifiche, ma solo in rari casi si tenta di apportare modifiche sostanziali a causa della difficoltà di tali operazioni. Questo rappresenta un problema in quanto nell'esecuzione delle normali operazioni, modifiche sostanziali possono diventare talvolta necessarie. Quando, ad esempio, un'applicazione distribuita viene utilizzata da un numero sempre maggiore di utenti, l'aumento del carico delle prestazioni potrebbe richiedere delle modifiche nell'architettura. L'aumentare del carico delle prestazioni in un server di applicazioni distribuite può comportare una riduzione delle risorse di sistema e il tempo di risposta o la velocità potrebbe risentirne. Per risolvere questo problema, i progettisti di architetture software possono scegliere di suddividere l'elaborazione della logica aziendale del server e l'elaborazione dell'interfaccia utente in livelli distinti su computer separati. In realtà, il livello del server di applicazioni viene sostituito da due livelli, in modo da ovviare all'insufficienza delle risorse di sistema.

Il problema non comporta la progettazione di un'applicazione a tre livelli, piuttosto l'aumento del numero dei livelli dopo la distribuzione di un'applicazione. Se l'applicazione originale viene implementata in ADO.NET mediante i dataset, questa trasformazione risulterà più semplice. È importante ricordare che, quando un singolo livello viene sostituito da due livelli, questi vengono organizzati per lo scambio di informazioni. Poiché i livelli sono in grado di trasmettere i dati tramite dataset in formato XML, la comunicazione risulta relativamente semplice.

Programmabilità

I componenti dei dati ADO.NET presenti in Visual Studio incapsulano la funzionalità dell'accesso ai dati in vari modi, che consentono di programmare più velocemente e con un numero minore di errori. I comandi dei dati eseguono l'astrazione dell'attività di creazione ed esecuzione di istruzioni SQL o stored procedure.

Analogamente, le classi di dati ADO.NET generate dagli strumenti di progettazione determinano dataset tipizzati. Questa operazione consente a sua volta di accedere ai dati tramite la programmazione tipizzata. Si consideri ad esempio la riga di codice che segue, in cui viene eseguito l'accesso a un membro di dati in un dataset non tipizzato:

If totalCost > CType(dataSet1.Tables("Customers").Rows(n)("AvailableCredit"), Double) Then
if (totalCost > (double)dataSet1.Tables["Customers"].Rows[n]["AvailableCredit"])

La riga di codice equivalente per accedere a un membro di dati in dataset tipizzato è simile alla seguente:

If totalCost > dataSet2.Customers(n).AvailableCredit Then
if (totalCost > dataSet2.Customers[n].AvailableCredit)

Il codice per il dataset tipizzato risulta di più facile lettura e scrittura, in quanto viene fornito il completamento dell'istruzione. "AvailableCredit", ad esempio, è presente nell'elenco di scelte per il completamento dell'istruzione seguente:

If totalCost > dataSet2.Customers(n).

Infine, il codice per il dataset tipizzato è più sicuro, in quanto fornisce il controllo dei tipi in fase di compilazione. Si supponga ad esempio che il valore di AvailableCredit sia espresso come valuta. Se il programmatore assegna erroneamente un valore di stringa ad AvailableCredit, l'errore verrà segnalato al programmatore in fase di compilazione. Se si utilizzano dataset non tipizzati, l'errore verrà segnalato al programmatore solo in fase di esecuzione.

Per ulteriori informazioni sui dataset tipizzati e non tipizzati, vedere Cenni preliminari sui dataset in Visual Studio.

Prestazioni

Per le applicazioni disconnesse, i dataset ADO.NET offrono maggiori vantaggi in termini di prestazioni rispetto ai set di record disconnessi di ADO. Quando si utilizza il marshalling COM per la trasmissione di un set di record disconnesso tra i livelli, la conversione dei valori del set di record in tipi di dati riconosciuti da COM può comportare significativi costi di elaborazione. In ADO.NET la conversione dei tipi di dati non è necessaria.

Scalabilità

Poiché il Web può comportare un crescente aumento delle richieste di dati, la scalabilità riveste un'importanza fondamentale. Le applicazioni Internet hanno un numero illimitato di potenziali utenti. Anche se un'applicazione riesce a offrire servizi in modo adeguato a una decina di utenti, ciò non implica che sia in grado di offrire servizi in modo altrettanto adeguato a centinaia o a migliaia di utenti. Un'applicazione che richiede un eccessivo impiego di risorse, ad esempio i blocchi di database e le connessioni a database, non sarà in grado di offrire servizi adeguati a un numero elevato di utenti, in quanto è possibile che la domanda da parte dell'utente di queste risorse limitate sia superiore alla relativa offerta.

ADO.NET garantisce una buona scalabilità in quanto consente ai programmatori di conservare risorse limitate. Poiché qualsiasi applicazione ADO.NET utilizza l'accesso disconnesso ai dati, i blocchi di database e le connessione attive ai database non vengono conservati per lunghi periodi di tempo.

Vedere anche

Riferimenti

System.Data

Altre risorse

Guida introduttiva all'accesso ai dati

Connessione ai dati in Visual Studio

Preparazione dell'applicazione al ricevimento di dati

Recupero di dati nell'applicazione

Visualizzazione di dati su form nelle applicazioni Windows

Modifica di dati nell'applicazione

Convalida dei dati

Salvataggio di dati

ADO.NET