Download - 11 Arsitektur Sistem Terdistribusi
11Arsitektur 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