Ditulis oleh: Iwan Binanto (c) 2008 JDBC dan Three-tier JDBC merupakan kumpulan standard API (Application Programming Interface) yang berfungsi untuk mengeksekusi perintah-perintah SQL (misalnya query ke database, penyisipan record baru, membuat tabel, dan seterusnya). Hal di atas dapat dilakukan oleh JDBC karena: a. JDBC menciptakan koneksi dengan database. b. Dengan menggunakan koneksi ke database, JDBC mengirim perintah SQL (misalnya select, insert, update, dan seterusnya) serta mendapatkan hasilnya dalam bentuk kumpulan hasil. c. Memproses kumpulan hasil yang diterima dari database. JDBC mengijinkan program Java (applet dan aplikasi lainnya) untuk berkomunikasi dengan database relational secara mudah dan efisien. JDBC terdiri atas banyak class yang berada di package java.sql dan beberapa ekstensi JDBC yang berada di package javax.sql. Kedua package tersebut masuk ke dalam Java 2 Standard Edition (J2SE) versi 1.5. Arsitektur JDBC secara detil dapat digambarkan sebagai berikut: Gambar 1. Arsitektur JDBC secara detil Dari gambar di atas, dapat dilihat beberapa hal sebagai berikut: a. Program aplikasi Java memanggil pusataka JDBC (menggunakan package java.sql dan javax.sql). b. JDBC me-load driver; sebagai contoh driver MySQL di-load menggunakan kode: Class.forName(“com.mysql.jdbc.Driver”) c. Memanggil Class.forName() akan secara otomatis membuat instance dari driver dan me-register driver tersebut dengan class DriverManager. d. Driver kemudian akan terhubung ke database tertentu, misalnya MySQL. Driver JDBC (spesifik software untuk spesifik database) dibuat dan disediakan oleh pembuat/penyedia database (misalnya MySQL, Oracle, dan SyBase). Driver JDBC diimplementasikan dengan interface java.sql.Driver. Oleh karena itu, dalam three-tier dapat dimungkinkan mempunyai lebih dari satu database yang tentunya juga membutuhkan lebih dari satu driver untuk menanganinya. 1 Ditulis oleh: Iwan Binanto (c) 2008 JDBC dapat menggunakan arsitektur three-tier. Model three-tier untuk JDBC dapat dijabarkan sebagai berikut: a. Client tier Client tier bertanggung jawab untuk representasi data, menerima input dari pengguna maupun event, dan mengontrol serta mengatur user interface. b. Middle tier (Application—server tier) Tier ini bertanggung jawab untuk implementasi ke client tier aturan bisnis (business rules) yang tersedia. Aturan bisnis ini menciptakan objek bisnis (business object). Contohnya adalah IBM WebSphere, BEA WebLogic Server, dan Oracle Application. c. Data-server tier Tier ini bertanggung jawab untuk penyimpanan data dan mengatur ketersediaan aplikasi data. Biasanya data-server tier ini terdiri atas dari satu atau lebih server database relasional (misalnya Oracle atau MySQL) dan biasanya terdiri atas: i. Tabel/view/trigger database Digunakan secara utama untuk menyimpan data. ii. Stored Procedure Digunakan untuk mengeksekusi database pada server-side. iii. File server Digunakan untuk menyimpan file-file berukuran sangat besar, misalnya gambar, file PDF, dan teks. Arsitektur three-tier JDBC secara umum digambarkan oleh Parsian (2005) sebagai berikut: Gambar 2. Three-tier JDBC secara umum Sedangkan arsitektur three-tier JDBC yang biasa digunakan pada aplikasi internet digambarkan oleh Parsian (2005) sebagai berikut: 2 Ditulis oleh: Iwan Binanto (c) 2008 Gambar 3. Three-tier JDBC pada aplikasi internet Referensi: Parsian, Mahmoud, 2005, JDBC Recipes: A Problem-Solution Approach, APress, USA. 3