Avantages d'ADO.NET

Mise à jour : novembre 2007

ADO.NET présente certains avantages par rapport aux précédentes versions de ADO et à d'autres composants d'accès aux données. Ces avantages sont répartis en plusieurs catégories :

Interopérabilité

Les applications ADO.NET peuvent profiter de la souplesse et de la forte pénétration du format XML. XML étant le format de transmission des groupes de données par le réseau, tout composant capable de lire ce format est aussi en mesure de traiter les données. En fait, il n'est absolument pas nécessaire que le composant récepteur soit un composant ADO.NET ; le composant émetteur peut simplement transmettre le groupe de données jusqu'à sa destination sans se soucier de la manière dont le composant récepteur est implémenté. Ce dernier peut être une application Visual Studio ou toute autre application implémentée par n'importe quel outil. La seule obligation est que ce composant récepteur soit capable de lire le format XML. En tant que norme industrielle, XML a été précisément conçu dans le souci de cette interopérabilité.

Facilité de maintenance

Dans la vie d'un système déployé, des modifications mineures sont possibles, mais des changements plus importants affectant l'architecture sont rarement tentés, parce que trop difficiles à mettre en œuvre. C'est regrettable, parce que dans le cours normal des événements, ces changements peuvent parfois s'avérer nécessaires. Ainsi, quand une application déployée remporte un succès grandissant auprès des utilisateurs, l'accroissement de charge qui en découle peut rendre nécessaires certaines modifications de l'architecture. Quand la charge d'un serveur d'applications déployées augmente, les ressources système peuvent se raréfier avec des répercussions négatives sur les temps de réponse et le débit. Confrontés à ce problème, les architectes logiciels peuvent choisir de répartir le traitement de la logique d'entreprise du serveur et celui de l'interface utilisateur sur des niveaux différents et des ordinateurs distincts. En effet, le remplacement du niveau du serveur d'applications par deux niveaux apporte une solution à la pénurie de ressources système.

Le problème n'est pas de concevoir une application à trois niveaux. Il est d'augmenter le nombre de niveaux après déploiement d'une application. Si l'application d'origine est implémentée dans ADO.NET à l'aide de groupes de données, cette transformation s'en trouve facilitée. N'oubliez pas, quand vous divisez en deux un niveau, de permettre aux deux niveaux résultants de s'échanger des informations. Les niveaux étant capables de transmettre des données par le biais des groupes de données au format XML, la communication entre eux est relativement simple.

Facilité de programmation

Les composants de données ADO.NET de Visual Studio encapsulent la fonctionnalité d'accès aux données de diverses façons qui permettent de programmer plus rapidement et avec moins d'erreurs. Par exemple, les commandes de données génèrent et exécutent des procédures stockées ou des instructions SQL pour vous.

De même, les classes de données ADO.NET générées par les outils du concepteur entraînent des groupes de données typés. Cela vous permet d'accéder aux données par une programmation typée. Par exemple, considérons la ligne de code suivante qui accède à une donnée membre dans un groupe de données non typé :

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

La ligne équivalente permettant d'accéder à une donnée membre dans un groupe de données typé est la suivante :

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

Le code du groupe de données typé est plus facile à lire. Il est aussi plus facile à écrire, grâce à la fonction de terminaison des instructions. Par exemple, « AvailableCredit » fait partie des choix possibles pour terminer l'instruction suivante :

If totalCost > dataSet2.Customers(n).

Enfin, le code du groupe de données typé est plus sûr parce qu'il permet un contrôle des types à la compilation. Supposons par exemple que AvailableCredit soit exprimé par une valeur monétaire. Si le programmeur a par erreur assigné une valeur de chaîne à AvailableCredit, le système lui signalera le problème au moment de la compilation. Si les groupes de données n'étaient pas typés, le programmeur n'aurait pas conscience de cette erreur avant l'exécution.

Pour plus d'informations sur les groupes de données typés et non typés, consultez Vue d'ensemble des groupes de données dans Visual Studio.

Performances

Pour les applications déconnectées, les groupes de données ADO.NET offrent de meilleures performances que les jeux d'enregistrements déconnectés dans ADO. Lorsque vous utilisez le marshaling COM pour transmettre un jeu d'enregistrements déconnecté d'un niveau à un autre, la conversion des valeurs du jeu d'enregistrements en types de données reconnus par COM peut représenter un coût de traitement non négligeable. Dans ADO.NET, cette conversion n'est plus nécessaire.

Évolutivité

Le Web peut considérablement accroître la demande sur vos données ; c'est pourquoi l'évolutivité devient un critère de toute première importance. Les applications Internet ont un nombre illimité d'utilisateurs potentiels. Une application capable de prendre en charge une douzaine d'utilisateurs peut révéler ses faiblesses lorsqu'elle est confrontée à des centaines, voire des centaines de milliers d'utilisateurs. Une application consommatrice de ressources, telles que les verrouillages ou connexions de base de données, ne pourra pas prendre en charge un grand nombre d'utilisateurs, et cela parce que la demande des utilisateurs pour ces ressources limitées finira par excéder l'offre.

ADO.NET favorise l'évolutivité des applications en encourageant les programmeurs à conserver des ressources en quantité limitée. Parce qu'elles utilisent un accès déconnecté aux données, les applications ADO.NET ne gardent pas pendant de longues durées les ressources, telles que les verrouillages ou connexions de base de données.

Voir aussi

Référence

System.Data

Autres ressources

Mise en route avec l'accès aux données

Connexion aux données dans Visual Studio

Préparation de votre application pour recevoir des données

Extraction de données dans votre application

Affichage des données sur des formulaires dans les applications Windows

Modification des données dans votre application

Validation des données

Enregistrement des données

ADO.NET