CLIENT SERVER
A.
Pengertian Client
Server
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.
5. Mix-and-Match : Perbedaan server
client platforms
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
B.
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.
C.
Fungsi client server
Dalam konteks basis
data, client mengatur interface berfungsi sebagai workstation tempat
menjalankan aplikasi basis data. Client menerima permintaan pemakai, memeriksa
sintaks dan generate kebutuhan basis data dalam SQL atau bahasa yang lain.
Kemudian meneruskan pesan ke server, menunggu response dan bentuk response
untuk pemakai akhir. Server menerima dan memproses permintaan basis data
kemudian mengembalikan hasil ke client.
Proses-proses ini
melibatkan pemeriksaan autorisasi, jaminan integritas, pemeliharaan data
dictionary dan mengerjakan query serta proses update. Selain itu juga
menyediakan kontrol terhadap concurrency dan recovery.
Ada beberapa keuntungan jenis arsitektur ini adalah :
§ Memungkinkan akses basis data yang besar
§ Menaikkan kinerja
§ Jika client dan server diletakkan pada komputer yang berbeda
kemudian CPU yang berbeda dapat memproses aplikasi secara paralel. Hal ini
mempermudah merubah mesin server jika hanya memproses basis data.
§ Biaya untuk hardware dapat dikurangi
§ Hanya server yang membutuhkan storage dan kekuatan proses yang
cukup untuk menyimpan dan mengatur basis data
§ Biaya komunikasi berkurang
§ Aplikasi menyelesaikan bagian operasi pada client dan mengirimkan
hanya bagian yang dibutuhkan untuk akses basis data melewati jaringan,
menghasilkan data yang sedikit yang akan dikirim melewati jaringan
§ Meningkatkan kekonsistenan\Server dapat menangani pemeriksaan
integrity sehingga batasan perlu didefinisikan dan validasi hanya di satu
tempat, aplikasi program mengerjakan pemeriksaan sendiri
§ Map ke arsitektur open-system dengan sangat alami
Berikut ini adalah ringkasan fungsi client-server
Client
Mengatur user
interface
Menerima dan memeriksa
sintaks input dari pemakai
Memproses aplikasi
Generate permintaan
basis data dan memindahkannya ke server
Memberikan response
balik kepada pemakai
Menyediakan akses
basis data secara bersamaan
Menyediakan kontrol
recovery
Server
·
Menerima dan
memproses basis data yang diminta dari client
·
Memeriksa autorisasi
·
Menjamin tidak
terjadi pelanggaran terhadap integrity constraint
·
Melakukan
query/pemrosesan update dan memindahkan response ke client
·
Memelihara data
dictionary
D.
Aplikasi client
server
Istilah arsitektur
mengacu pada desain sebuah aplikasi, atau dimana komponen yang membentuk suatu
system ditempatkan dan bagaimana mereka berkomunikasi.
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
·
Susah diamankan
·
Menyebabkan
perubahan terhadap salah satu komponen diatas tidak mungkin dilakukan, karena
akan mengubah semua bagian.
·
Tidak memungkinkan
adanya re-usable component dan code.
·
Cepat dalam
merancang dan mengaplikasikan
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 banyakclient dan sebuah server yang dihubungkan melalui sebuah jaringan.
Aplikasi ditempatkan pada computer client dan mesin database
dijalankan pada server jarak-jauh. Aplikasi client mengeluarkan permintaan ke
database yang mengirimkan kembali data ke client-nya.
Model Two-tier terdiri dari tiga komponen yang disusun menjadi dua
lapisan : client (yang meminta serice) dan server (yang menyediakan service).
Tiga komponen tersebut yaitu :
·
User Interface.
Adalah antar muka program aplikasi yang berhadapan dan digunakan langsung oleh
user.
·
Manajemen Proses.
·
Database. Model ini
memisahkan peranan user interface dan database dengan jelas, sehingga terbentuk
dua lapisan.
Kelebihan dari model client/server
·
Mudah
·
Menangani Database
Server secara khusus
·
Relatif lebih
sederhana untuk di develop dan diimplementasikan.
·
Lebih cocok
diterapkan untuk bisnis kecil.
Server database berisi mesin database, termasuk tabel, prosedur
tersimpan, dan trigger (yang juga berisi aturan bisnis). Dalam system
client/server, sebagian besar logika bisnis biasanya diterapkan dalam database.
Server database manangani :
·
Manajemen data
·
Keamanan
·
Query, trigger,
prosedur tersimpan
·
Penangan kesalahan
Arsitektur client/server merupakan sebuah langkah maju karena
mengurangi beban pemrosesan dari komputer sentral ke computer 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.
Kekurangan
dari model client/server :
§ Kurangnya skalabilitas
§ Koneksi database dijaga
§ Tidak ada keterbaharuan kode
§ Tidak ada tingkat menengah untuk menangani keamanan dan transaksi
skala kecil.
§ Susah di amankan.
§ Lebih mahal.
3. Three Tier
Arsitektur Three
Tier merupakan inovasi dari arsitektur Client Server. Pada arsitektur Three
Tier ini terdapat Application Server yang berdiri di antara Client dan Database
Server. Contoh dari Application server adalah IIS, WebSphere, dan sebagainya.
Application Server
umumnya berupa business process layer, dimana bisa didevelop menggunakan PHP,
ASP.Net, maupun Java. Sehingga kita menempatkan beberapa business logic kita
pada tier tersebut. Arsitektur Three Tier ini banyak sekali diimplementasikan
dengan menggunakan Web Application. Karena dengan menggunakan Web Application,
Client Side (Komputer Client) hanya akan melakukan instalasi Web Browser. Dan
saat komputer client melakukan inputan data, maka data tersebut dikirimkan ke
Application Server dan diolah berdasarkan business process-nya. Selanjutnya
Application Server akan melakukan komunikasi dengan database server.
Biasanya,
implementasi arsitektur Three Tier terkendala dengan network bandwidth. Karena
aplikasinya berbasiskan web, maka Application Server selalu mengirimkan Web Application-nya
ke computer Client. Jika kita memiliki banyak sekali client, maka bandwidth
yang harus disiapkan akan cukup besar, Sedangkan network bandwidth biasanya
memiliki limitasi. Oleh karena itu biasanya, untuk mengatasi masalah ini,
Application Server ditempatkan pada sisi client dan hanya mengirimkan data ke
dalam database server. Konsep model three-tier adalah model yang membagi
fungsionalitas ke dalam lapisan-lapisan, aplikasiaplikasi mendapatkan
skalabilitas, keterbaharuan, dan keamanan.
Kelebihan arsitektur
Three Tier :
o
Segala sesuatu
mengenai database terinstalasikan pada sisi server, begitu pula dengan
pengkonfigurasiannya. Hal ini membuat harga yang harus dibayar lebih kecil.
o
Apabila terjadi
kesalahan pada salah satu lapisan tidak akan menyebabkan lapisan lain ikut
salah
o
Perubahan pada salah
satu lapisan tidak perlu menginstalasi ulang pada lapisan yang lainnya dalam
hal ini sisi server ataupun sisi client.
o
Skala besar.
o
Keamanan dibelakang
firewall.
o
Transfer informasi
antara web server dan server database optimal.
o
Komunikasi antara
system-sistem tidak harus didasarkan pada standart internet, tetapi dapat
menggunakan protocol komunikasi yang lebvih cepat dan berada pada tingkat yang
lebih rendah.
o
Penggunaan
middleware mendukung efisiensi query database dalam SQL di pakai untuk
menangani pengambilan informasi dari database.
Kekurangan
arsitekture Three Tier :
o
Lebih susah untuk
merancang
o
Lebih susah untuk
mengatur
o
Lebih mahal
4. Multi Tier
Arsitektur Multi
Tier adalah suatu metode yang sangat mirip dengan Three Tier. Bedanya, pada
Multi Tier akan diperjelas bagian UI (User Interface) dan Data Processing. Yang
membedakan arsitektur ini adalah dengan adanya Business Logic Server. Database
Server dan Bussines Logic Server merupakan bagian dari Data Processing,
sedangkan Application Server dan Client/Terminal merupakan bagian dari UI.
Business Logic Server biasanya masih menggunakan bahasa pemrograman terdahulu,
seperti COBOL. Karena sampai saat ini, bahasa pemrograman tersebut masih sangat
mumpuni sebagai business process.
Multi-tier
architecture menyuguhkan bentuk three – tier yang diperluas dalam model fisik
yang terdistribusi. Application server dapat mengakses Application server yang
lain untuk mendapat data dari Data server dan mensuplai servis ke client
Application.
Kelebihan arsitektur
Multi tier :
·
Dengan menggunakan
aplikasi multi-tier database, maka logika aplikasi dapat dipusatkan pada
middle-tier, sehingga memudahkan untuk melakukan control terhadap client-client
yang mengakses middle server dengan mengatur seting pada dcomcnfg.
·
Dengan menggunakan
aplikasi multi-tier, maka database driver seperti BDE/ODBC untuk mengakses
database hanya perlu diinstal sekali pada middle server, tidak perlu pada
masing-masing client.
·
Pada aplikasi
multi-tier, logika bisnis pada middle-tier dapat digunakan lagi untuk
mengembangkan aplikasi client lain,sehingga mengurangi besarnya program untuk
mengembangkan aplikasi lain. Selain itu meringankan beban pada tiap-tiap mesin
karena program terdistribusi pada beberapa mesin.
·
Memerlukan adaptasi
yang sangat luas ruang lingkupnya apabila terjadi perubahan sistem yang besar.
Kekurangan arsitektur Multi tier :
·
Program aplikasi
tidak bisa mengquery langsung ke database server, tetapi harus memanggil
prosedur-prosedur yang telah dibuat dan disimpan pada middle-tier.
·
Lebih mahal
E.
Keunggulan client
server
·
Kecepatan akses
lebih tinggi
·
Sistem keamanan
& administrasi lebih baik
·
Sistem backup data
lebih baik
Kelemahan Client/Server
·
Biaya lebih mahal
·
Dibutuhkan komputer
dengan spesifikasi khusus untuk menjadi server
·
Ketergantungan
terhadap server, jika server terganggu maka keseluruhan jaringan terganggu
F.
Client server local
& secara geografis
1.
Local Area Network
(LAN)
Local Area Network (LAN) adalah sejumlah komputer yang saling
dihubungkan bersama di dalam satu areal tertentu yang tidak begitu luas,
seperti di dalam satu kantor atau gedung. Secara garis besar terdapat dua tipe
jaringan atau LAN, yaitu jaringan Peer to Peer dan jaringan Client-Server. Pada
jaringan peer to peer, setiap komputer yang terhubung ke jaringan dapat
bertindak baik sebagai workstation maupun server. Sedangkan pada jaringan
Client-Server, hanya satu komputer yang bertugas sebagai server dan komputer lain
berperan sebagai workstation.
Client server lokal
Sedangkan LAN secara geografis maksudnya adalah local area network
yang mencakup suatu gedung, bangunan dan lain-lain.
Manfaat LAN.
·
Pertukaran file
dapat dilakukan dengan mudah (File Sharing).
·
Pemakaian printer
dapat dilakukan oleh semua client (Printer Sharing).
·
File-file data dapat
disimpan pada server, sehingga data dapat diakses dari semua client menurut
otorisasi sekuritas dari semua karyawan, yang dapat dibuat berdasarkan struktur
organisasi perusahaan sehingga keamanan data terjamin.
·
File data yang
keluar/masuk dari/ke server dapat di kontrol.
·
Proses backup data
menjadi lebih mudah dan cepat.
·
Resiko kehilangan
data oleh virus komputer menjadi sangat kecil sekali.
·
Komunikasi antar
karyawan dapat dilakukan dengan menggunakan E-Mail & Chat.
·
Bila salah satu
client/server terhubung dengan modem, maka semua atau sebagian komputer pada
jaringan LAN dapat mengakses ke jaringan Internet atau mengirimkan fax melalui
1 modem.
0 komentar:
Posting Komentar