A.
Pengertian Client-Server
Client/Server
dapat diartikan sebagai kemampuan komputer untuk meminta layanan request
data kepada komputer lain. Setiap instance dari komputer yang meminta
layanan disebut sebagai client, sedangkan setiap instance yang
menyediakan layanan disebut sebagai server. 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.
B.
KARAKTERISTIK
CLIENT-SERVER
Client dan Server
merupakan item proses (logika) terpisah yang bekerja sama pada suatu jaringan
komputer untuk mengerjakan suatu tugas sebagai berikut:
- 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 vertical maupun horizontal
- Integrity : kode dan data server diatur secara terpusat, sedangkan pada client tetap pada komputer tersendiri.
- Characteristics of a client
Ø
Initiates requests
Ø
Waits for and receives replies
Ø
Usually connects to a small number
of servers at one time
Ø
Typically interacts directly with
end-users using a graphical user interface
- Characteristics of a server
Ø
Passive (slave)
Ø
Waits for requests from clients
Ø
Upon receipt of requests, processes
them and then serves replies
Ø
Usually accepts connections from a
large number of clients
Ø
Typically does not interact directly
with end-users
C.
KEUNTUNGAN
CLIENT-SERVER
- Client-server mampu menciptakan aturan dan kewajiban komputasi secara terdistribusi.
- Mudah dalam maintenance. Memungkinkan untuk mengganti, memperbaiki server tanpa mengganggu client.
- Semua data disimpan di server Server dapat mengkontrol akses terhadap resources, hanya yang memiliki autorisasi saja.
- Tempat penyimpanan terpusat, update data mudah. Pada peer-to-peer, update data sulit.
- Mendukung banyak clients berbeda dan kemampuan yang berbeda pula.
D.
KELEMAHAN
CLIENT-SERVER
- Traffic congestion on the network, jika banyak client mengakses ke server secara simultan, maka server akan overload.
Berbeda
dengan P2P network, dimana bandwidthnya meningkat jika banyak client merequest.
Karena bandwidth berasal dari semua komputer yang terkoneksi kepadanya.
- Pada client-server, ada kemungkinan server fail.
Pada
P2P networks, resources biasanya didistribusikan ke beberapa node sehingga
masih ada node yang dapat meresponse request.
E.
ARSITEKTUR
CLIENT/SERVER
- Menggunakan LAN untuk mendukung jaringan PC
- Masing-masing PC memiliki penyimpan tersendiri
- Berbagi hardware atau software
F.
ARSITEKTUR
FILE SERVER
- Model pertama Client/Server
- Semua pemrosesan dilakukan pada sisi workstation
- Satu atau beberapa server terhubungkan dalam jaringan
- Server bertindak sebagai file server
- File server bertindak sebagai pengelola file dan memungkinkan klien mengakses file tersebut.
- Setiap klien dilengkapi DBMS tersendiri
- DBMS berinteraksi dengan data yang tersimpan dalam bentuk file pada server
- Aktivitas pada klien:
- Meminta data
- Meminta penguncian data
- Tanggapan dari klien :
Ø
Memberikan data
Ø
Mengunci data dan memberikan
statusnya
G.
BATASAN
FILE SERVER
- Beban jaringan tinggi karena tabel yang diminta akan diserahkan oleh file server ke klien melalui jaringan.
- Setiap klien harus memasang DBMS sehingga mengurangi memori.
- Klien harus mempunyai kemampuan proses tinggi untuk mendapatkan response time yang bagus.
- Salinan DBMS pada setiap klien harus menjaga integritas databasse yang dipakai secara bersama-sama ð tanggung jawab diserahkan kepada programmer.
H.
ARSITEKTUR
DATABASE SERVER
- Klien bertanggung jawab dalam mengelola antar muka pemakai (mencakup logika penyajian data, logika pemrosesan data, logika aturan bisnis).
- Database server bertanggung jawab pada penyimpana, pengaksesan, dan pemrosesan database.
- Database serverlah yang dituntut memiliki kemampuan pemrosesan yang tinggi
- Beban jaringan menjadi berkurang.
- Otentikasi pemakai, pemeriksaan integrasi, pemeliharaan data dictionary dilakukan pada database server.
- Database server merupakan implementasi dari two-tier architecture.
I.
APPLICATION
ARCHITECTURES
Ø
Two-tier architecture, Contoh :
program klien menggunakan ODBC/JDBC untuk berkomunikasi dengan database.
Ø
Three-tier architecture, Contoh :
aplikasi berbasis Web.
Ø
Arsitektur Three-Tier
Melibatkan
lapisan server yang lain selain lapisan database server.
J.
Beberapa
Keuntungan Arsitektur Three-Tier :
- Keluwesan teknologi
- Mudah untuk mengubah DBMS engine
- Memungkinkan pula middle tier ke platform yang berbeda
- Biaya jangka panjang yang rendah
- Perubahan-perubahan cukup dilakukan pada middle tier daripada pada aplikasi keseluruhan
- Keunggulan kompetitif
- Kekampuan untuk bereaksi thd perubahan bisnis dengan cepat, dengan cara mengubah modul kode daripada mengubah keseluruhan aplikasi
K.
Aplikasi
Web dapat dibagi menjadi 2 macam:
- Web Statis
- Web Dinamis
L.
Teknologi
Web
Teknologi untuk membentuk aplikasi Web yang dinamis :
- Teknologi pada sisi klien (client-side technology)
- Teknologi pada sisi server (server-side technology)
M.
Teknologi
pada sisi Klien :
- Kontrol Active X
- Java applet
- Client-side script (JavaScript dan VBScript)
- DHTML (CSS / Cascading Style Sheets)
N.
Teknologi
pada sisi Server :
- CGI
- FastCGI
- Proprietary Web Server API (ISAPI dan NSAPI)
- Active Server Pages (ASP)
- Java Server Pages (JSP) dan Java Servlets
- Server-side JavaScript
- PHP
Sumber :
Tidak ada komentar:
Posting Komentar