JDBC dan ODBC

JDBC (Java database connectivity) adalah spesifikasi standar dari JavaSoft  API (Aplication Programming Interface) yang memungkinkan program Java untuk mengakses sistem database manajemen. JDBC menyediakan methods untuk melakukan query dan modifikasi data pada RDBMS seperti Oracle, SQL Server, MySQL, dll menggunakan Driver Manager. JDBC mirip dengan ODBC (Open Database Connectivity), hanya saja JDBC spesifik digunakan untuk program Java. ODBC bersifat language independent.

JDBC memiliki beberapa kegunaan, yaitu membantu programmer untuk koneksi dengan data source, membantu mengirimkan query dan update statements ke database, dan menerima serta memroses hasil yang didapatkan dari database sesuai dengan query yang diberikan.


Berikut merupakan empat komponen penting dari JDBC :

1. JDBC-API
JDBC-API menyediakan fasilitas untuk mengakses database relasional dari program berbahasa Java. Melalui komponen ini user dapat melakukan proses query dan perubahan data dalam database. JDBC-API memiliki package utama yang tersedia pada java.sql dan javax.sql.

2. JDBC Driver Manager
Merupakan komponen kelas utama yang mendefinisikan object yang mengkoneksikan aplikasi Java ke JDBC driver. Komponen ini berfungsi untuk mengatur beberapa tipe JDBC database driver yang berbeda. JDBC Driver Manager memilih driver mana yang sesuai untuk koneksi ke suatu database.

3. JDBC Test Suite
Komponen ketiga ini memastikan JDBC driver dapat menjalankan program user dan sangat berguna dalam melakukan testing sebuah aplikasi yang menggunakan teknologi JDBC.

4. JDBC-ODBC Bridge
Adalah database driver yang menggunakan ODBC driver untuk koneksi ke database serta memiliki fungsi utama untuk translasi dari JDBC method calls ke ODBC function calls dan mengimplementasikan JDBC untuk semua driver yang didukung oleh ODBC. Komponen ini dapat diimplementasikan dalam packagesun.jdbc.odbc.
JDBC juga memiliki 10 arsitektur, yaitu :
1.Database connections
2.SQL Statements
3.Result set
4.Database metadata
5.Prepared Statement
6.Binary Large Objects (BLOBs)
7.Character Large Objects (CLOBs)
8.Callable statements
9.Database Driver
10.Driver Manager



Tipe 1 – JDBC-ODBC Bridge


Fungsi
– Translasi query dari JDBC ke ODBC query
– Client à JDBC Driver à ODBC Driver Database

Keunggulan
– Semua database yang didukung oleh ODBC dapat diakses

Kelemahan
– Performance overhead
– ODBC driver harus diinstal di semua client
– Dibutuhkan client-side software

Tipe 2 – Java to Native API



Fungsi
– Konversi JDBC calls ke client API untuk database
– Client à JDBC driver à Vendor Client DB Library Database

Keunggulan
– Performa lebih baik daripada tipe 1

Kelemahan
– Vendor client library harus diinstal di client.
– Tidak dapat digunakan di internet karena membutuhkan client-side software.
– Tidak semua database memberikan client-side library

Tipe 3 – Java to Network Protocol or All-Java Driver


Fungsi
– Menggunakan pendekatan three-tier communication
– Vendor independent
– Client à JDBC Driver à Middleware-Net Server Any database

Keunggulan
– Tidak membutuhkan instalasi pada client-side
– Middleware server dapat memberikan fungsi tambahan dalam hal caching, load balancing, logging, auditing, dll.
– Dapat digunakan di internet

Kelemahan
– Membutuhkan program yang bersifat database-specific untuk middle tier
– Extra layer dapat menyebabkan time-bottleneck.

Tipe 4 – Java to Database Protocol



Fungsi
– Melakukan komunikasi langsung dengan database melalui koneksi socket.
– Driver berfungsi mengubah JDBC call ke database protocol langsung
– Diimplementasikan sepenuhnya dalam Java.
– Client Machine à Native Protocol JDBC Driver Database Server. Contoh: Oracle Thin Driver

Keunggulan
– Performa cenderung meningkat à Tidak melakukan translasi ke ODBC, tidak menggunakan client API, tidak menggunakan middleware layer

Kelemahan
– Pada sisi client, driver untuk masing-masing database harus terinstal. Berikut adalah beberapa            konsep penting di dalam JDBC :

Transactions
– Secara default, semua transaksi pada JDBC bersifat auto-commit
Logging
– Digunakan untuk mengatur apakah dilakukan logging kejadian selama transaksi dilakukan.
Concurrency
– Memastikan transaksi terjadi sesuai urutan kronologis.
– Berhubungan dengan kemungkinan terjadinya multikoneksi yang mengakses data yang sama.
Selain apa yang dijelaskan di atas, JDBC masih memiliki komponen penting lain, yaitu :

Package java.sql
Berisi beberapa class, interface yang digunakan dalam transaksi.

DriverManager
Menangani segala sesuatu yang berkaitan dengan driver yang dipakai.

DataSource
Alternatif dari DriverManager untuk melakukan koneksi database.

JDBC Connection Object
– Object untuk melakukan koneksi dengan database
– Membuat Statement, PreparedStatement, dan CallableStatement untuk eksekusi SQL.
– Melakukan commit dan rollback transaksi ODBC

Open Database Connectivity (disingkat menjadi ODBC) adalah sebuah standar terbuka untuk konektivitas antar mesin basis data. Standar ini menyediakan API yang dapat digunakan untuk menjalankan dan mengoneksikan sebuah aplikasi dengan sebuah sistem manajemen basis data (SMBD). Para desainer ODBC membuatnya dengan tujuan agar ODBC terbebas dari penggunaan bahasa pemrograman tertentu, sistem manajemen basis data tertentu, dan sistem operasi tertentu.

Spesifikasi ODBC menawarkan API prosedural untuk menggunakan query dengan bahasa SQL untuk mengakses sebuah basis data. Sebuah implementasi ODBC, akan menyediakan satu aplikasi atau lebih, pustaka inti ODBC, dan juga "driver basis data". Pustaka inti ODBC, yang bersifat independen terhadap aplikasi dan juga DBMS, bertindak sebagai interpreter antara aplikasi dan juga driver basis data, sementara driver basis data mengandung detail-detail mengenai SMBD tertentu. Sehingga, dengan cara seperti ini, para programmer dapat menulis aplikasi basis data, tanpa harus memahami sistem manajemen basis data tertentu, mengingat semuanya telah ditangani oleh ODBC. Akan tetapi, para pembuat driver basis data ODBC hanya harus mengetahui bagaimana caranya memasukkan driver basis data ke dalam pustaka inti ODBC. Dengan begitu, ODBC ini dapat disebut sebagai sistem yang modular.

ODBC memiliki beberapa komponen utama, yakni sebagai berikut:
·   ODBC API: sekumpulan panggilan fungsi, kode-kode kesalahan dan sintaksis SQL yang mendefinisikan bagaimana data dalam sebuah DBMS diakses.
·      Driver basis data ODBC: driver (yang berupa dynamic link library) yang mampu memproses panggilan fungsi ODBC untuk sebuah DBMS tertentu.
·          ODBC Driver Manager: yang bertugas untuk memuat driver basis data ODBC yang dibutuhkan oleh aplikasi.

Pengguna sistem operasi Windows dapat mengonfigurasikan ODBC dengan menggunakan utilitas ODBC yang terdapat di dalam Control Panel. Utilitas ini mengizinkan mereka untuk mendefinisikan DSN (Data Source Name) untuk basis data yang hendak diakses dan juga driver yang digunakan untuk mengakses basis data tersebut. Untuk mengonfigurasikan ODBC dengan utilitas ini, mereka dapat mengasosiasikan sebuah DSN dengan sebuah driver ODBC, yang mengizinkan aplikasi untuk dapat berinterakse dengan sebuah basis data yang disimpan baik secara lokal di dalam mesin yang sama maupun di dalam server jaringan.


Unknown

No comments:

Post a Comment

Instagram