11 Arsitektur Sistem Terdistribusi SOFTWARE ENGINEERING (REKAYASA PERANGKAT LUNAK) By : Andi Latifa Nabone
Materi yang akan dibahas Arsitektur multiprosesor Arsitektur Client-Server Arsitektur Objek Terdistribusi CORBA
Sistem Terdistribusi Hampir semua sistem berbasis-komputer yang besar, saat ini merupakan sistem terdistribusi (sistem tersebar) Kegiatan memproses informasi disitribusikan kepada sejumlah komputer sebagai pengganti komputer tunggal Rekayasa Perangkat Lunak Terdistribusi sekarang menjadi isu yang penting
Jenis-Jenis Sistem Sistem Personal yang tidak terdistribusi dan dirancang untuk berjalan pada personel komputer atau workstation. Contoh : Word,Spreadsheet,grafis dll Sistem embedded yang berjalan pada satu prosesor atau pada kelompok prosesor yang terintegrasi Sistem terdistribusi (tersebar) dimana perangkat lunak sistem berjalan pada sekelompok prosesor yang bekerja sama dan terintegrasi secara longgar, dengan dihubungkan oleh jaringan
Karakteristik Sistem terdistribusi Pemakaian bersama sumber daya Keterbukaan Konkurensi Skalabilitas Toleransi kesalahan Transparansi
Arsitektur Sistem Terdistribusi Arsitektur Client-Server Sistem dapat dianggap sebagai satu set layanan yg disediakan untuk Client. Server penyedia layanan, server dan client dilakukan berbeda. Arsitektur Objek Terdistribusi Tidak ada perbedaan antara server dan client, sistem dapat dianggap sebagai satu objek yang berinteraksi yang lokasinya tidak relevan. Tidak ada perbedaan antara server dan client
Middleware Perangkat lunak yang dapat menangani bagian-bagian yang beragam agar dapat berkomunikasi dan bertukar data Istilah middleware mengacu kepada posisi ditengah-tengah dari software ini diantara berbagai komponen sistem terdistribusi yang berbeda Contoh : Transaction processing monitors Data convertors Communication controllers
Arsitektur Multiprosesor Merupakan model sistem terdistribusi yang paling sederhana Sistem terdiri dari sejumlah proses yang dapat (tapi tidak mesti) berjalan pada beberapa prosesor yang terpisah Model ini umum pada sistem real-time yang besar Pendistribusian proses ke prosesor dapat ditentukan sebelumnya atau bisa juga dikendalikan oleh dispatcher yang memutuskan proses yang mana dialokasikan ke masing-masing prosesor
Arsitektur Client-Server Model Aplikasi dimana sekumpulan layanan disediakan oleh Server dan sekumpulan Client yang membutuhkan layanan tersebut Klien tahu server dan server tidak perlu tahu client nya Klient dan server berada pada proses logikal Tidak harus ada pemetaan 1:1 antar proses dengan prosesor pada sistem
Arsitektur Lapisan Aplikasi Lapisan Presentasi Berhubungan dengan penyajian informasi ke user dan dengan semua interaksi user Lapisan Pemrosesan Informasi Berhubungan dengan implementasi logika aplikasi Lapisan Manajemen Data Berhubungan dengan semua operasi database
Thin Client dan Fat Client Model Thin-client Pada model ini semua pemrosesan aplikasi dan manajemen data dilakukan pada server. Klien bertanggung jawab untuk menjalankan perangkat lunak presentasi Model Fat-client Pada model ini, server hanya bertanggung jawab untuk manajemen data. Perangkat lunak pada klien mengimplementasi logika aplikasi dan interaksi dengan user sistem
Model Thin Client Model ini merupakan model yang paling sederhana untuk digunakan ketika sistem warisan (legacy) sentral dikembangkan menjadi arsitektur Client-Server. Kekurangan terbesar dari model thin-client adalah bahwa model tersebut menempatkan beban berat pemrosesan pada pada server dan jaringan
Model Fat Client Menggunakan kekuatan pemrosesan yang tersedia dan mendistribusikan pemrosesan logika aplikasi dan presentasi kepada klien Server harus merupakan server transaksi yang menangani semua transaksi database Lebih rumit dibandingkan model thin client terutama aspek manajemen.Aplikasi diinstal di semua client
Arsitektur Three-Tier Pada arsitektur three-tier , tiap lapisan arsitektur aplikasi dapat dieksekusi dengan prosessor yang terpisah Arsitektur ini mempunyai unjuk kerja yang lebih baik dibandingkan pendekatan thin-client dan lebih sederhana mengelolanya dibandingkan pendekatan fat-client Arsitektur yang dapat dikembangkan- bila demands bertambah , maka tinggal menambahA more scalable architecture - as demands increase, extra servers can be added
Arsitektur Objek Terdistribusi Pada model Client-Server sistem terdistribusi, klien dan server berbeda Klien menerima layanan dari server dan tidak dari klien lainnya Server dapat bertindak sebagai klien dan menerima layanan dari server lainnya Klien tidak meminta layanan dari klien Model ini membatasi fleksibilitas perancang sistem dalam arti perancang harus memutuskan kapan layanan diberikan Pendekatan yang lebih umum bagi sistem terdistribusi adalah menghilangkan perbedaan antara klien dan server, dan merancang arsitektur sistem sebagai arsitektur objek terdistribusi
Keuntungan Model Arsitektur Sistem Terdistribusi Sistem ini memungkinkan perancang sistem menunda keputusan mengenai dimana dan bagaimana layanan harus disediakan Model ini merupakan arsitektur yang sangat terbuka yang meungkinkan sumber day abaru ditambahkan jika perlu Sistem ini sangat fleksibel dan dapt dikembangkan dengan mudah Rekonfigurasi sistem secara dinamis akan dimungkinkan dengan objek berimigrasi melintasi jaringan bilamana diperlukan
Penggunaan Arsitektur Objek Terdistribusi Sebagai model logika yang memungkinkan Anda menstruktur dan mengorganisasikan sistem. Dalam hal ini , yang perlu dipikirkan mengenai bagaimana menyediakan fungsionalitas sistem hanya dalam hitungan layanan dan kombinasi layanan Sebagai pendekatan yang fleksibel terhadap sistem klien-server. Dalam hal ini , model logika sistem merupakan model client-server, tetapi baik client maupun server direalisasikan sebagai objek terdistribusi yang berkomunikasi melalui bus perangkat lunak
Sistem data-mining Data mining adalah contoh dari sistem arsitektur objek terdistribusi Data mining akan mencari hubungan dalam sejumlah database yang berbeda Objek integrator masing-masing dapat menangani hubungan-hubungan khusus dan mengumpulkan informasi dari semua database untuk mencoba menyimpulkan hubungannya Objek visualiser berinteraksi dengan objek integrator untuk menghasilkan visualisasi atau laporan mengenai hubungan yang telah ditemui
CORBA[Common Object Request Broker Architecture] CORBA adalah standar internasional untuk Object Request Broker - middleware - untuk mengelola komunikasi diantara objek yang didistribusikan Ada beberapa implementasi dari CORBA yang tersedia DCOM [ Distributed Component Object Mode] adalah alternatif lain dari CORBA yeng merupakan produk Microsoft CORBA didefinisikan oleh The Object Management Group [OMG]
Struktur Aplikasi OMG mengusulkan agar aplikasi terdistribusi terbuat dari sejumlah komponen : Objek Aplikasi : yang dirancang dan diimplementasikan untuk aplikasi ini Objek Standar : yang didefinisikan oleh OMG untuk domain khusus. Misalnya untuk keuangan/asuransi, e-comm, kesehatan dll. Layanan CORBA : fundamental yang menyediakan layanan komputasi terdistribusi dasar seperti direktori, manajemen sekuritas , dll. Fasilitas CORBA horizontal, seperti user interface, fasilitas manajemen sistem dll.
Standard CORBA Objek CORBA merupakan enkapsulasi status dengan interface yang terdefinisi dengan baik dan netral dalam hal bahasa yang dideskripsikan dalam IDL [interface definition language] Model objek untuk objek aplikasi Object Request Broker (ORB) yang menangani permintaan akan layanan objek Satu set layanan objek yang merupakan layanan umum dan mungkin diperlukan oleh banyak aplikasi terdistribusi Satu set komponen umum, yang dibangun diatas layanan-layanan dasar yang mungkin dibutuhkanoleh aplikasi ini.
Object CORBA Objek CORBA dapat dikomparasi , secara prinsip, dengan objek di dalam C++ dan Java Kedua mesti terpisah dan dinyatakan dengan IDL Oleh karenanya diperlukan pemetaan dari IDL ke bahasa pemrograman (C++, Java, etc.) Dengan demikian object yang ditulis dengan bahasa yang berbeda dapat berkomunikasi satu dengan lainnya
Layanan CORBA Layanan Penamaan dan Layanan Pertukaran Memungkinkan objek mengacu ke dan menemukan objek lain pada jaringan Layanan Pengumuman Memungkinkan objek memberitahu objek lain telah terjadi event Layanan Transaksi Mendukung transaksi atomic dan rollback (kembali ke asal) jika ada kesalahan
TERIMA KASIH