Pendahuluan
Aplikasi basis data terdistribusi dikembangkan dalam bentuk arsitektur
clientserver. Teknologi client-server berkembang secara cepat sebagai teknologi lanjut.
Pada beberapa waktu yang lalu, sangat sulit memprediksikan status saat ini teknologi
clientserver yang terjadi saat ini. Hal ini sama sulitnya dengan memprediksi teknologi
untuk beberapa tahun ke depan. Beberapa faktor yang berpengaruh pada fungsi client
atau server atau keduanya, melibatkan perangkat keras dan perangkat lunak,
protocol network, teknologi LAN/WAN dan komunikasi. Penurunan biaya dari beberapa
factor tersebut menyebabkan semakin besar kemungkinan mempunyai sistem yang kuat.
Arsitektur Client Server
Saat ini arsitektur client-server yang banyak digunakan dalam industri disebut two-tier
architecture. Pada arsitektur ini, server mengirim data dan client mengakses data. Server
memainkan peranan yang dominan pada arsitektur ini. Keuntungan sistem ini adalah
kesederhanaan dan kompatibilitas dengan sistem yang legal. Arsitektur client-server yang
dikembangkan kemudian adalah three-tier architecture. Pada model ini, layer
direpresentasikan sebagai host, server dan client.
Server memainkan peranan sebagai penengah dengan mengirim aturan bisnis (prosedur
atau constraint) yang digunakan untuk mengakses data dari host. Client berisi antar muka
GUI dan beberapa aplikasi tambahan mengenai aturan bisnis. Kemudian server bertindak
sebagai conduit of passing memproses data dari host ke client dimana kemudian diproses
atau difilter dan dipresentasikan ke pemakai dalam format GUI. Antar muka pemakai,
aturan dan pengaksesan data bertindak sebagai three tiers.
Cient biasanya dihubungkan ke server melalui LAN dan server dihubungkan ke host melalui
WAN. Client melakukan remote yang dihubungkan ke server melalui WAN juga. Sistem ini
sangat cocok untuk perusahaan besar dimana basis data terpusat dapat disimpan dalam
host dan biaya pembangunan LAN dan WAN dapat diatur dan dioptimasi menggunakan
teknologi yang baru untuk setiap bagian yang berbeda dalam organisasi.
1. Perangkat lunak server bertanggung jawab pada manajemen data lokal,kebanyakan sama
dengan perangkat lunak DBMS
2. Perangkat lunak client bertanggung jawab untuk fungsi distribusi; mengaksesinformasi
distribusi data dari katalog DDBMS dan memproses semua permintaan yang membutuhkan
akses ke lebih dari satu tempat. Hal ini juga ditangani semua antar muka user.
3. Perangkat lunak komunikasi (biasanya dihubungkan dengan sistem operasiterdistribusi)
menyediakan primitif komunikasi yang digunakanoleh client untukmengirim perintah dan
data ke tempat yang berbeda sesuai kebutuhan. Hal inibukan bagian yang terpenting dalam
DDBMS, tetapi menyediakan primitfkomunikasi dan pelayanan yang esensial.
Client bertanggung jawab untuk membangkitkan eksekusi terdistribusi untukbeberapa
tempat server suatu query atau transaksi dan untuk melakukan supervise eksekusi
terdistribusi dengan mengirim perintah ke server. Perintah ini termasuk query lokal dan
transaksi yang dieksekusi selain perintah untuk mengirim data ke client atau server lain.
Fungsi lain dikontrol oleh client (atau koordinator) adalah menjamin konsistensi dari copy
replika dari item data dengan teknik concurrency control terdistribusi (global).
Client harus menjamin transaksi global atomik dengan membentuk global recovery jika
tempat yang dimaksud gagal. Satu fungsi yang mungkin dari client adalah menyembunyikan
detail distribusi data dari pemakai, yang memungkinkan pemakai menulis query global dan
transaksi seperti basis data yang terpusat, tanpa harus menentukan tempat dimana data
dirujuk dalam query atau transaksi berada. Properti ini disebut distribution transparency.
Beberapa DDBMS tidak melakukan distribution tranparency, sehingga pemakai harus
berhati-hati terhadap distribusi data secara detail.
2. Sharing resources (sumber daya): Server bisa melayani beberapa client pada waktu yang
sama, dan meregulasi akses bersama untuk share sumber daya dalam menjamin
konsistensinya.
3. Asymmetrical protocol (protokol yang tidak simetris ): Many-to-one relationship antara
client dan server.Client selalu menginisiasikan dialog melalui layanan permintaan, dan
server menunggu secara pasif request dari client.
4. Transparansi lokasi: Proses yang dilakukan server boleh terletak pada mesin yang sama
atau pada mesin yang berbeda melalui jaringan.Lokasi server harus mudah diakses dari
client.
5. Mix-and-Match : Perbedaan server client platforms
6. Pesan berbasiskan komunikasi; Interaksi server dan client melalui pengiriman pesan yang
menyertakan permintaan dan jawaban.
7. Pemisahan interface dan implementasi: Server bisa diupgrade tanpa mempengaruhi
client selama interface pesan yang diterbitkan tidak berubah.
File server vendors mengklaim bahwa mereka pertama menemukan istilah client-
server.
Untuk sharing file melalui jaringan
2.Database Servers
Client meminta remote procedures yang terletak pada server dengan sebuah SQL
database engine.
Remote procedures ini mengeksekusi sebuah grup dari SQL statement
Hanya satu permintaan / jawaban yang dibutuhkan untuk melakukan transaksi
4.Groupsware Servers
World Wide Web adalah aplikasi client server yang pertama yang digunakan untuk
web.
Client dan servers berkomunikasi menggunakan RPC seperti protokol yang disebut
HTTP.
Sangat mudah
Cepat dalam merancang dan mengaplikasikan
Skala kecil
Susah diamankan
Menyebabkan perubahan terhadap salah satu komponen diatas tidak mungkin
dilakukan, karena akan mengubah semua bagian.
Tidak memungkinkan adanya re-usable component dan code.
Cepat dalam merancang dan mengaplikasikan
1. User Interface. Adalah antar muka program aplikasi yang berhadapan dan digunakan
langsung oleh user.
2. Manajemen Proses.
3. Database. Model ini memisahkan peranan user interface dan database dengan jelas,
sehingga terbentuk dua lapisan.
Kurangnya skalabilitas
Koneksi database dijaga
Tidak ada keterbaharuan kode
Tidak ada tingkat menengah untuk menangani keamanan dan transaksi skala kecil.
Susah di amankan.
Lebih mahal.
3. Three Tier
Arsitektur Three Tier merupakan inovasi dari arsitektur Client Server. Pada arsitektur Three
Tier ini terdapat Application Server yang berdiri di antara Client dan Database Server.
Contoh dari Application server adalah IIS, WebSphere, dan sebagainya.
Application Server umumnya berupa business process layer, dimana bisa didevelop
menggunakan PHP, ASP.Net, maupun Java. Sehingga kita menempatkan beberapa business
logic kita pada tier tersebut. Arsitektur Three Tier ini banyak sekali diimplementasikan
dengan menggunakan Web Application. Karena dengan menggunakan Web Application,
Client Side (Komputer Client) hanya akan melakukan instalasi Web Browser. Dan saat
komputer client melakukan inputan data, maka data tersebut dikirimkan ke Application
Server dan diolah berdasarkan business process-nya. Selanjutnya Application Server akan
melakukan komunikasi dengan database server.
Biasanya, implementasi arsitektur Three Tier terkendala dengan network bandwidth. Karena
aplikasinya berbasiskan web, maka Application Server selalu mengirimkan Web Application-
nya ke computer Client. Jika kita memiliki banyak sekali client, maka bandwidth yang harus
disiapkan akan cukup besar, Sedangkan network bandwidth biasanya memiliki limitasi. Oleh
karena itu biasanya, untuk mengatasi masalah ini, Application Server ditempatkan pada sisi
client dan hanya mengirimkan data ke dalam database server. Konsep model three-tier
adalah model yang membagi fungsionalitas ke dalam lapisan-lapisan, aplikasiaplikasi
mendapatkan skalabilitas, keterbaharuan, dan keamanan.
Kelebihan arsitektur Three Tier :
Segala sesuatu mengenai database terinstalasikan pada sisi server, begitu pula
dengan pengkonfigurasiannya. Hal ini membuat harga yang harus dibayar lebih kecil.
Apabila terjadi kesalahan pada salah satu lapisan tidak akan menyebabkan lapisan
lain ikut salah
Perubahan pada salah satu lapisan tidak perlu menginstalasi ulang pada lapisan yang
lainnya dalam hal ini sisi server ataupun sisi client.
Skala besar.
Keamanan dibelakang firewall.
Transfer informasi antara web server dan server database optimal.
Komunikasi antara system-sistem tidak harus didasarkan pada standart internet,
tetapi dapat menggunakan protocol komunikasi yang lebvih cepat dan berada pada
tingkat yang lebih rendah.
Penggunaan middleware mendukung efisiensi query database dalam SQL di pakai
untuk menangani pengambilan informasi dari database.
Program aplikasi tidak bisa mengquery langsung ke database server, tetapi harus
memanggil prosedur-prosedur yang telah dibuat dan disimpan pada middle-tier.
Lebih mahal