Kamis, 01 November 2012

Apa itu ADO.NET ?

ADO.NET adalah data akses komponen dari Microsoft.NET framework. ADO.NET memilikikemampuan tinggi untuk menangani data format XML, didesain dengan arsitektur terputus (disconected architecture) sangat cocok untuk membangun aplikasi dekstop base maupun web base karena arsitekturnya yang terputus ini tidak membebani server.


ADO.NET terdiri dari class-class yang digunakan untuk koneksi kedatabase, providing akses untuk relasional data, XML dan aplication data serta retrieve data dari hasil query. ADO.NET juga berisi class-class yang mempresentasikan Data Provider Connection, Command, DataAdapter, DataReader Objects dan object lainya. Gambar berikut ini memperlihatkan bagaimana ADO.NET dalam sebuah komunikasi antara web clien dan dan DBMS.

Disamping itu juga ADO.NET menyertakan data Provider yang khusus dibangun untuk database tertentu. Data provider ini mampu memberikan kinerja yang lebih baik karena dapat memanfaatkan optimisasi yang ditawarkan oleh vendor database bersangkutan. Dengan menggunakan custom-code yang spesifik untuk database tertentu juga menghilangkan sejumlah overhead yang terjadi ketika menggukan generic-code seperti ODBC dan OLE-DB.

Cara Kerja ADO.NET.
ADO.NET melakukan koneksi ke datasource, mengirimkan query dan statement update dan memproses hasilnya.  Berbeda dengan ADO yang menawarkan konsep recordset dan cursor, ADO.NET memperkenalkan model yang benar-benar baru meliputi lima obyek dasar yaitu :
  • Connection : berfungsi untuk membuat dan memelihara koneksi ke database. Parameter yang digunakan untuk membuat koneksi bisa jadi ada sedikit perbedaan antara satu database dengan database lainnya.
  • Command : berfungi untuk menyimpan query (perintah SQL) yang nantinya akan dikirimkan ke database termasuk dengan semua parameter yang diperlukan.
  • DataReader : digunakan untuk membaca hasil query yang dikembalikan oleh database. DataReader hanya memberikan akses maju-saja (forward-only) namun sangat cepat untuk membaca seluruh data/record hasil query..
  • DataSet : obyek inilah yang membuat ADO.NET sangant berbeda dengan metode data akses yang ada sebelumnya. Obyek ini yang berada di memori dan bertindak sebagai tempat penyimpanan data/record yang didapat dari server database. DataSet sendiri tidak bisa berkomunikasi langsung dengan server database dan tidak mengetahui dari mana data yang disimpannya berasal.
  • DataAdapter : merupakan obyek yang bertugas menjembatani DataSet dengan database. DataAdapter bertugas untuk menarik data/record dari database dan menyimpan kembali penambahan, perubahan atau penghapusan data/record pada DataSet saat kembali ke database.

Data provider graphic

Perkembangan Teknologi dari ADO.NET.
Perlu diketahui bahwa sejak kemunculan atau releasenya ADO.NET. ADO.NET membuat lompatan yang sangat besar. Salah satunya adalah adanya dukungan penuh untuk model akses data terputus (disconnected). Mempertahankan sebuah koneksi yang tidak tidak terputus ke database server adalah proses yang cukup mahal harganya. Terutama dari sisi database server yang mengharuskan pengalokasian sumber daya – terutama CPU dan memory – untuk koneksi tersebut. Ketika hanya ada satu koneksi saja yang perlu dipertahankan, mungkin tidak terlalu menjadi masalah, lain halnya jika koneksi yang perlu dipertahankan tidak sedikit, misalkan pada aplikasi web, tentunya jumlah memory dan CPU yang terpakai akan jauh lebih besar. Namun jika kita menggunakan metode akses data yang terputus, sumber daya yang semula terpakai dapat langsung dibebaskan dan dipakai oleh proses lain.
Fitur lain yang meningkatkan performa akses data adalah diperkenalkannya connection pooling. Mempertahankan sebuah koneksi ke database adalah proses yang mahal, namun membuka dan menutup koneksi database adalah proses yang lebih mahal lagi. Connection pooling mampu mengatasi masalah ini. Ketika koneksi yang kita buat dalam program ditutup, ADO.NET tidak langsung menutup koneksi tersebut, namun menyimpannya dalam sebuah pool sampai jangka waktu tertentu. Pada saat itu ketika ada proses yang membutuhkan koneksi, maka ADO.NET tidak perlu lagi membuat koneksi baru, namun cukup menggunakan koneksi yang sudah tersedia di pool.
Keunggulan lain dari ADO.NET adalah dukungan terhadap XML. Secara internal obyek DataSet menyimpan data di memory dalam bentuk XML. Dukungan XML ini memudahkan ADO.NET dalam melakukan proses filtering dan sorting data yang tersimpan di memory. Dukungan XML juga memudahkan proses pengambilan data, penuilsan data kembali ke database dan mengubah ke dalam format lainnya.

Categories:

0 komentar:

Posting Komentar

Subscribe to RSS Feed Follow me on Twitter!