Oleh William: praktisi Database, certified Oracle tingkat dasar, CCNA, user
D7.

Latar Belakang
---------------
Menarik saya perhatikan bahwa terjadi komunikasi aktif mengenai apakah
design C/S (Client Server) itu sesungguhnya? Sehingga saya tertarik untuk
menjelaskan arsitektur C/S ditinjau dr segi teroritis dan implementasinya.

Pengertian C/S
---------------
C/S adalah suatu design database yang melibatkan Client dan Server secara
interaktif dan independent. Client bertindak sebagai peminta data (dengan
mengirimkan serangkaian command), menampilkan data (dalam bentuk table atau
grafik), dan mengolah data secara local. Sedangkan Server bertindak sebagai
penerima command dari Client, mengirimkan data ke client, mengatur lalu
lintas data dan sekurity-nya. Jadi dalam arsitektur C/S bukan berarti Client
tidak mengolah data sama sekali, perlu diingat bahwa data di Client diolah
untuk kepentingan lokal saja bukan secara global.

Perkembangan Database Server
---------------------------------
Beberapa DB Server saat ini sudah dilengkapi dengan fasilitas SP (Store
Procedure), Trigger, View/Derivated Table, Merge dan sebagainya yang
diletakkan di tingkat Server. Sebuah DB Server tidak harus memiliki
fasilitas tersebut dalam konteks C/S. Sebab command dari Client bisa
dikirimkan berupa serangkaian perintah SQL atau sejenisnya. Yang penting di
sini adalah "untuk mendapatkan data parsial tidak harus mengirimkan semua
data" seperti yang terjadi pada Clipper dan dBase. Programmer Delphi umumnya
memilih membuat SP yang sederhana di db Server kemudian pemrosesan data yang
rumit diselesaikan ditingkat Delphi. Hal ini dimaksudkan agar program bisa
portable dan sedikit modifikasi jika diterapkan pada db Server yang berbeda.

Impelementasi C/S
-------------------
Kenyataannya tidak ada seorangpun programmer dan db Admin yang mampu
menerapkan design C/S 100%. Seringkali command yang rumit mampu diselesaikan
dengan cepat melalui filter dan serangkaian perintah Dlphi dari pada membuat
query ulang pada server, apalagi denga membuat SP.

Menyerahkan segala kontrol pada Server, seperti memeriksa apakah entry user
berupa Numerik, menimbulkan overhead pada jaringan dan Server. Bukankah kita
umumnya memilih memeriksa apakah Entry tersebut Numerik di tingkat Client
kemudian mengirimkan pesan error jika entry ternyata mengandung nilai
non-numerik? Jika Entry kontrol diserahkan pada server maka error akan
diketahui setelah server menerima data tersebut dan kemudian server mengirim
pesan error ke client dan client menampilkan pesan error tsb ...  jelas hal
ini tidak praktis.

Meskipun kita bisa menerapkan konstrain pada tabel untuk memastikan suatu
nilai numerik tetapi hal ini jarang dimanfaatkan sebab akan terjadi
perlambatan terutama saat terjadi input data yang besar dan bersamaan yang
dikenal dengan istilah INSERT BULK, terlebih lagi penerapan Trigger
seringkali dihindari. Konstrain dan Trigger menimbulkan masalah yang
kompleks manakala dihadapkan pada situasi restore database, restore database
mau tidak mau harus dilakukan secara keseluruhan daripada parsial untuk
menghindari penolakan dari Konstrain atau Trigger.
Sedangkan View table seringkali digantikan oleh join table yang hasilnya
ditampung ke dalam Dataset. Konsep Dataset yang ada pada Delphi sungguh luar
biasa, bahkan VB .Net pun terpaksa mengadopsi konsep ini.

Kesimpulan
------------
Kemampuan Delphi yang luar biasa dan kemampuan Db Server yang juga luar
biasa, memerlukan kebijaksanaan programmer dan db Admin untuk memanfaatkan
kemampuan ini. Kombinasi antara arsitektur C/S dan kemampuan olah data oleh
Delphi melalui serangkaian procedure/function-nya merupakan solusi yang
efektif untuk memecahkan masalah. Jangan semuanya ditumpukan pada Server
jika ternyata ada jalan yang lebih fleksibel.

Teoritis C/S memang perlu dipahami tetapi Realita aplikasi database
memerlukan lebih daripada sekedar teori.


------------------------ Yahoo! Groups Sponsor ---------------------~-->
Rent DVDs Online - Over 14,500 titles.
No Late Fees & Free Shipping.
Try Netflix for FREE!
http://us.click.yahoo.com/JYdFFC/XP.FAA/3jkFAA/i7folB/TM
---------------------------------------------------------------------~->

Berlangganan: [EMAIL PROTECTED]
Stop Berlangganan: [EMAIL PROTECTED]
Keluhan Milis(Unbouncing,spam,dll): [EMAIL PROTECTED] 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 


Kirim email ke