Evolution Of Microsoft Data Access Technologies

Today we are using highly advanced data access technologies for interacting with the different types of databases or data sources. But before 20 years the picture was different, there were lots of diversification in data access technologies used by Microsoft. In this article I tried to list the data access technologies from past 1990’s. Let’s have a look in the story.

1. Use of Individual API’s

In 1990’s, to access the SQL server databases Microsoft has their own API libraries which contains different functions to access and modify the SQL database. Also for interacting with other databases there were different sets of API-libraries. So for accessing the data store, developer has to use different API’s. Also these API’s don’t have the common model, so a change in data storage will also cause lot of changes in Application code.

2. ODBC

In 1992, Microsoft introduced Open Database Connectivity Specification (ODBC). ODBC uses the ODBC driver and this ODBC driver is an agent interacting between your application and database system. So with introduction of ODBC Microsoft has provided the common model for accessing the database systems. So switching between the databases was smooth. Also you can consider ODBC provided the abstraction over the individual data access API’s. Even today ODBC is in use to access the Comma-Separated Values (CSV) file.

3. OLE DB

After great success of ODBC Microsoft introduced the OLE DB (Object Linking and Embedding Database). At base OLE DB is using the ODBC but with support for variety of data stores like Object databases, Spreadsheets. OLE DB has not added any abstraction over the ODBC, it is same as ODBC but provided support for more data stores than OBDC.

4. ADO

Till mid 90’s Microsoft has ODBC and OLE DB as data access technologies. But these technologies are only suitable for the desktop based application. Even during that period internet is emerging so ODBC and OLE DB was not very suitable for web based applications where the variety of technologies are involved. So to satisfy the need of web applications Microsoft introduced ActiveX Data Objects (ADO) in 1996. ADO provided further abstraction over OLE DB. So ADO was acting the layer between Application and the OLE DB. ADO provided a simple model to access the data stores. Even no knowledge of SQL is required to access a database using ADO.

5. ADO.NET

Meanwhile Microsoft was thinking to put all Microsoft technologies under one roof so Microsoft introduced .NET by late 2000. At that time Microsoft needs to provide the data access technology as per .NET programming model and that data access technology shall be used by the .NET developer. Therefore, Microsoft wrapped all functionalities from ADO to a single API and called it as ADO.NET. Also ADO.NET works through an abstraction layer that hide the details of the underlying storage technology. That layer is provided by ADO.NET Data Providers”. ADO.NET is not a replacement for the ADO but it provides better platform interoperability and scalable data access.

6. LINQ

In 2007, Microsoft introduced LINQ (Language Integrated Query), powerful mechanism to access the data sources. LINQ allows to directly embed the queries within the programming language (C# and Visual Basic). LINQ can be operated over the data-sources those implements the IEnumerable or IQueryable interfaces.

7. ADO.NET Entity Framework

In 2008, Microsoft introduced Entity Framework on top of ADO.NET. Entity Framework enables developers to work with data in the form of domain-specific objects and properties. With Entity Framework developer can focus more on application UI than preparing data objects.

8. Data Services

Data Services enables data access on demand to users regardless of their geographic location. Data Services uses Open Data Protocol. Microsoft introduced the WCF data services in 2008. WCF Data Services use URIs to point to pieces of data and use simple, well-known formats to represent that data, such as JSON and ATOM (XML-based feed format). Many of the Microsoft cloud data services, such as Windows Azure tables, SQL Data Services, and SharePoint, expose data using the Data Services protocol. 

The following image mentions all above technologies:

OLEDB