Sumber :
Artitektur 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
- Berinterkasi langsung dengan pengguna akhir, dengan menggunaan GUI
Arsitektu 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.
karakteristik server :
- 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-Jenisnya yaitu : web server, FTP server, database server, E-mail server, file server, print server. Kebanyakan web layanan ini juga jenis server.
Kolaborasi Client - Server
1. Standalone (one-tier)
1. Standalone (one-tier)
Pada arsitektur ini semua pemrosesan
dilakukan pada mainframe. Kode aplikasi, data dan semua komponen sistem
ditempatkan dan dijalankan pada host. Walaupun komputer 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.
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 banyak client dan sebuah server
yang dihubungkan melalui sebuah jaringan. Aplikasi
ditempatkan pada komputer client dan mesin database dijalankan pada server
jarak-jauh. Aplikasi client mengeluarkan permintaan ke database yang
mengirimkan kembali data ke client-nya.
Dalam client/server, client-client
yang cerdas bertanggung jawab untuk bagian dari aplikasi yang berinteraksi
dengan user, termasuk logika bisnis dan komunikasi dengan server database.
Tipe-tipe tugas yang terjadi pada client adalah :
- Antarmuka pengguna
- Interaksi database
- Pengambilan dan modifikasi data
- Sejumlah aturan bisnis
- Penanganan kesalahan
Server database berisi mesin
database, termasuk tabel, prosedur tersimpan, dan trigger (yang juga berisi
aturan bisnis). Dalam sistem client/server, sebagian besar logika bisnis
biasanya diterapkan dalam database. Server database manangani :
- Manajemen data
- Keamanan
- Query, trigger, prosedur tersimpan
- Penanganan Kesalahan.
Arsitektur client/server merupakan
sebuah langkah maju karena mengurangi beban pemrosesan dari komputer sentral ke
komputer client. Ini berarti semakin banyak user bertambah pada aplikasi
client/server, kinerja server file tidak akan menurun dengan cepat. Dengan
client/server user dair 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. Model client/server
memiliki sejumlah keterbatasan :
- Kurangnya skalabilitas.
- Koneksi database dijaga.
- Tidak ada keterbaharuan kode.
- Tidak ada tingkat menengah untuk menangani keamanan dan transaksi.
Aplikasi-aplikasi berbasis
client/server memiliki kekurangan pada skalabilitas. Skalabilitas adalah
seberapa besar aplikasi bisa menangani suatu kebutuhan yang meningkat –
misalnya, 50 user tambahan yang mengakses aplikasi tersebut. Walaupun model
client/server lebih terukur daripada model berbasis host, masih banyak
pemrosesan yang terjadi pada server. Dalam model client/server semakin banyak
client yang menggunakan suatu aplikasi, semakin banyak beban pada server.
Koneksi database harus dijaga untuk
masing-masing client. Koneksi menghabiskan sumber daya server yang berharga dan
masing-masing client tambahan diterjemahkan ke dalam satu atau beberapa
koneksi. Logika kode tidak bisa didaur ulang karena kode aplikasi ada dalam
sebuah pelaksanaan executable monolitik pada client. Ini juga menjadikan
modifikasi pada kode sumber sulit. Penyusunan ulang perubahan itu ke semua
komputer client juga membuat sakit kepala.
3.
Three - Tier / Multi Tier
Model three-tier atau
multi-tier dikembangkan untuk menjawab keterbatasan pada arsitektur
client/server. Dalam model ini, pemrosesan disebarkan di dalam tiga lapisan
(atau lebih jika diterapkan arsitektur multitier). Lapisan ketiga dalam
arsitektur ini masing-masing menjumlahkan fungsionalitas khusus. Yaitu :
- Layanan presentasi (tingkat client)
- Layanan bisnis (tingkat menengah)
- Layanan data (tingkat sumber data
Layanan presentasi atau logika
antarmuka pengguna ditempatkan pada mesin client. Logika bisnis dikeluarkan
dari kode client dan ditempatkan dalam tingkat menengah. Lapisan layanan data
berisi server database. Setiap tingkatan dalam model three-tier berada pada
komputer tersendiri.
Konsep model three-tier adalah model
yang membagi fungsionalitas ke dalam lapisan-lapisan, aplikasiaplikasi
mendapatkan skalabilitas, keterbaharuan, dan keamanan.