Sistem Terdistribusi : Exercise 2.3 Describe and
illustrate the client-server architecture of one or more major Internet
applications (for example the Web, email or netnews).
Web :
Browsers are clients of Domain
Name Servers (DNS) and web servers (HTTP). Some intranets are
configured to interpose a Proxy
server. Proxy servers fulfil several purposes – when they are located at the same site as the client, they
reduce network delays and network traffic. When they are at the same site as
the server, they form a security
checkpoint (see pp. 107 and 271) and they can reduce load on the server. N.B. DNS servers are also
involved in all of the application architectures described below, but they ore
omitted from the discussion for clarity.
Email:
Sending
messages: User
Agent (the user’s mail composing program) is a client of a local SMTP server
and passes each outgoing message to
the SMTP server for delivery. The local SMTP server uses mail routing tables to determine a route for each
message and then forwards the message to the next SMTP server on the chosen route. Each SMTP server similarly
processes and forwards each incoming message unless the domain name in the message address matches
the local domain. In the latter case, it attempts to deliver the message to
local recipient by storing it in a
mailbox file on a local disk or file server.
Reading
messages: User
Agent (the user’s mail reading program) is either a client of the local
file server or a client of a mail delivery server
such as a POP or IMAP server. In the former case, the User Agent reads messages directly form the mailbox
file in which they were placed during the message delivery. (Exampes of such user agents are the UNIX mail
and pine commands.) In the latter case, the User Agent request information about the contents of
the user’s mailbox file from a POP or IMAP server and receives messages from those servers for
presentation to the user. POP and IMAP are protocols specifically designed to
support mail access over wide areas and
slow network connections, so a user can continue to access her home mailbox while travelling.
Posting news
articles: User
Agent (the user’s news composing program) is a client of a local NNTP server
and passes each outgoing article to
the NNTP server for delivery. Each article is assigned a unique identifier.
Each NNTP server holds a list of other
NNTP servers for which it is a newsfeed – they are registered to receive articles from it. It periodically
contacts each of the registered servers, delivers any new articles to them an requests any that they have which
it has not (using the articles’ unique id’s to determine which they are). To ensure delivery of every article
to every Netnews destination, there must be a path of newsfeed connection from that reaches every NNTP
server.
Browsing/reading
articles: User
Agent (the user’s news reading program) is a client of a local NNTP server.The User Agent requests updates
for all of the newsgroups to which the user subscribes and presents them to the user
Pengertian Arsitektur
Client-Server
Arsitektur
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
menerima informasi hasil pemrosesan data yang dilakukan server dan
menampilkannya kepada pengguna, dengan menggunakan aplikasi yang berinteraksi
dengan pengguna. Arsitektur Client merujuk pada pelaksanaan atau penyimpanan
data pada browser (atau klien) sisi koneksi HTTP. JavaScript adalah sebuah
contoh dari sisi klien eksekusi, dan cookie adalah contoh dari sisi klien
penyimpanan.
Ada beberapa karakteristik dari sisi klien pada umunya sudah
kita ketahui, yaitu :
1. Pihak klien selalu
memulai permintaan/permohonan ke pihak server
2. Setelah mengirim
permintaan, kemudian klien akan menunggu balasan atau jawaban atas permintaannya dari server
3. Menerima balasan dari
server atas permintaannya
4. Biasanya klien akan
terhubung ke sejumlah kecil dari server pada satu waktu
5. Biasanya berinteraksi
langsung dengan end-user (pengguna akhir) dengan menggunakan user interface (antarmuka pengguna)
6. Khusus jenis klien
mencakup web browser, email klien dan online chat klien
B). Arsitektur Sisi Server
Sebuah eksekusi sisi server adalah server Web khusus
eksekusi yang melampaui standar metode HTTP itu harus mendukung. Sebagai
contoh, penggunaan CGI script sisi server khusus tag tertanam di halaman HTML;
tag ini memicu tindakan terjadi atau program untuk mengeksekusi.
Sama dengan sisi klien (client side), sisi server (side
server) juga memiliki karakteristik seperti di bawah ini :
1. Sebagai penyedia
layanan, sisi server akan selalu menunggu permintaan dari
sisi klien
sisi klien
2. Sesuai dengan
tugasnya, melayani dan menjawab permintaan data yang
diminta oleh klien
diminta oleh klien
3. Sebuah server dapat
berkomunikasi dengan server lain untuk melayani
permintaan klien
permintaan klien
4. Jenis server khusus
mencakup web server, FTP server, database server, email
server, file server, print server. Mayoritas dari web layanan tersebut juga merupakan jenis server.
server, file server, print server. Mayoritas dari web layanan tersebut juga merupakan jenis server.
C). Kolaborasi Arsitektur Sisi Client Dan Server.
Ada beberapa model arsitektur klien-server ini yang umum, yaitu
1. Arsitektur mainframe
2. Arsitektur file-sharing
3. Arsitektur client/server
Arsitektur client server dapat dibedakan menjadi 3 model, yaitu single-tier (satu lapis), two-tier (dua lapis) dan three-tier (3 lapis).
Berikut penjeLasan dari ketiga modeL arsiTektur cLient server tersebut di atas :
Arsitektur Single-tier (Satu Lapis)
Semua komponen produksi dari sistem dijalankan pada komputer
yang sama pada arsitektur single tier ini. Model single tier adalah model yang
sederhana, mudah digunakan pengguna (user) dan paling sedikit memiliki
alternatif. Kelemahan dari arsitektur ini adaLah kurang aman dan kurang
memiliki skalabilitas.
Keuntungan arsitektur standalone (one-tier):
· Sangat
mudah
· Cepat
dalam merancang dan mengaplikasikan
Kelemahan arsitektur standalone (one-tier):
· Skala
kecil
· Sulit
diamankan
· Menyebabkan
perubahan terhadap salah satu komponen diatas tidak mungkin dilakukan, karena
akan mengubah semua bagian.
· Tidak
memungkinkan adanya re-usable component dan code.
Arsitektur Two-tier (Dua Lapis)
Pengolahan informasi
pada arsitektur ini dapat dibagi menjadi dua, yaitu sistem user interface
(antarmuka pengguna) lingkungan dan lingkungan server manajemen database. Arsitektur
two tier memiliki tingkat kemanan yang lebih tinggi dan terukur daripada
arsitektur single-tier. Arsitektur ini memiliki database pada computer yang
terpisah dan hal tersebut menyebabkan arsitektur ini dapat meningkatkan kinerja
keseluruhan situs.Arsitektur two- tier memiliki keLemahan, yaitu biayanya yang
mahal, arsitekturnya yang kompleks, tidak adanya pembaruan kode,
skalabilitasnya kurang dan tingkat kemanannya kurang.
Di samping itu, kelebihan dari arsitektur two tier adalah
mudah digunakan oleh pengguna, dapat menangani database server secara khusus
dan bisnis lingkup kecil sangat cocok menggunakan arsitektur ini.
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 Three-tier (tiga Lapis)
Karena arsitektur sebelumnya
memiliki cukup banyak kelemahan, maka dikembangkanlah arsitektur three tier ini
yang akan membantu mengatasi kelemahan dari arsitektur two-tier. Kelebihan dari
arsitektur ini adalah memiliki skala yang besar, transfer informasi antara web
server dan server database optimal, tidak akan menyebabkan lapisan lain
terkontaminasi salah jika salah satu lapisan terdapat keslahan. Dan
kekurangannya, arsitektur ini lebih sulit untuk merancang, lebih sulit untuk
mengatur dan lebih mahal.
>> Kelebihan arsitektur Three Tier :
· Segala
sesuatu mengenai database terinstalasikan pada sisi server, begitu pula dengan
pengkonfigurasiannya. Hal ini membuat harga yang harus dibayar lebih kecil.
· Apabila
terjadi kesalahan pada salah satu lapisan tidak akan menyebabkan lapisan lain
ikut salah
· Perubahan
pada salah satu lapisan tidak perlu menginstalasi ulang pada lapisan yang
lainnya dalam hal ini sisi server ataupun sisi client.
>> Skala besar.
· Keamanan
dibelakang firewall.
· Transfer
informasi antara web server dan server database optimal.
· 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.
Penggunaan
middleware mendukung efisiensi query database dalam SQL di pakai untuk
menangani pengambilan informasi dari database.
>> Kekurangan arsitekture Three Tier :
· Lebih
susah untuk merancang
· Lebih
susah untuk mengatur
· Lebih
mahal
Dibagi dalam 2 bagian Arsitektur yaitu :
Arsitektur Client Side
Merujuk pada pelaksanaan data pada browser sisi koneksi HTTP. JavaScript adalah sebuah contoh dari sisi eksekusi client dan contoh dari sisi penyimpanan pada client adalah cookie.
Karakteristik :
- Memulai terlebih dahulu permintaan ke server.
- Menunggu dan menerima balasan.
- Terhubung ke sejumlah kecil server pada waktu tertentu.
- Berinteraksi langsung dengan pengguna akhir, dengan menggunakan GUI.
Arsitektur Server Side
Pada server side, ada sebuah server Web khusus yang bertugas mengeksekusi perintah dengan menggunakan standar metode HTTP. Misalnya penggunaan CGI script pada sisi server yang mempunyai tag khusus yang tertanam di halaman HTML. Tag ini memicu terjadinya perintah untuk mengeksekusi.
Karakteristik :
- Menunggu permintaan dari salah satu client.
- Melayani permintaan klien dan menjawab sesuai data yang diminta oleh client.
- Suatu server dapat berkomunikasi dengan server lain untuk melayani permintaan client.
- Jenis-jenisnya : web server, FTP server, database server, E-mail server, file server, print server.
Arsitektur Client Side
Merujuk pada pelaksanaan data pada browser sisi koneksi HTTP. JavaScript adalah sebuah contoh dari sisi eksekusi client dan contoh dari sisi penyimpanan pada client adalah cookie.
Karakteristik :
- Memulai terlebih dahulu permintaan ke server.
- Menunggu dan menerima balasan.
- Terhubung ke sejumlah kecil server pada waktu tertentu.
- Berinteraksi langsung dengan pengguna akhir, dengan menggunakan GUI.
Arsitektur Server Side
Pada server side, ada sebuah server Web khusus yang bertugas mengeksekusi perintah dengan menggunakan standar metode HTTP. Misalnya penggunaan CGI script pada sisi server yang mempunyai tag khusus yang tertanam di halaman HTML. Tag ini memicu terjadinya perintah untuk mengeksekusi.
Karakteristik :
- Menunggu permintaan dari salah satu client.
- Melayani permintaan klien dan menjawab sesuai data yang diminta oleh client.
- Suatu server dapat berkomunikasi dengan server lain untuk melayani permintaan client.
- Jenis-jenisnya : web server, FTP server, database server, E-mail server, file server, print server.
Sebuah situs web (sering pula
disingkat menjadi situs saja; web site, site) adalah sebutan bagi sekelompok
halaman web (web page), yang umumnya merupakan bagian dari suatu nama domain
(domain name) atau subdomain di World Wide Web (WWW) di Internet. WWW terdiri
dari seluruh situs web yang tersedia kepada publik. Halaman-halaman sebuah
situs web diakses dari sebuah URL yang menjadi "akar" (root), yang
disebut homepage (halaman induk; sering diterjemahkan menjadi "beranda",
"halaman muka"), dan biasanya disimpan dalam server yang sama. Tidak
semua situs web dapat diakses dengan gratis. Beberapa situs web memerlukan
pembayaran agar dapat menjadi pelanggan, misalnya situs-situs penyedia layanan
untuk download (Rapidshare) situs-situs berita, layanan surat elektronik
(e-mail), dan lain-lain.
Hypertext Transfer Protocol
(HTTP) adalah sebuah protokol jaringan lapisan aplikasi yang digunakan
untuk sistem informasi terdistribusi. Protokol merupakan sebuah aturan atau
standar yang mengatur atau mengijinkan terjadinya hubungan, komunikasi, dan
perpindahan data antara dua atau lebih titik komputer. Protokol dapat
diterapkan pada perangkat keras, perangkat lunak atau kombinasi dari keduanya.
Pada tingkatan yang terendah, protokol mendefinisikan koneksi perangkat keras.
Cara Kerja Web/Internet
· Pengguna
atau user mengetik URL (Singkatan dari Uniform Resource Locator) pada browser
· Kemudian
browser akan menghubungkan user kepada URL yang dituju
· Setelah
terhubung, browser mengirimkan HTTP request ke server
· Server
menjawab dengan mengirimkan HTTP response (berisi header dan isi dokumen)
· Untuk
dokumen yang terdiri dari beberapa file (atau berisi data gambar) HTTP harus
mengirimkan beberapa request lagi untuk setiap file.
· Kemudian
Browser menampilkan semua isi dokumen kepada user
Aplikasi
Client-server
Dalam dunia internet, halaman web yg biasa kita akses
menggunakan perangkat elektronik (komputer hingga ponsel) apabila dicetak dan
dikumpulkan dimungkinkan sekali akan membutuhkan rak buku yang sangat banyak
dan panjang, hal ini akhirnya memunculan istilah perpustakan terbesar dunia.
Halaman web yang kita akses umumnya ditaruh pada sebuah komputer dengan
kemampuan yang besar (memori, harddisk dan proses yang memadai) dan disimpan
dengan aturan tertentu sehingga dapat diakses orang dari jarak yang sangat dekat
hingga sangat jauh.
Gambar 3. Skema Client - Server
Untuk menjalankan aplikasi yang berbasis client-server pada
sebuah halaman web, tentunya tidak lepas dari teknologi yang digunakan. Berikut
ini adalah teknologi-teknologi dalam dunia programming berbasis web, yaitu :
HTML : statis, berorientasi klien (tidak ada proses
yang berjalan didalam server)
PHP, ASP : dinamis, berorientasi klien-server (terdapat
proses permintaan dari user ke server dan dikirim kembali ke user/klien)
Kelebihan aplikasi Client Server :
· Beban
komputasi disebar dibeberapa mesin
· Client
mengakses fungsionalitas server darijarak jauh
· Client
dan server didesain terpisah (dan mungkin berbeda), lebih sederhana dibanding
mendesain satu program yang dapat melakukan segalanya
· Data
dapat disimpan secara terpusat diserver, usaha menjaga reliabilitas sistem
cukup dilakukan diserver
Layanan-Layanan
Client-server pada web atau e-mail
1.
DHCP (Dynamic Configuration
Protocol) adalah layanan yang secara otomatis memberikan nomor IP kepada
komputer yang memintanya. Komputer yang memberikan nomor IP disebut sebagai
DHCP server, sedangkan komputer yang meminta nomor IP disebut sebagai DHCP Client.
Dengan demikian administrator tidak perlu lagi harus memberikan nomor IP secara
manual pada saat konfigurasi TCP/IP, tapi cukup dengan memberikan referensi
kepada DHCP Server.
2.
HTTP (HyperText Transfer Protocol) adalah
sebuah protokol untuk melakukan akses antara client dan server. Client dan
server masing-masing salaing menerima dan menjawab request keduanya. Sebuh
client HTTP seperti web browser, biasanya memulai permintaan dengan membuat
hubungan TCP/IP ke port tertentu di tempat yang jauh (biasanya port 80 atau
8080). Sebuah server HTTP yang mendengarkan di port tersebut menunggu client
mengirim kode permintaan (request) yang akan meminta halaman yang sudah
ditentukan, diikuti dengan pesan MIME yang memiliki beberapa informasi kode
kepala yang menjelaskan aspek dari permintaan tersebut, diikut dengan badan
dari data tertentu.
3.
HTTPS adalah penggabungan antara Hypertext
Transfer Protocol (HTTP) dengan SSL / TLS protokol. Semua komunikasi yang
dilakukan melalui HTTPS akan dienkripsi dengan tujuan untuk keamanan saat
terjadi transaksi data di internet. Biasanya para hacker atau peretas internet
yang biasa menggunakan tool WireShak sangat mudah untuk mencuri data dari klien
yang terhubung ke internet dengan menggunakan HTTP. Berbeda dengan HTTPS, semua
akses akan sangat sulit diproses dan menangkap data oleh para pencuri website.
4.
URL (Uniform Resource Locator) adalah
rangkaian karakter menurut suatu format standar tertentu, yang digunakan untuk
menunjukkan alamat suatu sumber seperti dokumen dan gambar di Internet. URL
pertama kali diciptakan oleh Tim Berners-Lee pada tahun 1991 agar
penulis-penulis dokumen dokumen dapat mereferensikan pranala ke World Wide Web.
Sejak 1994, konsep URL telah dikembangkan menjadi istilah Uniform Resource
Identifier (URI) yang lebih umum sifatnya.
5.
FTP ( File Transfer Protocol ) adalah suatu
protokol yang berfungsi untuk tukar-menukar file dalam suatu network yang
menggunakan TCP koneksi bukan UDP. Dua hal yang penting dalam FTP adalah
FTP Server dan FTP Client.
6.
DNS
(Domain Name Server) adalah nama unik yang diberikan untuk
mengidentifikasi nama server komputer seperti web server atau email server di
internet. Domain memberikan kemudahkan pengguna di internet untuk melakukan
akses ke server dan mengingat server yang dikunjungi dibandingan harus mengenal
deretan nomor atau yang dikenal IP.
7.
E-Mail (Electronic Mail) adalah sebuah
fasilitas komunikasi dalam Internet yang berfungsi mengirim surat secara
elektronik yang dapat menjangkau ke seluruh dunia. Dibandingkan dengan surat
biasa, e-mail mempunyai keunggulan yang lebih aman serta tidak membedakan jarak
dan waktu.
8.
SMTP (Simple Mail Transfer Protocol) adalah
suatu protokol yang digunakan untuk mengirimkan pesan e-mail antar server, yang
bisa dianalogikan sebagai kantor pos. Ketika kita mengirim sebuah e-mail,
komputer kita akan mengarahkan e-mail tersebut ke sebuah SMTP server, untuk
diteruskan ke mail-server tujuan. Mail-server tujuan ini bisa dianalogikan
sebagai kotak pos di pagar depan rumah kita, atau kotak PO BOX di kantor pos.
Email-email yang terkirim akan "nongkrong" di tempat tersebut hingga
si pemiliknya mengambilnya. Urusan pengambilan e-mail tersebut tergantung kapan
di penerima memeriksa account e-mailnya.
9.
POP3 (Post Office Protocol version
3) adalah protokol yang digunakan untuk mengambil surat elektronik (email)
dari server email. Protokol ini erat hubungannya dengan protokol SMTP dimana
protokol SMTP berguna untuk mengirim surat elektronik dari komputer pengirim ke
server.
Daftar Pustaka
1. http://fendiyuniawanaditya.wordpress.com/2010/06/22/aplikasi-client-server/ di
akses Desember 2015
2. http://bethasidik.wordpress.com/2007/03/28/pengantar-aplikasi-client-server-berbasis-web/ di
akses Desember 2015
3. http://septiayumakalah.blogspot.com/2012/09/perbedaan-aplikasi-web-dan-aplikasi.html di
akses Desember 2015
4. http://www.zoftmedia.com/pages/knowledge/aplikasi-berbasis-website_5.html di
akses Desember 2015