Sistem Terdistribusi : Sistem yang komponennya terletak pada jaringan komputer yang dikendalikan lewat
pesan
Contoh umum Sister :
- Search Engine (Google : Storage System, Physical System yang saling terdistribusi satu sama lain)
- Internet
- Intranet : Bagian dari internet yang dikelola Organisasi
- Mobile and Ubiquitous computing
- Financial Trading (Monitoring otomatis dan trading app)
3 Teknologi WWW :
- HTML(HyperText Markup Language) : Bahasa Layout Web Browser
- URL(Uniform Resource Locator) : Identitas untuk sebuah web
- HTTP(HyperText Transfer Protocol) : Protokol interaksi Browser dan Server
Contoh Sister pada domain tertentu :
- Finance and commerce : Amazon and eBay, PayPal
- The information society : Facebook
- Creative industries and entertainment : Youtube
- Healthcare : Riwayat Pasien
- Education : E-learning
- Transport and logistics : Google Earth
- Science : Aplikasi kolaborasi antar Scientist
- Environmental managemen : Sensor gempa
Karakteristik Sister :
- Heterogenitas
- Harus ada Middleware
- Mobile Code(dipake dimana-mana bisa)
- Keterbukaan(Tersedia bagi client)
kemampuan sebuah sistem dalam mengembangkan fleksibilitas terhadap peningkatan kinerja sebuah
sistem. Seperti penambahan module baru dan ketersediaan extension / plugin yang dapat terkoneksi
dengan sistem lain. Contoh: sebuah aplikasi web banking yang dapat terhubung dengan sistem web milik
perusahaan finance.
- Keamanan
- Scalability(Bisa ditambah/dikurang)
Sebuah sistem terdistribusi harus dapat ditingkatkan kinerjanya tanpa mengubah komponen-komponen
di dalamnya.
Contoh : sebuah aplikasi web yang digunakan oleh user yang terlalu banyak. Maka untuk meningkatkan
kinerja dari web tersebut agar tidak terjadi overload atau system down maka perlu dilakukan upgrade
processor dan ram. Dalam proses upgrading tersebut, komponen dalam web tidak perlu diubah.
- Rencana terhadap kegagalan
- Konkurensi(Berjalan bersamaan)
Semua proses dalam sistem terdistribusi dilakukan secara concurrency (secara bersama-sama). Hal ini
dilakukan untuk mencegah inkonsistensi dan ketidakvalidan sebuah data dan proses.
Contoh: dalam sebuah aplikasi web yang diakses oleh banyak user. Ketika server melakukan sebuah
update. Maka semua user yang mengakses halaman web tersebut akan langsung mendapatkan update
terbaru tersebut.
- Transparansi (Ada 8 : Transparansi Akses, Lokasi, Konkurensi, Replikasi, Kegagalan, Mobilitas,
Performa, Skala)
Dynamic HTML, bukan bahasa pemrograman, merupkan suatu istilah untuk membuat halaman web yang
dinamis dan interaktif dengan mengkombinasikan bahasa markah HTML, JavaScript, Document Object Model,
dan CSS.
CGI(Computer-Generated Imagery) yaitu pencitraan yang dihasilkan komputer adalah penggunaan grafik
komputer untuk menghasilkan efek yang spesial
AJAX(Asynchronous JavaScript and XML HTTP) adalah suatu teknik pemrograman berbasis web untuk
menciptakan aplikasi web interaktif.
RDF(Resource Development Framework) adalah framework yang mendefinisikan resource di dalam web
RSS(Really Simple Sindicatio) yakni satu sistem yang digunakan untuk mendapatkan update terbaru dari situs-
situs favorit secara otomatis
Three Tier:
Ada 3 lapisan:
- Komponen client>> komponen yang berjalan diatas local komputer user
- Server>> sebagai koneksi antara klien dengan database system.
- aplikasi RDBMS >> berisi kumpulan database dan data resource manager yang merupakan pusat
database suatu sistem.
Keuntungan:
- Skalabilitas besar
- transfer informasi antara web server dan server database optimal
- Kemungkinkan pula middle tier ke platform yang berbeda
- tidak akan menyebabkan lapisan lain terkontaminasi salah jika salah satu lapisan terdapat keslahan
Kekurangan arsitekture Three Tier :
- Lebih susah untuk merancang
- Lebih susah untuk mengatur
- Lebih mahal
3) Arsitektur Terdistribusi
Di arsitektur modern (Horizontal Distribution), Client dan server dapat dipecah secara fisik ke bagian yang equivalen
namun bekerja pada dataset sendiri dan menyeimbangkan bebannya. Sistem terdistribusi yang mendukung horizontal
distribution adalah P2P. Peer to peer merupakan salah satu model jaringan komputer yang terdiri dari dua atau beberapa
komputer, dimana setiap station atau komputer yang terdapat di dalam lingkungan jaringan tersebut bisa saling berbagi.
Macamnya:
a. Structured P2P: node disusun mengikuti struktur data terdistribusi tertentu (yaitu pohon, cincin, hierarki, dll)
b. Unstructured P2P: node memiliki tetangga yang dipilih secara acak
Arsitektur Hybrid: Gabungan dari client-server dan peer-to-peer. Egde-Server contohnya adalah ISP karena ISP
menyediakan batasan dalam melakukan akses internet. Edge server bertujuan untuk menyediakan konten, filtering dan
transcoding. Colaborative contohnya Torrent.
ARSITEKTUR VS MIDDLEWARE
Middleware :
software penghubung yang berisi sekumpulan layanan yang memungkinkan beberapa proses dapat berjalan pada
satu atau lebih mesin untuk saling berinteraksi pada suatu jaringan. Tujuan penting adalah untuk memberikan tingkat
transparansi distribusi.
Sistem middleware sebenarnya mengikuti gaya arsitektural CORBA OOP dan TIB / Rendezvous middleware.
Keuntungan: Memiliki middleware yang dicetak sesuai dengan gaya arsitektur tertentu memiliki manfaat untuk
merancang aplikasi menjadi lebih sederhana.
Kelemahan: middleware mungkin tidak lagi optimal untuk diketahui oleh pengembang aplikasi.
Solusi : Menggunakan Interceptors and Adaptive Software.
Interceptor : memanggil fungsional dari objek lain yang memiliki interface yang sama
Ada tiga teknik dasar adaptve software:
Separation of concerns : memisahkan bagian/modul yang mengimplementasikan fungsionalitas tertentu
sehingga berdiri independen. Namun sayang, independensi tidak bisa dilakukan dengan sembarang dan ada
fungsi yang tidak bisa dipisahkan
Computational reflection : kemampuan program untuk menginspeksi dirinya sendiri sebelum mengaplikasikan
teknik reflektif di sistem terdistribusi
Component-based design : desain yang bergantung pada komponen untuk menentukan komponen terbaik dan
adaptasi antar komponen yang dapat digunakan pada sistem
Chapter 3 -
Komponen jaringan
- Media transmisi, mis. kawat, kabel, serat, saluran nirkabel
- Perangkat keras, mis. router, switch, jembatan, hub, antarmuka jaringan
- Komponen perangkat lunak, mis. protokol, driver
Subsistem komunikasi: kumpulan komponen perangkat keras dan perangkat lunak untuk menyediakan fasilitas
komunikasi.
Tipe Jaringan
- Personal Area Network (PAN)
Wireless PAN
- Local Area Networks (LANs)
Media : UTP, Coaxial cable, Fiber, Wireless
Ethernet, 10Mbps, 100Mbps, 1000Mbps
- Wide Area Networks (WANs)
Large distance, need routers latency can be 0.1 to 0.5 seconds, speeds upto 1 - 10Mbps
- Metropolitan Area Networks (MANs), DSL >> ATM switches, DSL limited 5,5 km
VDSL, VDSL2. upto 100 Mbps for HDTV
Cable modem, 15 Mbps, distance up to 50 km
- Wireless Networks
- Wireless MAN
- Wireless WAN
- Internetworks : sebuah subsistem komunikasi di mana beberapa jaringan saling terhubung internet
Prinsip Jaringan
a. Packet Transmission:
Paket yang terdiri dari serangkaian simbol ditransmisikan melalui saluran.
Data dibagi bagi menjadi paket paket, yang membatasi protokolnya.
Kenapa di segmentasi? Agar tidak terjadi monopoli jaringan 1 komputer/ antar komputer lain.
Diperlukan addressing agar disisi penerima dapat diidentifikasi.
Jumlah paket tergantung besar data yang dikirimkan.
b. Data Streaming: distribusi data audio, video dan multimedia secara Real Time melalui Internet
Need guaranteed quality of service bandwidth, latency, reliability, e.g. ATM networks
Resource Reservation Protocol(RSVP), 1993
Real-Time Transport Protocol (RTP), 1996
C. Protokol
Protocol suites: gabungan TCP & IP yang menyediakan layanan komunikasi jaringan.
Packet Assembly & Delivery: pesan dibagi jadi beberapa paket dan tidak ada re-transmisi data.
Chapter 5 - Communication
PDF Chapter 05 - Remote Invocation
Model Pemrograman untuk Aplikasi Terdistribusi
1. Remote Procedure Call (RPC)
Memungkinkan program client memanggil prosedur dalam program server yang berjalan dalam proses terpisah dan
umumnya di komputer yang berbeda dari klien.
2. Metode Remote Method Invocation (RMI)
Memungkinkan sebuah objek hidup dalam satu proses untuk memanggil metode objek yang hidup dalam proses
lain.
3. Model Pemrograman Berbasis Event
Memungkinkan objek untuk menerima pemberitahuan kejadian dari objek lain di mana mereka memiliki kepentingan
yang telah terdaftar.
Middleware
1. Perangkat lunak yang menyediakan model pemrograman di atas blok bangunan dasar proses dan pesan yang
lewat.
2. Lapisan middleware.
3. Transparansi lokasi
4. Terlepas dari detail protokol komunikasi
5. Menyembunyikan perbedaan arsitektur perangkat keras
6. Terlepas dari sistem operasi yang mendasarinya
7. Memungkinkan aplikasi terdistribusi untuk menggunakan lebih dari satu bahasa pemrograman
CORBA (Common Object Request Broker Architecture) merupakan TEKNOLOGI SELAIN RMI.
- Mendukung transmisi Object antar bahasa pemrograman secara virtual
- Object harus di deksripsikan dalam IDL (Interface Definition Language), yang mirip dengan definisi yang dimiliki
oleh C++
- CORBA bersifat rumit dan tidak dapat diandalkan
- CORBA sudah jarang digunakan lagi.
- Microsoft pernah mensupport CORBA, sebelum beralih ke COM, dan sekarang .NET
BOLEH DILANJUT :)