Client-server adalah suatu bentuk arsitektur, dimana client adalah perangkat yang menerima yang akan menampilkan dan menjalankan aplikasi (software komputer) dan server adalah perangkat yang menyediakan dan bertindak sebagai pengelola aplikasi, data, dan keamanannya.
Dengan arsitektur client/server, query data ke server dapat terlayani dengan lebih cepat karena yang ditransfer bukanlah file, tetapi hanyalah hasil dari query tersebut. RPC (Remote Procedure Calls) memegang peranan penting pada arsitektur client/server. Arsitektur Client-Server Telematika terdiri dari 2 buah arsitektur yakni, arsitektur sisi client dan sisi server-nya.
Dengan arsitektur client/server, query data ke server dapat terlayani dengan lebih cepat karena yang ditransfer bukanlah file, tetapi hanyalah hasil dari query tersebut. RPC (Remote Procedure Calls) memegang peranan penting pada arsitektur client/server. Arsitektur Client-Server Telematika terdiri dari 2 buah arsitektur yakni, arsitektur sisi client dan sisi server-nya.
Arsitektur Sisi Client
Istilah ini merujuk pada pelaksanaan atau penyimpanan data pada browser (koneksi HTPP atau client) sisi koneksi HTTP. JavaScript adalah sebuah contoh dari sisi eksekusi client dan Cookie adalah contoh dari sisi penyimpanan pada Client. Lihat Cookie, Server Side.
Karakteristik Client
- Selalu memulai permintaan ke server.
- Menunggu balasan.
- Menerima balasan.
- Biasanya terhubung ke sejumlah kecil dari server pada satu waktu.
- Biasanya berinteraksi langsung dengan pengguna akhir dengan menggunakan antarmuka pengguna seperti antarmuka pengguna grafis.
- Khusus jenis klien mencakup: web browser, e-mail klien, dan online chat klien
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.
Karakteristik Server
- Selalu menunggu permintaan dari salah satu klien.
- Melayani klien permintaan kemudian menjawab dengan data yang diminta ke klien.
- Sebuah server dapat berkomunikasi dengan server lain untuk melayani permintaan klien.
- Jenis server khusus mencakup: web server, FTP server, database server, E-mail server, file server, print server. Kebanyakan web layanan ini juga jenis server.
Jadi, secara umum Arsitektur Client-Server atau jaringan komputer adalah sebuah aplikasi terdistribusi arsitektur yang partisi tugas atau beban kerja antara penyedia layanan (server) dan pelayanan pemohon, disebut klien. Sering kali klien dan server beroperasi melalui jaringan komputer pada hardware terpisah. Sebuah mesin server adalah performa tinggi host yang menjalankan satu atau lebih program server yang berbagi sumber daya dengan klien. Seorang klien tidak berbagi apapun dari sumber daya, tetapi meminta server layanan konten atau fungsi. Oleh karena itu klien memulai sesi komunikasi dengan server yang menunggu (mendengarkan) masuk permintaan.
Dalam perkembangannya, client/server dikembangkan oleh dominasi perusahaan software besar yaitu Baan, Informix, Lotus, Microsoft, Novell, Oracle, PeopleSoft, SAP, Sun, dan Sybase. Perusahaan-perusahaan ini adalah superstar pada era pertama dimunculkannya konsep client/ server. Saat ini perusahaanperusahaan ini telah menjadi perusahaan komputer yang stabil dan besar.
Kolaborasi Client Server
Berikut ini adalah penjelasan mengenai beberapa kolaborasi arsitektur sisi client dan sisi server :
Arsitektur Single- Tier (Stand Alone)
Definisi satu-tier arsitektur adalah semua komponen produksi dari sistem dijalankan pada komputer yang sama. Ini adalah sederhana dan paling mahal alternatif. Ada kurang perlengkapan untuk membeli dan mempertahankan. Kelemahan dari jenis ini pelaksanaan keamanan lebih rendah dan kurangnya skalabilitas. Sebuah arsitektur skalabel ketika dapat dengan mudah diperluas atau ditambah untuk memenuhi kebutuhan peningkatan kinerja.
Setelah semua komponen utama situs dan data di satu komputer di belakang firewall daun domain situs lebih rentan terhadap serangan berbahaya. Menjalankan semua komponen situs pada sebuah komputer juga membatasi ekspansi dan optimalisasi kemungkinan. Anda hanya dapat menambahkan begitu banyak memori atau begitu banyak CPU untuk sebuah server tunggal.
Arsitektur Two-tier (client/server)
Dalam dua lapis client / server arsitektur, antarmuka pengguna pengguna ditempatkan di lingkungan desktop dan sistem manajemen database jasa biasanya dalam sebuah server yang lebih kuat merupakan mesin yang menyediakan layanan bagi banyak klien. Pengolahan informasi dibagi antara sistem user interface lingkungan dan lingkungan server manajemen database. Manajemen database server mendukung untuk disimpan prosedur dan pemicu.. Vendor perangkat lunak menyediakan alat-alat untuk menyederhanakan pengembangan aplikasi untuk dua lapis client / server arsitektur.
Dalam model client/server, pemrosesan pada sebuah aplikasi terjadi pada client dan server. Client/server adalah tipikal sebuah aplikasi two-tier dengan banyak client dan sebuah server yang dihubungkan melalui sebuah jaringan, seperti terlihat dalam gambar 1.2. 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.
Arsitektur two-tier lebih aman dan terukur daripada pendekatan single-tier. Pilihan ini bergerak Database Server ke mesin terpisah di belakang firewall yang kedua. Ini menambah keamanan tambahan dengan menghapus data pelanggan sensitif dari DMZ. Memiliki database pada komputer yang terpisah meningkatkan kinerja keseluruhan situs. Kelemahan dari opsi ini adalah biaya yang mahal dan kompleksitas arsitektur.
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
Pada gambar tersebut, user interface yang merupakan bagian dari program aplikasi melayani input dari user. Input tersebut diproses oleh Manajemen Proses dan melakukan query data ke database (dalam bentuk perintah SQL). Pada database server juga bisa memiliki Manajemen Proses untuk melayani query tersebut, biasanya ditulis ke dalam bentuk Stored Procedure.
Dalam client/server, client-client yang cerdas bertanggung jawab untuk bagian dari aplikasi yang berinteraksi dengan user, termasuk logika bisnis dan komunikasi dengan server database. Tipe-tipe tugas yang terjadi pada client adalah :
- Antarmuka pengguna
- Interaksi database
- Pengambilan dan modifikasi data
- Sejumlah aturan bisnis
- Penanganan kesalahan
Server database berisi mesin database, termasuk tabel, prosedur tersimpan, dan trigger (yang juga berisi aturan bisnis). Dalam sistem 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 komputer 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. Model client/server memiliki sejumlah keterbatasan :
- Kurangnya skalabilitas
- Koneksi database dijaga
- Tidak ada keterbaharuan kode
- Tidak ada tingkat menengah untuk menangani keamanan dan transaksi
Aplikasi-aplikasi berbasis client/server memiliki kekurangan pada skalabilitas. Skalabilitas adalah seberapa besar aplikasi bisa menangani suatu kebutuhan yang meningkat – misalnya, 50 user tambahan yang mengakses aplikasi tersebut. Walaupun model client/server lebih terukur daripada model berbasis host, masih banyak pemrosesan yang terjadi pada server. Dalam model client/server semakin banyak client yang menggunakan suatu aplikasi, semakin banyak beban pada server.
Koneksi database harus dijaga untuk masing-masing client. Koneksi menghabiskan sumber daya server yang berharga dan masing-masing client tambahan diterjemahkan ke dalam satu atau beberapa koneksi. Logika kode tidak bisa didaur ulang karena kode aplikasi ada dalam sebuah pelaksanaan executable monolitik pada client. Ini juga menjadikan modifikasi pada kode sumber sulit. Penyusunan ulang perubahan itu ke semua komputer client juga membuat sakit kepala.
Keamanan dan transaksi juga harus dikodekan sebagai pengganti penanganan oleh COM+/MTS. Bukan berarti model client/server bukanlah merupakan model yang layak bagi aplikasi-aplikasi. Banyak aplikasi yang lebih kecil dengan jumlah user terbatas bekerja sempurna dengan model ini. Kemudahan pengembangan aplikasi client/server turut menjadikannya sebuah solusi menarik bagi perusahaan.
Pengembangan umumnya jauh lebih cepat dengan tipe sistem ini. Siklus pengembangan yang lebih cepat ini tidak hanya menjadikan aplikasi meningkat dan berjalan dengan cepat namun juga lebih hemat biaya.
Arsitektur Three-tier / Multi-Trier
Arsitektur Three-Tier diperkenalkan untuk mengatasi kelemahan dari arsitektur two-tier. Di tiga tingkatan arsitektur, sebuah middleware digunakan antara sistem user interface lingkungan klien dan server manajemen database lingkungan. Middleware ini diimplementasikan dalam berbagai cara seperti pengolahan transaksi monitor, pesan server atau aplikasi server. The middleware menjalankan fungsi dari antrian, eksekusi aplikasi dan database pementasan. Di samping itu middleware menambahkan penjadwalan dan prioritas untuk bekerja di kemajuan. Three-tier klien / server arsitektur digunakan untuk meningkatkan performa untuk jumlah pengguna yang besar dan juga meningkatkan fleksibilitas ketika dibandingkan dengan pendekatan dua tingkat.
Model three-tier atau multi-tier dikembangkan untuk menjawab keterbatasan pada arsitektur client/server. Dalam model ini, pemrosesan disebarkan di dalam tiga lapisan (atau lebih jika diterapkan arsitektur multitier). Lapisan ketiga dalam arsitektur ini masing-masing menjumlahkan fungsionalitas khusus. Yaitu :
- Layanan presentasi (tingkat client)
- Layanan bisnis (tingkat menengah)
- Layanan data (tingkat sumber data)
Layanan presentasi atau logika antarmuka pengguna ditempatkan pada mesin client. Logika bisnis dikeluarkan dari kode client dan ditempatkan dalam tingkat menengah. Lapisan layanan data berisi server database. Setiap tingkatan dalam model three-tier berada pada komputer tersendiri, seperti pada gambar 1.3.
Konsep model three-tier adalah model yang membagi fungsionalitas ke dalam lapisan-lapisan, aplikasi-aplikasi mendapatkan skalabilitas, keterbaharuan, dan keamanan. Pada model ini disisipkan satu layer tambahan diantara user interface tier dan database tier. Tier tersebut dinamakan middle-tier. Middle-Tier terdiri dari bussiness logic dan rules yang menjembatani query user dan database, sehingga program aplikasi tidak bisa mengquery langsung ke database server, tetapi harus memanggil prosedur-prosedur yang telah dibuat dan disimpan pada middle-tier. Dengan adanya server middle-tier ini, beban database server berkurang. Jika query semakin banyak dan/atau jumlah pengguna bertambah, maka server-server ini dapat ditambah, tanpa merubah struktur yang sudah ada. Ada berbagai macam software yang dapat digunakan sebagai server middle-tier. Contohnya MTS (Microsoft Transaction Server) dan MIDAS.
Kekurangan dari tiga tingkatan arsitektur adalah bahwa lingkungan pengembangan lebih sulit untuk digunakan daripada pengembangan aplikasi dari dua lapis.
Pada arsitektur ini, pesan akan diproses dan diprioritaskan asynchronously. Header pesan memiliki prioritas yang mencakup informasi, alamat dan nomor identifikasi. Server pesan link ke relasional DBMS dan sumber data lainnya. . Pesan sistem alternatif untuk infrastruktur nirkabel.
Arsitektur ini memungkinkan tubuh utama untuk menjalankan sebuah aplikasi pada tuan rumah bersama bukan di sistem user interface lingkungan klien. Server aplikasi logika bisnis saham, perhitungan dan pengambilan data mesin. . Dalam aplikasi arsitektur ini lebih terukur dan biaya instalasi kurang pada satu server dibandingkan mempertahankan masing-masing pada klien desktop.
Arsitektur three-tier, ditunjukkan pada gambar di atas, memisahkan Web Server ke mesin yang terpisah di DMZ. Pilihan ini, sementara ini adalah yang paling mahal, adalah yang paling aman dan terukur dari tiga pilihan. Masing-masing dari tiga server kini dapat dioptimalkan untuk puncak efisiensi operasi. Fungsi utama Web Server jaringan I / O, Perdagangan Server CPU-intensif dan Database Server disk I / O intensif.
Arsitektur three-tier, ditunjukkan pada gambar di atas, memisahkan Web Server ke mesin yang terpisah di DMZ. Pilihan ini, sementara ini adalah yang paling mahal, adalah yang paling aman dan terukur dari tiga pilihan. Masing-masing dari tiga server kini dapat dioptimalkan untuk puncak efisiensi operasi. Fungsi utama Web Server jaringan I / O, Perdagangan Server CPU intensif dan Database Server disk I / O intensif.
Beberapa Kuntungan 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
Commerce Server yang telah dipindahkan di belakang firewall yang kedua. Ini mengurangi resiko keamanan. Memisahkan Web Server dari Commerce Server memungkinkan horizontal scaling. Seperti di situs penggunaan tumbuh, Commerce Server tambahan dapat ditambahkan dan aplikasi dapat akan di kloning di beberapa komputer. Perhatikan bahwa WebSphere Commerce Professional atau Enterprise diperlukan untuk mendukung horizontal scaling dan Cloning.
17113333
4KA33
Referensi:
http://princessglad.blogspot.co.id/2014/10/arsitektur-sisi-client-server-telematika.html