Gambaran
Perbandingan Arsitektur Sisi Klien dan Arsitektur Sisi Sever Serta Kolaborasinya
Menurut kamus istilah arsitektur dapat diartikan
sebagai struktur desain komputer dan semua rinciannya, seperti sistem sirkuit,
chip, bus untuk ekspansi slot, BIOS dan sebagainya. Tiga elemen utama
sebuah arsitektur, masing-masing sering dianggap sebagai arsitektur, adalah:
· Arsitektur sistem
pemrosesan, menentukan standar teknis untuk hardware, lingkungan sistem
operasi, dan software aplikasi, yang diperlukan untuk menangani persyaratan
pemrosesan informasi perusahaan dalam spektrum yang lengkap. Standar merupakan
format, prosedur, dan antar muka, yang menjamin bahwa perlengkapan dan software
dari sekumpulan penyalur akan bekerja sama.
· Arsitektur
telekomunikasi dan jaringan, menentukan kaitan di antara fasilitas komunikasi
perusahaan, yang melaluinya informasi bergerak dalam organisasi dan ke peserta
dari organisasi lain, dan hal ini juga tergantung dari standar yang berlaku.
· Arsitektur data,
sejauh ini merupakan yang paling rumit diantara ketiga arsitektur di atas, dan
termasuk yang relatif sulit dalam implementasinya, menentukan organisasi data
untuk tujuan referensi silang dan penyesuaian ulang, serta untuk penciptaan
sumber informasi yang dapat diakses oleh aplikasi bisnis dalam lingkup luas.
Arsitektur itu
sendiri terdiri dari dua jenis, yaitu dari sisi client dan sisi
server.
Asitektur Sisi Client
Arsitektur Client
merujuk pada pelaksanaan atau penyimpanan data pada browser (atau klien) sisi
koneksi HTTP. JavaScript adalah sebuah contoh dari sisi klien eksekusi, dan
cookie adalah contoh dari sisi klien penyimpanan.
Karakteristik Klien
:
· Memulai terlebih
dahulu permintaan ke server.
· Menunggu dan
menerima balasan.
· Terhubung ke
sejumlah kecil server pada waktu tertentu.
· Berinteraksi
langsung dengan pengguna akhir, dengan menggunakan GUI.
Arsitektur Sisi Server
Sebuah eksekusi
sisi server adalah server Web khusus eksekusi yang melampaui standar metode
HTTP itu harus mendukung. Sebagai contoh, penggunaan CGI script sisi server
khusus tag tertanam di halaman HTML; tag ini memicu tindakan terjadi atau
program untuk mengeksekusi.
· Selalu menunggu
permintaan dari salah satu klien.
· Melayani klien
permintaan kemudian menjawab dengan data yang diminta ke klien.
· Sebuah server dapat
berkomunikasi dengan server lain untuk melayani permintaan klien.
· Jenis-jenisya yaitu
: web server, FTP server, database server, E-mail server, file server, print
server. Kebanyakan web layanan ini juga jenis server.
Aplikasi
database terdistribusi dikembangkan dalam bentuk arsitektur client/server. Pada
umumnya sistem client/server beroperasi dilingkup jaringan komputer, yang
memecah pemrosesan aplikasi antara sisi client ( front - end ) dan sisi server
( back - end ). Proses yang terjadi yaitu memecah suatu proses antara sisi
client dan server, sehingga client akan memproses sebagian resourcenya, sedang
pemrosesan yang lain diserahkan pada sisi server. Client dan server dapat
berada pada komputer yang sama, atau dapat juga berada pada komputer yang
berbeda yang saling terhubung pada suatu jaringan komputer (network). Secara
umum, komputer disebut:
· Client: jika ia menerima layanan
tertentu dari server, dan disebut
· Server: jika ia memberi layanan
tertentu pada client.
Dasar
Arsitektur Client/Server
Secara berangsur-angsur, sistem DBMS
mulai dapat ditempatkan pada sisi user yang dikenal dengan arsitektur DBMS
Client/Server. Arsitektur Client/Server dibangun untuk memenuhi lingkungan
komputing dimana sejumlah PC, workstation, file server, printer, database
server, web server serta peralatan lainnya dapat saling terhubung via network.
Ide dasar arsitektur client/server ini adalah mendefinisikan spesifik server
dengan kemampuan yang khusus pula. Sebagai contoh: menghubungkan berbagai
PC sebagai client pada file server yang menangani berbagai file pada mesin
client, mesin lain dapat dirancang sebagai printer server yang terhubung pada
berbagai printer, mesin server lain sebagai Web server atau e-mail server,
dsb.Mesin-mesin client menyediakan interface yang sesuai bagi user sebagai
penghubung dalam menggunakan server-server tersebut. Konsep ini dapat
diganti dengan adanya software khusus yang tersimpan pd mesin server
yang spesifik pula (DBMS,CAD package, dll). Konsep arsitektur client/server
mengasumsikan sebuah kerangka dasar (framework) yang terdiri atas banyak PC
yang terhubung melalui LAN beserta tipe-tipe jaringan komputer lainnya. Suatu
Client adalah mesin user yang menyediakan kemampuan user interface dan local
processing. Suatu Server adalah mesin yang menyediakan berbagai service ke
mesin client (file access, printing, archiving, or database access). Ada
kemungkinan suatu mesin hanya menginstall software client saja, yang lain
software server, atau bahkan keduanya pada satu mesin (seperti pada gambar
physical client/server sebelumnya). Dua jenis utama dari dasar arsitektur DBMS
tersebut yang mendasari framework client/server: two-tier client/server dan
three-tier client/server.
Perbedaan
Arsitektur Sisi Klien dan Server
Arsitektur Sisi Client
Arsitektur Client merujuk pada
pelaksanaan atau penyimpanan data pada browser (atau klien) sisi koneksi HTTP.
JavaScript adalah sebuah contoh dari sisi klien eksekusi, dan cookie adalah
contoh dari sisi klien penyimpanan.
· Memulai terlebih dahulu permintaan
ke server.
· Menunggu dan menerima balasan.
· Terhubung ke sejumlah kecil server
pada waktu tertentu.
· Berinteraksi langsung dengan
pengguna akhir, dengan menggunakan GUI.
Sebuah eksekusi sisi server adalah
server Web khusus eksekusi yang melampaui standar metode HTTP itu harus
mendukung. Sebagai contoh, penggunaan CGI script sisi server khusus tag
tertanam di halaman HTML; tag ini memicu tindakan terjadi atau program untuk
mengeksekusi.
· Selalu menunggu permintaan dari
salah satu klien.
· Melayani klien permintaan kemudian
menjawab dengan data yang diminta ke klien.
Kolaborasi Antara Arsitektur Sisi
Klien Dan Arsitektur Sisi Server
Sebuah server dapat berkomunikasi
dengan server lain untuk melayani permintaan klien.
Pada arsitektur ini semua pemrosesan dilakukan pada
mainframe. Kode aplikasi, data dan semua komponen sistem ditempatkan dan
dijalankan pada host. Walaupun computer client dipakai untuk mengakses
mainframe, tidak ada pemrosesan yang terjadi pada mesin ini, dan karena mereka
“dump- client” atau “dump-terminal”. Tipe model ini, dimana semua pemrosesan
terjadi secara terpusat, dikenal sebagai berbasis-host. Sekilas dapat dilihat
kesalahan pada model ini. Ada dua masalah pada komputasi berbasis host:
Pertama, semua pemrosesan terjadi pada sebuah mesin tunggal, sehingga semakin
banyak user yang mengakses host, semakin kewalahan jadinya. Jika sebuah
perusahaan memiliki beberapa kantor pusat, user yang dapat mengakses mainframe
adalah yang berlokasi pada tempat itu, membiarkan kantor lain tanpa akses ke
aplikasi yang ada.
Pada saat itu jaringan sudah ada
namun masih dalam tahap bayi, dan umumnya digunakan untuk menghubungkan
terminal dump dan mainframe. Namun keterbatasan yang dikenakan pada user
mainframe dan jaringan telah mulai dihapus.
2. Client/Server (two tier)
Dalam model client/server,
pemrosesan pada sebuah aplikasi terjadi pada client dan server. Client/server
adalah tipikal sebuah aplikasi two-tier dengan banyakclient dan sebuah server
yang dihubungkan melalui sebuah jaringan. Aplikasi ditempatkan pada computer
client dan mesin database dijalankan pada server jarak-jauh. Aplikasi client
mengeluarkan permintaan ke database yang mengirimkan kembali data ke
client-nya.
Model Two-tier terdiri dari tiga
komponen yang disusun menjadi dua lapisan : client (yang meminta serice) dan
server (yang menyediakan service).
Tiga komponen tersebut yaitu :
· User Interface. Adalah antar muka
program aplikasi yang berhadapan dan digunakan langsung oleh user.
· Database. Model ini memisahkan
peranan user interface dan database dengan jelas, sehingga terbentuk dua
lapisan.
Kelebihan dari model client/server
· Menangani Database Server secara
khusu
· Relatif lebih sederhana untuk di
develop dan diimplementasikan
· Lebih cocok diterapkan untuk bisnis
kecil.
Server database berisi
mesin database, termasuk tabel, prosedur tersimpan, dan trigger (yang juga
berisi aturan bisnis). Dalam system client/server, sebagian besar logika bisnis
biasanya diterapkan dalam database.
Server database manangani :
· Query, trigger, prosedur tersimpan
Arsitektur client/server merupakan
sebuah langkah maju karena mengurangi beban pemrosesan dari komputer sentral ke
computer client. Ini berarti semakin banyak user bertambah pada aplikasi
client/server, kinerja server file tidak akan menurun dengan cepat. Dengan
client/server user dari berbagai lokasi dapat mengakses data yang sama dengan
sedikit beban pada sebuah mesin tunggal. Namun masih terdapat kelemahan pada
model ini. Selain menjalankan tugas-tugas tertentu, kinerja dan skalabilitas
merupakan tujuan nyata dari sebagian besar aplikasi.
Kekurangan
dari model client/server :
· Koneksi database dijaga
· Tidak ada keterbaharuan kode
· Tidak ada tingkat menengah untuk
menangani keamanan dan transaksi skala kecil.
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 (batasan). 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, aplikasi-aplikasi untuk
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.
Arsitektur Multi Tier adalah suatu
metode yang sangat mirip dengan Three Tier. Bedanya, pada Multi Tier akan
diperjelas bagian UI (User Interface) dan Data Processing. Yang membedakan
arsitektur ini adalah dengan adanya Business Logic Server. Database Server dan
Bussines Logic Server merupakan bagian dari Data Processing, sedangkan
Application Server dan Client/Terminal merupakan bagian dari UI. Business Logic
Server biasanya masih menggunakan bahasa pemrograman terdahulu, seperti COBOL.
Karena sampai saat ini, bahasa pemrograman tersebut masih sangat mumpuni
sebagai business process.
Multi-tier architecture
menyuguhkan bentuk three – tier yang diperluas dalam model fisik yang
terdistribusi. Application server dapat mengakses Application server yang lain
untuk mendapat data dari Data server dan mensuplai servis ke client
Application.
Kelebihan arsitektur Multi tier :
· Dengan menggunakan aplikasi
multi-tier, maka database driver seperti BDE/ODBC untuk mengakses database
hanya perlu diinstal sekali pada middle server, tidak perlu pada masing-masing
client
· Pada aplikasi multi-tier, logika
bisnis pada middle-tier dapat digunakan lagi untuk mengembangkan aplikasi
client lain,sehingga mengurangi besarnya program untuk mengembangkan aplikasi
lain. Selain itu meringankan beban pada tiap-tiap mesin karena program terdistribusi
pada beberapa mesin
· Memerlukan adaptasi yang sangat luas
ruang lingkupnya apabila terjadi perubahan sistem yang besar
· Kekurangan arsitektur Multi tier
· Program aplikasi tidak bisa
mengquery langsung ke database server, tetapi harus memanggil prosedur-prosedur
yang telah dibuat dan disimpan pada middle-tier