ADO.NET のデザイン目標

アプリケーション開発が発展していくにつれて、新しく開発されるアプリケーションは、Web アプリケーション モデルを基に緩やかに変貌してきています。今日、ネットワーク接続を経由して行うデータのエンコードに XML を使用するアプリケーションは、増加の一途をたどっています。Web アプリケーションは層間通信の基礎に HTTP を使用しているため、要求間の状態を明示的に維持する必要があります。この新しいモデルは、クライアント/サーバー モデルの特徴である、連結され密接に組み合わされたプログラミング形式とは大きく異なります。クライアント/サーバー モデルでは、プログラムの有効期間中には開いた接続は保持されるため、状態の処理を特別に行う必要はありませんでした。

今日の開発者のニーズを満たすツールや技術を設計するにあたって、Microsoft では、データ アクセスのためのまったく新しいプログラミング モデルが必要との結論に達しました。その 1 つのモデルが .NET Framework に構築されています。.NET Framework に構築することにより、データ アクセス技術が統一されます。つまり各コンポーネントが共通の型システム、デザイン パターン、および名前付けルールを共有することになります。

ADO.NET はこの新しいプログラミング モデルのニーズを満たすためにデザインされました。ADO.NET の特徴は、非接続型データ アーキテクチャ、XML との密接な統合、複数の異なるデータ ソースに属するデータを組み合わせることができる共通データ表現、データベースと対話するために最適化された機能などです。これらは、すべて .NET Framework の基本となる機能です。

ADO.NET を作成するにあたり、Microsoft では次のデザイン目標を立てました。

ADO に関する最新の知識を活用する

ADO.NET のデザインは、今日のアプリケーション開発モデルが持つ多数の要件に対処しています。同時に、このプログラミング モデルは ADO に類似するように保たれているため、ADO を使用したことがある場合は、まったく新しいデータ アクセス技術を最初から学習し直す必要はありません。ADO.NET は .NET Framework の 1 機能として組み込まれているため、ADO プログラマは過去に蓄積した経験と知識を活用できます。

ADO.NET は ADO と共存します。.NET ベースの新しいアプリケーションを作成する場合は ADO.NET を使用しますが、.NET COM の相互運用性サービスを使用すると、引き続き ADO を利用できます。

ADO と ADO.NET の違いについては、http://www.microsoft.com/JAPAN/developer/library/jptech/Net/adoprogramer.htm の「ADO プログラマのための ADO.NET」を参照してください。

n 層プログラミング モデルのサポート

ADO.NET は、非接続型の n 層プログラミングをサポートする環境としては最適です。この環境に合わせて多数の新しいアプリケーションを作成できます。非接続型のデータ セットを扱うという概念が、このプログラミング モデルにおける一番のポイントになっています。n 層プログラミングを ADO.NET で解決する方法が DataSet です。

XML サポートの統合

XML とデータ アクセスには密接な関連があります。XML はデータのエンコーディングに関する仕様であり、現在、データ アクセスはこの XML に集約されつつあります。.NET Framework は Web の標準規格を単にサポートするのではなく、これらのすべての規格の上に成り立っています。

XML サポートは ADO.NET の基礎となるレベルで組み込まれています。.NET Framework や ADO.NET の XML クラスも同じアーキテクチャの一部です。さまざまなレベルで統合されています。サービスのデータ アクセスのセットがどの XML と対応するのかを選択する必要はなくなりました。対応関係はデザイン段階で決まっているからです。

参照

ADO.NET の概要 | ADO.NET を使用したデータのアクセス | DataSet クラス