Rabu, 27 Mei 2015

JDBC - ODBC

JDBC adalah spesifikasi standar dari JavaSoft  API yang memungkinkan program Java untuk mengakses sistem database manajemen, juga menyediakan methods untuk melakukan query dan modifikasi data pada RDBMS seperti Oracle, SQL Server, MySQL, dll menggunakan Driver Manager. JDBC mirip dengan ODBC , tetapi JDBC digunakan untuk program Java. ODBC bersifat language independent.

KEGUNAAN
Membantu programmer untuk koneksi dengan data source.
• Membantu mengirimkan query serta update statements ke database
• Menerima dan memproses hasil yang diterima dari database sesuai dengan query yang diberikan.

4 KOMPONEN PENTING JDBC

1. 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. Berfungsi untuk mengatur beberapa tipe JDBC database driver yang berbeda. 

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.

10 ARSITEKTUR JDBC

JDBC memiliki 10 arsitektur, yaitu :

1. Database connection

2. SQL statements

3. Result set

4. Database metadata

5. Prepared statement

6. BLOBs (Binary Large Objects)

7. CLOBs (Character Large Objects)

8. Callable statements

9. Database driver

10. Driver manager

Tipe 1 – JDBC-ODBC Bridge

Fungsi

– Mengubah 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.

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



Tidak ada komentar:

Posting Komentar