Sumber
:
Nama : Septi Arnita
NPM : 16110450
Kelas : 4KA24
Arsitektur Sisi Client dan Arsitektur Sisi
Server
Ø Client
merupakan sembarang sistem atau proses yang melakukan suatu permintaan data
atau layanan ke server.
Ø Server
adalah sistem atau proses yang menyediakan data atau layanan yang diminta oleh
client.
Ø Client-server
adalah pembagian kerja antara server dan client yang mengakses server dalam
satu jaringan.
Ø Arsitektur
client-server adalah desain sebuah aplikasi yang terdiri dari client dan server
yang saling berkomunikasi ketika mengakses server dalam suatu jaringan.
Aristektur Sisi Client
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.
Terdapat beberapa karakteristik dari
sisi client, yaitu :
1.
Pihak client selalu memulai
permintaan atau permohonan ke pihak server
2. Setelah mengirim permintaan,
kemudian client akan menunggu balasan atau jawaban atas permintaannya dari
server
3.
Menerima balasan dari server atas
permintaannya
4.
Biasanya client akan terhubung ke
sejumlah kecil dari server pada satu waktu
5. Biasanya berinteraksi langsung
dengan end-user (pengguna akhir) dengan menggunakan user interface (antamuka
pengguna)
6.
Khusus jenis client mencakup web
browser, email client dan online chat client
Arsitektur Sisi Server
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 dari arsitektur sisi
server antara lain :
1.
Sebagai penyedia layanan, sisi
server akan selalu menunggu permintaan dari sisi client
2.
Sesuai dengan tugasnya, melayani dan
menjawab permintaan data yang diminta oleh client
3.
Sebuah server dapat berkomunikasi
denganserver lain untuk melayani permintaan client
4.
Jenis server khusu mencakup web
server, FTP server, database server, email server, file server, print server.
Mayoritas dari web layanan tersebut juga merupakan jenis server.
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
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.
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
Kolaborasi Arsitektur Sisi Client dan Server
Ada beberapa model arsitektur client-server,
antara lain :
1. Arsitektur mainframe
2. Arsitektur file-sharing
3. Arsitektur client/server
Model-Model Client-Server
1.
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.
Pada
arsitektur ini semua pemrosesan dilakukan pada mainframe. Kode aplikasi, data
dan semua komponen sistem ditempatkan dan dijalankan pada host. Walaupun komputer
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 awal, dan umumnya digunakan
untuk menghubungkan terminal dump dan mainframe. Namun keterbatasan yang
dikenakan pada user mainframe dan jaringan telah mulai dihapus.
Kelebihan
:
Ø Sangat
mudah
Ø Cepat
dalam merancang dan mengaplikasikan
Kelemahan
:
Ø 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.
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 komputer
yang terpisah dan hal tersebut menyebabkan arsitektur ini dapat meningkatkan
kinerja keseluruhan situs.
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 komputer 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
:
Ø Mudah
Ø Menangani
Database Server secara khusus
Ø Relatif
lebih sederhana untuk di develop dan diimplementasikan.
Ø Lebih
cocok diterapkan untuk bisnis kecil.
Kekurangan
:
Ø Kurangnya
skalabilitas
Ø Koneksi
database dijaga
Ø Tidak
ada pembaharuan kode
Ø Tidak
ada tingkat menengah untuk menangani keamanan dan transaksi skala kecil
Ø Susah
diamankan
Ø Lebih
mahal
Ø Arsitekturnya
kompleks
3.
Arsitektur Three-tier (tiga Lapis)
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
:
Ø 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
:
Ø Lebih
susah untuk merancang
Ø Lebih
susah untuk mengatur
Ø 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 :
Ø 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