Model Sistem
Terdistribusi
Model Sistem Terdistribusi
Model : Sebuah gambaran abstrak aspek yang relevan dengan sistem
Tujuan : sebuah kerangka kerja untuk memahami permasalahan dan pemecahannya
Model Arsitektur : Hubungan dan interkoneksi seperti apa antara komponen-komponen dari sistem terdistribusi
Model Fundamental : Karakteristik apa yang
mempengaruhi dependability (corecteness, reliability,
security)
Model Sistem Terdistribusi
• Model sistem terdistribusi yang paling sederhana adalah sistem multiprosesor di mana sistem terdiri dari sejumlah prosesor yang dapat (tidak mesti) berjalan pada beberapa prosesor yang terpisah.
• Sistem-sistem ini mengumpulkan informasi membuat
keputusan dengan menggunakan informasi kemudian
mengirim sinyal ke aktuator yang memodifikasi
lingkungan sistem.
Gambar 1
Sistem kontrol lalu lintas multiprosesor
Sistem kontrol lalu lintas multiprosesor merupakan model yang disederhanakan dari sistem kontrol lalu lintas. Satu set sensor
terdistribusi mengumpulkan informasi dari lalu lintas dan memproses informasi secara lokal sebelum mengirimnya ke ruangan kontrol.
Operasi mengambil keputusan dengan memakai informasi dan
memberi instruksi ke proses kontrol lampu lalu lintas yang berbeda.
Pada contoh ini, ada proses logika yang terpisah untuk menangani sensor, ruangan kontrol, dan lampu lalu lintas. Proses-proses logika ini dapat merupakan proses tunggal atau sekelompok proses. Pada contoh ini, proses-proses berjalanan pada prosesor-prosesor yang terpisah.
Contoh Gambar 1
Model Dalam Sistem Terdistribusi
A. Interaction model B. Failure model
C. Architectural model
Model Dalam Sistem Terdistribusi
A. Interaction model: terdiri dari banyak proses yang saling berinteraksi, dibagi dua bagian:
1. Synchronous distributed system
*. Batas atas dan batas bawah waktu pengeksekusian dapat diset
*. Pesan yang dikirim, diterima dalam waktu yang sudah di tentukan
*. Fluktuasi ukuran antara waktu lokal berada
dalam suatu
Model Dalam Sistem Terdistribusi
Beberapa hal yang penting untuk diperhatikan synchronous distributed sistem :
*. terdapat satu waktu global
*. dapat memprediksi perilaku (waktu)
*. dimungkinkan dan aman untuk menggunakan
mekanisme timeout dalam mendekteksi error atau
kegagalan dalam proses atau komunikasi
Interaction model
2. Asynchronous Distributed System. Secara praktek model ini lebih banyak digunakan
(termasuk Internet)
*. Tidak ada batasan dalam waktu pengkeksekusian.
*. Tidak ada batasan dalam delay transmission (penundaan pengiriman)
*. Tidak ada batasan terhadap fluktuasi waktu
lokal.
Model Dalam Sistem Terdistribusi
B. Failure model: sistem bisa gagal
• Kegagalan dapat terjadi pada proses atau kanal komunikasi.
• Penyebabnya bisa berasal dari hardware atau pun software
• Model Kegagalan(Failure Models) dibutuhkan
dalam membangun suatu sistem dengan prediksi
terhadap kagagalan yang mungkin terjadi.
Macam-macam failure model
1
.Process failure: crash - Deteksi dgn timeout
2. Arbitrary failure: proses melewatkan step - Kegagalan yang paling buruk dalam sistem.
- Tahapan proses atau komunikasi diabaikan atau yang tidak diharapkan terjadi dieksekusi hasil yang
diharapkan tidak terjadi atau mengeluarkan hasil yang salah.
- membawa data yg salah, data korup, data double
Macam-macam failure model
3. Communication failure:
message drop Karena: transmission error, buffer overflow 4. Ommision Failures :
Ketika prosesor dan kanal komunikasi mengalami kegagalan untuk melakukan hal yang seharusnya dilakukan.
- Dikatakan tidak mempunyai ommision failures apabila:
Terjadi keterlambatan (delayed) tetapi akhirnya tetap tereksekusi.
Sebuah aksi dieksekusi walaupun terdapat kesalahan pada hasil.
- Dengan synchronous system, ommision failures dapat dideteksi dengan timeouts
Macam-macam failure model
5.Timing Failures
- dapat terjadi pada synchronous system, dimana batas waktu di atur untuk eksekusi proses,
komunikasi dan fluktuasi waktu.
-Timing Failures terjadi apabila waktu yang telah
ditentukan terlampaui.
Model Dalam Sistem Terdistribusi
C. Architectural model
Suatu rancangan/gambar untuk penyusunan komponen- komponen sistem, dimana rancangan tersebut
mengidentifikasi komponen serta fungsi masing-masing komponen, konektifitas antar komponen serta pemetaan fungsionalitas komponen.
Cara kerja antar komponen sistem dan bagaimana komponen tersebut berada pada sistem terdistribusi Tujuan
• Menyakinkan bahwa struktur sistem memenuhi standar
saat ini dan yang akan datang
Model Dalam Sistem Terdistribusi
Arsitektur
• Struktur komponen-komponen secara terpisah
• Organisasi logika dari komponen-komponen software Model Arsitektur :
•Abstrak fungsi tiap komponen sistem terdistribusi
• Penempatan komponen pada jaringan komputer
• Hubungan antar komponen, yaitu peran fungsional
perkomponen dan pola komunikasi antar komponen
Arsitektur Sistem
1. Arsitektur Logis (Software architecture)
• Struktur komponen-komponen secara terpisah
• Organisasi logika dari komponen-komponen perangkat lunak
• Komponen yang dimaksud berupa unit modular berupa interface yang dapat diproses di sistem yang berbeda contoh RPC (remote prosedure call), message passing
• Jenis Model arsitektur logis (style)
• Layered architectures
• Object-base architectures
• Data-Center architectures
• Event-based architectures
• Komponen-komponen pada Layered architectures
diorganisasi dalam bentuk
lapisan-lapisan (layer) fungsi dan service
• Contoh:
• Operating system (windows, linux)
• Network Protocol (OSI, TCP/IP)
Layered Architectures
• Object-base architectures
menggambarkan setiap objek melakukan koresponden dengan komponen, dan komponen ini terkoneksi melalui mekanisme procedure call.
• Bentuk sistem OA ini digunakan aplikasi perangkat lunak dalam skala besar.
Object-base Architectures
• Data center dapat dipandang sebagai gudang data (data warehouse) yang berfungsi sebagai sistem pengelolaan data mulai dari pengumpulan, pengolahan, penyimpanan hingga penemuan kembali data, serta mampu pula memberikan dukungan dalam pengambilan keputusan.
• Sebagai contoh adalah sistem tersebar berbasis web.
Data-center Architectures
• Proses EBA pada dasarnya berdasarkan propagasi event. Proses mengeluarkan event setelah Middleware memberikan kepastian hanya proses itu saja yang bisa di subcribe untuk event yang diterima. Keuntungan EBA adalah proses bersifat loosely coupled.
Event-based Architectures
Arsitektur Sistem
2. Arsitektur Fisik (System architecture)
• Peletakan mesin
• Peletakan komponen perangkat lunak pada mesin sesungguhnya
Sistem Arsitektur
Perancangan sistem terdistribusi dititik beratkan pada :
• Pembagian tanggung jawab antara komponen sistem
• Penempatan komponen pada komputer dalam jaringan Pengaruh dari perancangan
• Unjuk kerja, Kehandalan dan Keamanan secara langsung
• tergantung pada pilihan yang ditentukan
Klasifikasi Proses akan mengidentifikasikan – Tanggung jawab masing-masing proses
– Juga membantu untuk menaksir bebean
– Menentukan pengaruh kegagalan dari tiap proses
Klasifikasi Proses terdiri
1. Proses Server : Menyediakan layanan dan menangani request 2. Proses Client : Proses membuat melakukan request
3. Proses Peer : Proses yang saling bekerja sama dan berkomunikasi
4. Middleware
– Muncul sekitar th 90an, berguna utk migrasi aplikasi mainframe ke aplikasi client/server
- Lapisan software yg memungkinkan bbrp proses bekerjasama di satu atau lebih komputer pada jaringan
- Berupa layanan-layanan yg beroperasi diantara lapisan aplikasi dan lapisan komunikasi pada jaringan, baik di sisi client/server
Software Layer
Arsitektur Software
- Lapisan atau modul dalam sebuah komputer tunggal
- Mendefinisikan layanan yang ditawarkan atau diminta antar proses pada satu atau berbeda komputer
Ide dasarnya
- Membagi sistem yang komplek dalam struktur lapisan dan layanan
Antar layer mendefinisikan antar muka Platform :
Hardware dan SO, WindowsNT/Pentium Processor Solaris/SPARC processor, Linux/Pentium Processor
Tiers…?
• “Tier" dapat berupa perangkat keras, perangkat lunak, atau logis. Pilihan terakhir Tier sebagai sudut pandang arsitektur.
• Oleh Karena itu :
• Sebuah client yg tdk spesifik applikasi (seperti browser web) tidak tier
• Database tanpa adanya lapisan atas dianggap akses
data yang tidak benar pada tingkat yang baik
Tier
One Tier
Pada arsitektur ini semua pemrosesan dilakukan pada mainframe. Kode aplikasi, data dan semua komponen sistem ditempatkan dan dijalankan pada host. Seperti terlihat pada gambar 1
Komputer client dipakai untuk mengakses mainframe maka tidak ada pemrosesan yang terjadi pada mesin ini (“dump-client”
atau “dump-terminal”).
One tier, bisa disebut sebagai aplikasi yang mempergunakan database desktop, misal delphi + paradox. Disini aplikasi langsung memproses dan
mengolah data yang diakses yang disimpan dalam format paradox dan dibaca oleh driver - driver paradox
Two Tier
• Arsitektur client/server merupakan sebuah langkah maju karena mengurangi beban pemrosesan dari komputer sentral ke komputer client. Artinya semakin banyak user bertambah pada aplikasi
client/server, kinerja server file tidak akan menurun dengan cepat.
• 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.
Two Tier
• 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.
• Client-client 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
Two Tier
• Dengan client/server user di berbagai lokasi dapat mengakses data yang sama dengan sedikit beban pada sebuah mesin tunggal
• 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
Two Tier
• Two tier, bisa disebut sebagai aplikasi yang mempergunakan database server, misal delphi + MSSQL server. Disini aplikasi hanya memproses hasil akhir data, namun proses simpan dan pengolahan data ke disk ditangani oleh yang disembut
dengan DBMS (Database Management System) yang bisa disebut sebagai aplikasi sendiri
• client/server dikembangkan oleh dominasi perusahaan
software besar yaitu Baan, Informix, Lotus, Sun, Microsoft, Novell, Oracle, PeopleSoft, SAP, dan Sybase.
Two Tier
• 2-tier. Membagi proses load kedalam dua bagian.
Aplikasi utama secara logika dijalankan/ berjalan pada sisi client yang biasanya mengirimkan request dalam bentuk sintaks SQL ke sebuah database server yang berfungsi sebagai media penyimpanan data.
• Juga disebut dengan arsitektur fat client karena bagian
terbesar atau yang utama dari aplikasi berjalan pada sisi
client/ komputer client.
Three Tier
Three Tier
• Dengan adanya internet dan jaringan maka konsep 2-tier ini mulai bergeser dan berkembang menjadi 3-tier.
• 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) yaitu :
- Layanan presentasi (tingkat client) - Layanan bisnis (tingkat menengah) - Layanan data (tingkat sumber data
• Layanan presentasi atau logika antar muka pengguna ditempatkan pada mesin client. Logika bisnis dikeluarkan dari kode client dan ditempatkan dalam tingkat menengah. Lapisan layanan data berisi server database.
Three Tier
Setiap tingkatan dalam model three-tier berada pada komputer tersendiri, seperti gambar
Membagi proses loading antara
1) komputer client menjalankan graphical user interface (GUI) logic
2) aplikasi server menjalankan business logic
3) database dan/ atau legacy application.
3-tier memindahkan application logic ke server sehingga sering juga disebut sebagai arsitektur fat server.
N-Tier
• N-Tier adalah adalah arsitektur client-server dimana presentasi, pemrosesan aplikasi, dan data fungsi
manajemen secara logis dipisahkan.
• Sebagai contoh, sebuah aplikasi yang menggunakan middleware untuk permintaan layanan data antara pengguna dan database mempekerjakan multi-tier arsitektur.
• Penggunaan yang paling luas multi-tier arsitektur adalah
arsitektur three-tier.
N-Tier
• Model N-tier sendiri muncul disebabkan karena
dimungkinkannya suatu aristektur aplikasi terdiri dari banyak tier didalamnya.
• Stored procedure ternyata tidak mencukupi untuk sistem
dimana database disimpan pada lebih dari satu server, karena bisa jadi terdapat client yang tidak dapat mengakses procedure tersebut. Penggunaan lebih dari satu database sangat
memungkinkan
N-tier web architectures
Client
Presentation Business Logic
Data Access
Data
HTML rendering Templates, HTML generation
scripts, XML and XSLT
Application-specific components and application logic
Domain-specific and
database-independent layer, typically object-oriented
Data storage, typically an (SQL) RDBMS
Bagaimana membangun web 2 tier
Browser
MySQL
Code untuk membangun HTML, process forms, membangun web SQL
queries pada database (1 or 2 tiers) Bwoser lama
(tidak perduli)
Apache PHP
Application
Open-source: free, cepat, Dapat diandalkan
Linux, Solaris, etc
Linux, Apache, MySQL, PHP. http://www.he.net
…
cara yg mudah…Tipe Utama Model Arsitektur
• Client-Server : pertama dan paling banyak digunakan,
• Multiple Server: meningkatkan unjuk kerja dan reliabilitas (mis 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)
Model Arsitektur Client-Server
• Merupakan model sistem terdistribusi yang
menunjukkan bagaimana data dan pemrosesan
didistribusikan pada serangkaian prosessor, komponen utamanya
• Satu set server stand-alone yang memberikan layanan ke subsistem lainnya seperti printing, data
management, dll
• Satu set client yang minta layanan yang diberikan oleh server
• Satu set jaringan yang memungkinkan pelanggan
mengakses layanan-layanan ini
Clients - Servers
♦ Bersifat: centralized architecture
♦ Terjadi invocation dari client ke server
♦Contoh: client (browser) meminta HTML ke HTTP Server
Clients - Servers
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
• 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 horisontal.
• 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
Model Multiple Server
Service disediakan oleh beberapa server contoh : sebagaian 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 : sebagian besar layanan web komersial
diterapkan melalui server fisik yang berbeda
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 lebuh kecil
Model 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 di atur oleh server lain. Biasa nya proxy server di pakai 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 di pakai bersama oleh beberapa client.
• Tujuannya adalah meningkatkan performance dan
availibity dengan mencegah frekuensi akses ke server.
Model Peer to Peer
proses komputer Application:
Coordination Code
Application:
Coordination Code
Application:
Coordination Code
intranet Outside world
firewall
“White-board”
(event modification)