Anda di halaman 1dari 53

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
Contoh Gambar 1

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.
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
Layered 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)
Object-base 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.
Data-center 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.
Event-based 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.
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
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

HTML rendering Client


Templates, HTML generation
scripts, XML and XSLT
Presentation
Application-specific components Business Logic
and application logic
Data Access
Domain-specific and
database-independent layer,
typically object-oriented
Data

Data storage, typically


an (SQL) RDBMS
Bagaimana membangun web 2 tier

Bwoser lama …cara yg mudah…


(tidak perduli)
Browser
Code untuk membangun HTML,
process forms, membangun web SQL Application
queries pada database (1 or 2 tiers)
PHP
Open-source: free, cepat,
Dapat diandalkan
Apache

Linux, Apache, MySQL, MySQL


PHP. http://www.he.net

Linux, Solaris, etc


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

intranet Outside world


firewall

Application: Application:
Coordination Coordination
Code Code

“White-board”
(event modification)
Application:
Coordination
Code
proses

komputer
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

Anda mungkin juga menyukai