Client merupakan sembarang sistem atau proses yang melakukan suatu permintaan data atau layanan ke server sedangkan server ialah, sistem atau proses yang menyediakan data atau layanan yang diminta olehclient.
Client-Server adalah pembagian kerja antara server dan client yg mengakses server dalam suatu jaringan. Jadi arsitektur client-server adalah desain sebuah aplikasi terdiri dari client dan server yang saling berkomunikasi ketika mengakses server dalam suatu jaringan.
Sistem client server didefinisikan sebagai sistem terdistribusi, tetapi ada beberapa perbedaan karakteristik yaitu :
1. Servis (layanan)- Hubungan antara proses yang berjalan pada mesin yang berbeda
- Pemisahan fungsi berdasarkan ide layanannya
- Server sebagai provider, client sebagai konsumen
2. Sharing resources (sumber daya): Server bisa melayani beberapa client pada waktu yang sama, dan meregulasi akses bersama untuk share sumber daya dalam menjamin konsistensinya.
3. Asymmetrical protocol (protokol yang tidak simetris ): Many-to-one relationship antara client dan server.Client selalu menginisiasikan dialog melalui layanan permintaan, dan server menunggu secara pasif request dari client.
4. Transparansi lokasi: Proses yang dilakukan server boleh terletak pada mesin yang sama atau pada mesin yang berbeda melalui jaringan.Lokasi server harus mudah diakses dari client.
6. Pesan berbasiskan komunikasi; Interaksi server dan client melalui pengiriman pesan yang menyertakan permintaan dan jawaban.
7. Pemisahan interface dan implementasi: Server bisa diupgrade tanpa mempengaruhi client selama interface pesan yang diterbitkan tidak berubah.
- Client Server System
- Client / Server Application
Perbedaan Tipe Client-Server
1.File Servers
- File server vendors mengklaim bahwa mereka pertama menemukan istilah client-server.
- Untuk sharing file melalui jaringan
2.Database Servers
- Client mengirimkan SQL requests sebagai pesan pada database server,selanjutnya hasil perintah SQL dikembalikan.
- Server menggunakan kekuatan proses yang diinginkan untuk menemukan data yang diminta dan kemudian semua record dikembalikan pada client.
3.Transaction Servers (Transaksi Server)
- Client meminta remote procedures yang terletak pada server dengan sebuah SQL database engine.
- Remote procedures ini mengeksekusi sebuah grup dari SQL statement
- Hanya satu permintaan / jawaban yang dibutuhkan untuk melakukan transaksi
4.Groupsware Servers
- Dikenal sebagai Computer-supported cooperative working
- Manajemen semi-struktur informasi seperti teks, image, , bulletin boards dan aliaran kerja
- Data diatur sebagai dokumen
5.Object Application Servers
- Aplikasi client/server ditulis sebagai satu set objek komunikasi
- Client objects berkomunikasi dengan server objects melalui Object Request Broker (ORB)
- Client meminta sebuah method pada remote object
6.Web Application Servers (Aplikasi Web Servers)
- World Wide Web adalah aplikasi client server yang pertama yang digunakan untuk web.
- Client dan servers berkomunikasi menggunakan RPC seperti protokol yang disebut HTTP.