ARSITEKTUR SISTEM TERDISTRIBUSI Oleh : rahmat robi waliyansyah, m.kom.
PENDAHULUAN Sistem Terdistribusi merupakan bagian dari sistem yang kompleks yang menghubungkan beberapa mesin. Untuk hal ini dibutuhkan pengorganisasian sistem yang baik. Ada dua hal dalam melihat pengorganisasian sistem tersebar, organisasi secara logis sebagai kumpulan perangkat lunak dan secara fisik.
ARSITEKTUR Definisi : Arsitektur sistem adalah istilah untuk menyatakan bagaimana mendefinisikan komponen komponen yang lebih spesifik secara terstruktur. Dengan tujuan agar struktur yang dirancang dapat menjawab kebutuhan saat ini dan nanti
Pertimbangan Dalam Merancang Sistem Terdistribusi, Yaitu : Penempatan komponen-komponen komputer di jaringan, mengidentifikasi pola dan beban kerja. Mencari hubungan antar komponen berdasarkan fungsi, peranan, pola berkomunikasi antar obyek.
Persyaratan Kebutuhan Arsitektur Terdistribusi Performa dalam Respon, contoh penggunaan applet dalam sebuah web. Performa dalam Throughput, contoh kecepatan proses antara client dengan server serta kecepatan rata-rata transfer data. Performa dalam Keseimbangan Komputasi, contoh penggunaan beberapa mesin meskipun layanannya sama. QoS, contoh tidak adanya buffer ketika mengakses situs multimedia. Penggunaan Caching dan Proxy.
MASALAH MEMBANGUN SISTEM TERDISTRIBUSI Berhubungan dengan peletakan komponen-komponen dan juga relasi antar komponen. Memastikan struktur arsitektur bisa memenuhi kebutuhan dan membuat sistem reliable, manageable, adaptable, dan cost- effective. Sistem harus melakukan klasifikasi terhadap proses yang terjadi pada server, client, maupun peer. Sister memiliki banyak sekali variasi, tergantung dari jaringan komputer, performa, reliabilitas, keamanan, dan biaya.
KESULITAN-KESULITAN PELETAKAN SISTEM TERDISTRIBUSI Dari sisi mode pemakaian Variasi yang beragam terhadap karakteristik pemakaian sistem Berapa kali suatu halaman dikunjungi? Seberapa sibuk suatu server? Dari sisi masalah Internal Masalah konkurensi akses Dari sisi masalah lingkungan sistem Masalah heterogenitas : hardware, sistem operasi dan jaringan Dari sisi masalah ancaman eksternal Masalah keamanan data
Klasifikasi Proses Proses Server Menyediakan layanan dan menangani request Proses Client Proses membuat melakukan request Proses Peer Proses yang saling bekerja sama dan berkomunikasi Middleware Menyediakan transparansi terhadap keanekaragaman platform proses dan objek pada sekumpulan mesin yang menerapkan protokol untuk aplikasi terdistribusi Cth: CORBA, Java RMI, DCOM Klasifikasi Proses
Arsitektur Sistem Perancangan sistem terdistribusi dititikberatkan pada : Pembagian tanggung jawab antara komponen system. Penempatan komponen pada komputer dalam jaringan.
Tipe Utama Model Arsitektur Client-Server : pertama dan paling banyak digunakan. Multiple Server : meningkatkan unjuk kerja dan reliabilitas (misalnya search engine : google, yahoo, vivisimo, metdrawler). Proxy servers : mengurangi load jaringan dengan menyediakan akses melalui firewall. Peer process : untuk kebutuhan respon interaktif yang cepat (dedicated).
Clients - Servers Bersifat : centralized architecture Terjadi invocation dari client ke server Contoh: client (browser) meminta HTML ke HTTP Server
Arsitektur Client-Server Model Arsitektur client-server merupakan model sistem terdistribusi yang menunjukkan bagaimana data & pemrosesan didistribusikan pada serangkaian prosessor, komponen utamanya. Satu set server stand-alone yang memberikan layanan ke subsistem lainnya seperti printing, data management, etc. Satu set client yang minta layanan yang diberikan oleh server. Satu set jaringan yang memungkinkan pelanggan mengakses layanan- layanan ini.
Karakteristik Model Client-Server Client memiliki satu proses atau lebih, begitu juga Server. Sebuah proses Client dapat mengirim query ke sembarang proses server. Client bertanggung jawab pada antar muka untuk user, sedangkan server mengatur data dan mengeksekusi transaksi. Model arsitektur ini sangat populer. Proses server dapat ditempatkan pada mesin yang sama atau terpisah dengan proses client. Client/server akan menyembunyikan lokasi server dari client.
Karakteristik Model Client-Server (Cont.) Server dapat melayani beberapa client pada saat yang sama dan mengatur pengaksesan resource. Antara client dan server merupakan hubungan one-to-many. Tidak tergantung pada platform. Sistem c/s dapat dimekarkan baik vertikal maupun horizontal. Antara client dan server berkomunikasi dengan mekanisme pertukaran message.
Keuntungan Model Client-Server Implementasi yang relatif sederhana karena pembagian fungsi yang baik dan tersentralisasi. Mesin server yang mahal utilisasinya tidak terpengaruh pada interaksi pemakai, meskipun mesin client tidak mahal. Pemakai dapat menjalankan antarmuka berbasis grafis sehingga pemakai lebih mudah dibandingkan antar muka pada server yang tidak user-friendly.
Cache Cache adalah tempat untuk menyimpan data/obyek yang baru saja digunakan, hampir serupa dengan data/obyek aslinya. Ketika data/obyek tersebut diterima oleh komputer, maka komputer akan meletakan pada cache store.
Cara Kerja Cache Ketika diperlukan data/obyek oleh proses client, maka layanan caching akan memeriksa terlebih dahulu pada cache store, dan memberikannya jika terdapat data/obyek terbaru. Jika tidak maka layanan cache akan memintanya pada server yang bersangkutan.
Multiple Server Service disediakan oleh beberapa server contoh : sebagian besar layanan web komersial diterapkan melalui server fisik yang berbeda. Motivasi : Unjuk kerja ( download server, dll), kehandalan Server menggunakan replikasi atau database terdistribusi
Karakteristik Model Multiple Server Service disediakan oleh beberapa server. Server menggunakan replikasi atau database terdistribusi. Tujuan : kehandalan, unjuk gigi. Contoh : Sebuah situs yang jalankan dibeberapa server. • Server menggunakan replikasi atau database terdistribusi
Proxy Server Server dengan duplikasi informasi yang melayani sebagai proxy Caching : Penyimpan lokal untuk item-item yang sering digunakan Meningkatkan unjuk kerja Mengurangi beban pada server Biasanya digunakan pada search engine
Karakteristik Model Proxy Server Proxy server menyediakan hasil copy (replikasi) dari resource yang diatur oleh server lain. Biasanya proxy server dipakai untuk menyimpan hasil copy web resources. Ketika client melakukan request ke server, hal yang pertama dilakukan adalah memeriksa proxy server apakah yang diminta oleh client terdapat pada proxy server. Proxy server dapat diletakkan pada setiap client atau dapat dipakai bersama oleh beberapa client. Tujuannya adalah meningkatkan performance dan availibity dengan mencegah frekuensi akses ke server.
Model Proxy Server Proxy server membuat duplikasi beberapa server yang diakses oleh client. Caching : Penyimpanan lokal untuk item yang sering diakses Meningkatkan kinerja Mengurangi beban pada server Wajib digunakan pada search engine Contoh model proxy server : searching satu topik namun dilakukan dua kali maka searching terakhir memiliki waktu yang lebih kecil
Model Peer to Peer
Karakteristik Model Peer to Peer Model sistem terdistribusi dimana sistem dapat sekaligus berfungsi sebagai client maupun server. Sebuah arsitektur di mana tidak terdapat mesin khusus yang melayani suatu pelayanan tertentu atau mengatur sumber daya dalam jaringan dan semua kewajiban dibagi rata ke seluruh mesin, yang dikenal sebagai peer. Pola komunikasi yang digunakan berdasarkan aplikasi yang digunakan. Peer-to-peer merupakan model yang paling general dan fleksible.
Model Mobile Agent
Model Mobile Agent Mobile agent ialah agen yang mempunyai kemampuan berpindah- pindah dalam jaringan (contohnya pada jaringan World Wide Web), berinteraksi dengan host-host asing, mengumpulkan informasi berdasarkan pengguna, dan mengembalikannya ke pengirim setelah melakukan tugasnya. Mobile agent ini diimplementasikan oleh remote program.
Contoh Model Mobile Agent Salah satu contoh mobile agent ialah agen monitoring data stok dan penjualan yaitu agen yang secara mandiri bertugas untuk memonitor perubahan data, melaporkan kepada pengirimnya jika terjadi perubahan data pada basis data yang dimonitor. Agen monitoring sangat berguna bagi sistem yang mengalami perubahan secara dinamis, dimana perubahan data tersebut mempunyai pengaruh yang besar pada sistem secara keseluruhan.
Keuntungan Mobile Agent Mengurangi Beban Jaringan. Efisiensi sumber daya. Menanggulangi latency jaringan. Eksekusi secara Asynchronous dan Autonomous. Adaptasi secara dinamis. Andal dan Toleran terhadap Kesalahan. Multiplatform. Real Time Notification.