Pengertian
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.
Konsep Dasar Client/ServerMenurut Gallaugher & Ramanathan (1996) :“client/server adalah client mengirim permintaan ke server,server menterjemahkan pesan,kemudian berusaha memenuhi permintaan”
Menurut Blaha & Premerlani (1998) :“client/server
adalah suatu arsitektur dimana sumber daya server menyediakan komputasi
untuk banyak komponen client.Client dapat mengakses satu server atau
multiple server. Client dan server bisa berjalan pada mesin yg sama atau
berbeda, ditulis dalam berbagai bahasa dan menggunakan sistem operasi
yang berbeda
• Komputasi client-server melibatkan pembagian suatu
aplikasi ke dalam beberapa task dan meletakkan setiap task pada platform
yang dapat menangani secara efisien
• pemrosesan data bisa berada pada client atau di-split diantara client dan server
• Server dihubungkan ke client melalui suatu jaringan
Pengertian lain, client melakukan permintaan suatu informasi atau
mengirim perintah ke server. Server akan menerima permintaan dan
perintah client. Kemudian server akan memproses memproses berdasarkan
permintaan tersebut, dan mengembalikan kepada client sebagai hasil
pemrosesan yang sudah dilakukan.
Data yang diminta oleh client dapat
diambil dari database pada sisi server yang sering disebut database
server, seperi misalnya MySQL, PostgreSQL, Oracle, atau SQL Server.
Karakteristik Client-Server :
-
Client dan Server merupakan item proses (logika) terpisah yang bekerja
sama pada suatu jaringan komputer untuk mengerjakan suatu tugas
- Service : Menyediakan layanan terpisah yang berbeda
- Shared resource : Server dapat melayani beberapa client pada saat yang sama dan mengatur pengaksesan resource
-
Asymmetrical Protocol : antara client dan server merupakan hubungan
one-to-many. Client memulai komunikasi dengan mengirim request ke
server. Server menunggu permintaan dari client. Kondisi tersebut juga
memungkinkan komunikasi callback.
- Transparency Location : proses
server dapat ditempatkan pada mesin yang sama atau terpisah dengan
proses client. Client/server akan menyembunyikan lokasi server dari
client.
- Mix-and-match : tidak tergantung pada platform
- Message-based-exchange : antara client dan server berkomunikasi dengan mekanisme pertukaran message.
- Encapsulation of service : message memberitahu server apa yang akan dikerjakan
- Scalability : sistem C/S dapat dimekarkan baik vertikal maupun horisontal
- Integrity : kode dan data server diatur secara terpusat, sedangkan pada client tetap pada komputer tersendiri