Sumber :
- www.wikipedia.org
- www.anggerip.blogspot.com
Klien-server atau client-server merupakan sebuah paradigma dalam
teknologi informasi yang merujuk kepada cara untuk mendistribusikan
aplikasi ke dalam dua pihak: pihak klien dan pihak server.

Dalam model klien/server, sebuah aplikasi dibagi menjadi dua bagian
yang terpisah, tapi masih merupakan sebuah kesatuan yakni komponen klien
dan komponen server. Komponen klien juga sering disebut sebagai
front-end, sementara komponen server disebut sebagai back-end. Komponen
klien dari aplikasi tersebut dijalankan dalam sebuah workstation dan
menerima masukan data dari pengguna. Komponen klien tersebut akan
menyiapkan data yang dimasukkan oleh pengguna dengan menggunakan
teknologi pemrosesan tertentu dan mengirimkannya kepada komponen server
yang dijalankan di atas mesin server, umumnya dalam bentuk request
terhadap beberapa layanan yang dimiliki oleh server. Komponen server
akan menerima request dari klien, dan langsung memprosesnya dan
mengembalikan hasil pemrosesan tersebut kepada klien. Klien pun menerima
informasi hasil pemrosesan data yang dilakukan server dan
menampilkannya kepada pengguna, dengan menggunakan aplikasi yang
berinteraksi dengan pengguna.
Sebuah contoh dari aplikasi client/server sederhana adalah aplikasi web
yang didesain dengan menggunakan Active Server Pages (ASP) atau PHP.
Skrip PHP atau ASP akan dijalankan di dalam web server (Apache atau
Internet Information Services), sementara skrip yang berjalan di pihak
klien akan dijalankan oleh web browser pada komputer klien. Klien-server
merupakan penyelesaian masalah pada software yang menggunakan database
sehingga setiap komputer tidak perlu diinstall database, dengan metode
klien-server database dapat diinstal pada suatu komputer sebagai server
dan aplikasinya diinstal pada client.
1. Arsitektur Sisi Client / Klien
Beberapa karakteristik yang dimiliki dari sisi klien, pada umumnya yaitu :
A. Pihak klien selalu memulai permintaan/permohonan ke pihak server
B. Setelah mengirim permintaan, kemudian klien akan menunggu balasan atau jawaban atas permintaannya dari server
C. Menerima balasan dari server atas permintaannya
D. Biasanya klien akan terhubung ke sejumlah kecil dari server pada satu waktu
E. Biasanya berinteraksi langsung dengan end-user (pengguna akhir) dengan menggunakan user interface (antarmuka pengguna)
F. Khusus jenis klien mencakup web browser, email klien dan online chat klien
2. 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.
Karakteristik Server :
A. Selalu menunggu permintaan dari salah satu klien.
B. Melayani klien permintaan kemudian menjawab dengan data yang diminta ke klien.
C. 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.
Macam-macam arsitektur aplikasi Client-Server beserta kelebihan dan kekurangannya yaitu :
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 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.
>> Keuntungan arsitektur standalone (one-tier):
- Sangat mudah
- Cepat dalam merancang dan mengaplikasikan
>> Kelemahan arsitektur standalone (one-tier):
- Skala kecil
- Sulit diamankan
- Menyebabkan perubahan terhadap salah satu komponen diatas tidak mungkin dilakukan, karena akan mengubah semua bagian.
- Tidak memungkinkan adanya re-usable component dan code.