Ini adalah kombinasi dari alasan Sejarah / Evolusi dan Kekuatan Pasar
Saat bekerja di Microsoft beberapa tahun yang lalu, jelas bahwa ada beberapa penawaran data berbeda dalam pengembangan. Masing-masing penawaran ditujukan pada pasar atau kasus penggunaan tertentu, misalnya:
Akses ditujukan untuk pengguna desktop yang nyaman dengan sistem pengindeksan kartu yang dapat membangun aplikasi menggunakan formulir dan laporan. SQL adalah tambahan alami. Ini semua menggunakan 'mesin database mesin lokal sendiri bernama' JET '. Akhirnya JET dikesampingkan - kata pada anggur anggur adalah bahwa kurangnya kontrol sumber (dapat diandalkan) berarti mereka telah kehilangan sebagian besar sumber.
FoxPro ditujukan untuk pengguna desktop yang menginginkan kecepatan dibandingkan data relasional.
SQL Server adalah sistem basis data 'besar' perusahaan / sisi server dengan semua skala / daya / ketersediaan, dll yang dibutuhkan perusahaan. IIRC, MS melisensikan versi Sybase 6 untuk membangun MSSQL.
Seiring waktu, beberapa batasan telah menjadi kabur - misalnya SQL Server dapat berjalan pada mesin desktop sekarang, tetapi kasus penggunaan tetap.
Jadi ini memberi kita 3 'ujung belakang' - produk basis data yang diproduksi oleh Microsoft.
Untuk menambah campuran, ada berbagai tingkat API pengembang yang disediakan untuk mendapatkan akses ke sistem ini:
Awalnya, API tidak banyak - Anda menulis kode di dalam aplikasi (FoxPro / Access). VBA adalah salah satu metode.
Microsoft menerapkan MS ODBC untuk terhubung ke sistem yang bersaing sehingga Windows dapat berbicara dengan database besar seperti Oracle, Sybase, dll. Excel adalah salah satu aplikasi terkemuka untuk mendapatkan alat ODBC - tarik data dari DB besar Anda, memanipulasi dan bagan produk / grafik, dll. Banyak vendor database akhirnya menerapkan ODBC untuk memungkinkan klien yang berbeda untuk terhubung, sehingga strategi ini berhasil .. sampai taraf tertentu - ODBC dapat dianggap mewakili penyebut umum terendah.
Tim yang berbeda mulai menghasilkan cara mereka sendiri untuk mengakses mesin basis data seperti DAO (Data Access Objects) untuk lokal dan RDO (Remote Data Objects) untuk jarak jauh, dapat diakses melalui VB, yang merupakan produk pengembang MS paling populer saat itu.
Upaya internal untuk merasionalisasi beragam API ini dan menyediakan API akses basis data tunggal / unified yang sangat fleksibel memberi kami OLEDB, tetapi sangat sulit untuk masuk (banyak template C ++).
OLEDB tidak dapat digunakan dari VB, jadi ADO dikembangkan menggunakan teknik ActiveX, sehingga menjadi dapat digunakan kembali oleh apa pun yang dapat melakukan COM / OLE / ActiveX, yang berarti Access, Excel, VB dan karenanya ASP menjadi berbasis-database.
Ketika kami pindah ke era .NET, ADO secara alami dipindahkan ke lingkungan .NET yang membawa berbagai manfaat.
Dengan munculnya LINQ, mekanisme akses database yang sebenarnya menjadi lebih sedikit masalah.
Peringatan - Saya meninggalkan beberapa waktu lalu sekarang, jadi ingatan saya agak kabur
Agar adil semua yang Anda sebutkan dibangun di atas ADO.NET. Sebelum itu ADO adalah rute yang disukai untuk sementara waktu tetapi DAO hanya semacam berkeliaran karena itu asli untuk Microsoft Access Database. RDO sudah mati pada saat kedatangan dari apa yang bisa saya katakan.
Dengan semua kerangka kerja yang berbeda yang Anda sebutkan, saya pikir masalahnya adalah mereka mencoba memberikan solusi untuk semua orang dan bersaing dengan setiap platform lainnya. Jika Anda ingin cara sederhana untuk hanya menggunakan SQL dalam kode Anda kemudian pergi untuk System.Data. Jika Anda ingin ORM menggunakan Entity Framework. Untuk sesuatu di antaranya gunakan Data Perpustakaan Perusahaan. Semua orang menginginkan sesuatu yang berbeda.
Ada juga masalah bahwa MS adalah perusahaan yang sangat besar dengan tim yang berbeda dengan agenda yang berbeda. Misalnya mengapa mereka juga memiliki 3 pengolah kata (yang saya tahu).
sumber
Secara pribadi saya pikir ini lebih merupakan hasil dari pengaruh pemasaran dalam Microsoft. Dengan semua hak, sebagian besar teknologi ini dapat dengan mudah dirilis begitu saja sebagai peningkatan versi dari versi yang lebih lama, tetapi tampaknya ada kebutuhan besar untuk memakai gambar ini untuk terus menciptakan kembali bahkan sesuatu yang mendasar seperti lapisan akses data.
sumber
Inilah sifat dari IT! Hal-hal MENGUBAH! Di dunia Jawa, mereka memiliki hal yang sama ... JDBC, EJB 1.0, EJB 2.0, Hibernate, EJB 3.0 dan seterusnya.
sumber