Rabu, 23 Desember 2015

Distributed System Client-Server Architecture (Sistem Terdistribusi)



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
2.      Sesuai dengan tugasnya, melayani dan menjawab permintaan data yang
diminta oleh klien
3.      Sebuah server dapat berkomunikasi dengan server lain untuk melayani
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.

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.

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



 
Diberdayakan oleh Blogger.

About Me

Followers

Followers

Pages - Menu

Popular Posts