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.

Model client-server komputasi adalah aplikasi terdistribusi yang partisi tugas atau beban kerja antara penyedia sumber daya atau layanan, disebut server, dan pelayanan pemohon, disebut klien.  Sering kali klien dan server berkomunikasi melalui jaringan komputer pada hardware terpisah , namun kedua klien dan server dapat berada dalam sistem yang sama. Sebuah mesin server adalah sebuah host yang menjalankan program server satu atau lebih yang berbagi sumber daya mereka dengan klien. Seorang klien tidak berbagi sumber dayanya, namun permintaan fungsi server konten atau layanan. Oleh karena itu klien memulai sesi komunikasi dengan server yang menunggu permintaan masuk.



Skema interaksi klien-server.
Karakteristik client-server menggambarkan hubungan program bekerja sama dalam sebuah aplikasi. Komponen server menyediakan fungsi atau layanan ke satu atau banyak klien, yang melakukan permintaan untuk layanan tersebut.
Fungsi seperti pertukaran email, akses web dan akses database, yang dibangun pada model client-server. Pengguna mengakses layanan perbankan dari komputer mereka menggunakan klien web browser untuk mengirimkan permintaan ke web server di bank. Bahwa program pada gilirannya meneruskan permintaan ke database sendiri program klien yang mengirimkan permintaan ke server database di komputer bank lain untuk mengambil informasi account. Keseimbangan dikembalikan ke database klien bank, yang pada gilirannya berfungsi kembali ke klien web browser menampilkan hasilnya ke pengguna. Model client-server telah menjadi salah satu ide sentral komputasi jaringan. Banyak aplikasi bisnis yang ditulis hari ini menggunakan model klien-server. Jadi jangan protokol aplikasi utama Internet, seperti HTTP, SMTP, Telnet, dan DNS.
Interaksi antara klien dan server sering digambarkan menggunakan diagram urutan. Unified Modeling Language memiliki dukungan untuk diagram urutan.
Tipe tertentu dari klien termasuk web browser, klien email, dan klien chat online.
Tipe tertentu dari server termasuk server web, server ftp, server aplikasi, database server, server nama, mail server, file server, print server, dan server terminal. Kebanyakan layanan web juga jenis server.
Perbandingan untuk peer-to-peer arsitektur
Sebuah jaringan client-server melibatkan beberapa klien terhubung ke server, tunggal pusat. File server pada jaringan client-server adalah kapasitas, tinggi tinggi kecepatan komputer dengan kapasitas disk yang besar keras.
Sebaliknya, peer-to-peer jaringan melibatkan dua atau lebih komputer penyatuan sumber daya individu seperti disk drive, CD-ROM dan printer. Ini sumber daya bersama yang tersedia untuk setiap komputer dalam jaringan, sementara masing-masing dua dari mereka berkomunikasi dalam satu sesi. Setiap komputer bertindak baik sebagai klien dan server yang berarti semua komputer pada jaringan yang sama, yang mana istilah peer-to-peer berasal dari. Keuntungan dari peer-to-peer adalah konsep kontrol lebih mudah tidak memerlukan badan koordinasi tambahan lainnya dan tidak menunda transfer oleh routing melalui entitas server. Namun, tabrakan sesi mungkin lebih besar dibandingkan dengan routing melalui node server.
Pada jaringan peer to peer, aplikasi perangkat lunak dapat diinstal pada komputer tunggal dan bersama oleh setiap komputer dalam jaringan. Mereka juga lebih murah untuk mengatur karena sebagian sistem desktop operasi memiliki perangkat lunak yang diperlukan untuk jaringan yang terpasang secara default. Di sisi lain, model client-server bekerja dengan berbagai ukuran atau tata letak fisik dari LAN dan tidak cenderung melambat dengan penggunaan berat.
Peer-to-peer biasanya kurang aman daripada jaringan client-server karena keamanan ditangani oleh komputer individu, tidak terkontrol dan diawasi di jaringan secara keseluruhan. Sumber daya dari komputer dalam jaringan dapat menjadi sesak karena mereka harus mendukung tidak hanya pengguna workstation, tetapi juga permintaan dari pengguna jaringan. Mungkin sulit untuk menyediakan layanan systemwide ketika sistem operasi klien biasanya digunakan dalam jaringan jenis ini tidak mampu layanan hosting tersebut.
Klien-server jaringan dengan kapasitas tambahan mereka memiliki biaya setup awal yang lebih tinggi untuk jaringan dari jaringan peer to peer. Aspek jangka panjang dari pemberian jaringan klien-server dengan aplikasi server-host yang sebagian besar pasti menghemat administrasi usaha dibandingkan dengan administrasi pengaturan aplikasi per setiap klien. Selain konsentrasi fungsi dalam server performant memungkinkan kinerja yang lebih rendah untuk kualifikasi kelas klien.
Hal ini dimungkinkan untuk menyiapkan server pada komputer desktop modern, namun disarankan untuk mempertimbangkan investasi di perusahaan-lebar fasilitas server dengan pilihan standar perangkat keras dan perangkat lunak dan dengan strategi pemberian sistematis dan jarak jauh dioperasikan. Hal ini lebih mudah untuk mengkonfigurasi dan mengelola perangkat keras server dan perangkat lunak dibandingkan dengan persyaratan administrasi didistribusikan dengan kawanan komputer.

Umumnya server dapat ditentang di luar kemampuannya. Kemudian server tunggal dapat menyebabkan hambatan atau  masalah kendala. Namun, server mungkin kloning dan jaringan untuk memenuhi semua kapasitas dikenal dan persyaratan kinerja. Keterbatasan termasuk beban jaringan, volume jaringan alamat, dan waktu transaksi pemulihan.
Aspek perbandingan untuk konsep arsitektur lainnya hari ini meliputi komputasi awan juga. Pertimbangan desain Kemungkinan keputusan mungkin:
• Begitu jumlah permintaan klien simultan ke server yang diberikan meningkat, server dapat menjadi kelebihan beban. Kontras bahwa untuk jaringan P2P, dimana bandwidth agregat yang sebenarnya meningkatkan sebagai node yang ditambahkan, karena bandwidth keseluruhan jaringan P2P secara kasar dapat dihitung sebagai jumlah dari bandwidth dari setiap node dalam jaringan itu. Namun, model sederhana ini berakhir dengan bandwidth jaringan: Kemudian datang kemacetan pada jaringan dan tidak dengan rekan-rekan.
• Setiap paradigma entitas tunggal tidak memiliki kekokohan konfigurasi berlebihan. Dalam client-server, harus gagal server kritis, permintaan klien tidak dapat dipenuhi oleh entitas yang sangat, tetapi mungkin diambil oleh server lain, selama data yang diperlukan dapat diakses. Dalam jaringan P2P, sumber daya biasanya didistribusikan di antara banyak node yang menghasilkan sebagai banyak lokasi untuk gagal. Jika re-routing dinamis didirikan, bahkan jika satu atau lebih node berangkat dan meninggalkan sebuah file download, misalnya, node yang tersisa masih harus memiliki data yang diperlukan untuk menyelesaikan download.
• Jaringan Mainframe menggunakan terminal bodoh. Pengolahan semua selesai pada beberapa komputer pusat. Ini adalah metode menjalankan jaringan dengan keterbatasan yang berbeda dibandingkan untuk sepenuhnya klien kuno.
• Menggunakan terminal klien cerdas meningkatkan pemeliharaan dan upaya perbaikan. Lesser klien netbook lengkap memungkinkan untuk pengurangan entitas perangkat keras yang memiliki siklus hidup yang terbatas.

Comments (0)