SISTEM TERDISTRIBUSI
1.1. Definisi Sitem Terdistribusi
Sistem
distribusi adalah sebuah sistem yang komponennya berada pada jaringan komputer.
Komponen tersebut saling berkomunikasi dan melakukan koordinasi hanya dengan
pengiriman pesan (message passing).
Sistem
terdistribusi merupakan kebalikan dari Sistem Operasi Prosesor Jamak. Pada
sistem tersebut, setiap prosesor memiliki memori lokal tersendiri. Kumpulan
prosesornya saling berinteraksi melalui saluran komunikasi seperti LAN dan WAN
menggunakan protokol standar seperti TCP/IP. Karena saling berkomunikasi, kumpulan
prosesor tersebut mampu saling berbagi beban kerja, data, serta sumber daya
lainnya.
Sistem
terdistribusi dapat dikatakan sebagai suatu keberadaan beberapa komputer yang
bersifat transparan dan secara normal, setiap sistem terdistribusi mengandalkan
layanan yang disediakan oleh jaringan komputer.
Dalam
penggunaanya sistem terdistribusi sangat diperlukan karena:
ü Performance
Sekumpulan prosesor dapat
menyediakan kinerja yang lebih tinggi daripada komputer yang terpusat
ü Distribution
Banyak aplikasi yang
terlibat, sehingga lebih baik jika dipisah dalam mesin yang berbeda (contoh:
aplikasi perbankan, komersial)
ü Reliability
Jika terjadi kerusakan pada
salah satu mesin, tidak akan mempengaruhi kinerja system secara keseluruhan
ü Incremental
Growth
Mesin baru dapat ditambahkan
jika kebutuhan proses meningkat
ü Sharing
Data/Resource
Resource
adalah:
–
Segala hal yang dapat digunakan bersama dalam jaringan komputer.
–
Meliputi hardware (e.g. disk, printer, scanner), juga software (berkas,
basis data, obyek data).
ü Communication
Menyediakan fasilitas
komunikasi antar manusia
Beberapa
contoh dari sistem terdistribusi yaitu :
1. Internet, merupakan suatu bentuk jaringan
global yang menghubungkan komputer denga satu sama lainnya, yang dapat
berkomunikasi dengan media IP sebagai protokol.
2. Intranet
● Jaringan yang teradministrasi secara
lokal
● Biasanya proprietary
● Terhubung ke internet (melalui
firewall)
● Menyediakan layanan internal dan
eksternal
3. Sistem terdistribusi multimedia
Biasanya digunakan pada infrastruktur
internet
ü Karakteristik
Sumber data yang heterogen dan
memerlukan sinkronisasi secara real time
ü
Video,
audio, text Multicast
Contoh:
- Teleteaching
tools (mbone-based, etc.)
-
Video-conferencing
- Video and
audio on demand
4. Mobile dan sistem komputasi ubiquitous
ü
Sistem
telepon Cellular (e.g., GSM)
Resources
dishare : frekuensi radio, waktu transmisi dalam satu frekuensi, bergerak
ü Komputer laptop,
ubiquitous computing
ü Handheld
devices, PDA, etc
5. World wide web
ü Arsitektur
client/server tebuka yang diterapkan di atas infrastruktur internet
ü Shared resources
(melalui URL)
6. Contoh distribusi yang lainnya seperti
ü Sistem telepon
seperti ISDN, PSTN
ü Manajemen
jaringan seperti Administrasi sesumber jaringan
ü Network File
System (NFS) seperti Arsitektur untuk mengakses sistem file melalui jaringan.
1.2.
Karakteristik Sistem Terdistribusi
Dalam system
terdistribusi terdapat beberapa karakteristik yaitu :
1. No global
clock
- Terdapat
batasan pada ketepatan proses sinkronisasi clock pada sistem terdistribusi,
oleh karena asynchronous message passing
- Pada sistem
terdistribusi, tidak ada satu proses tunggal yang mengetahui global state sistem
saat ini (disebabkan oleh concurrency dan message passing)
2. Independent
failure
- Kemungkinan
adanya kegagalan proses tunggal yang tidak diketahui
- Proses tunggal
mungkin tidak peduli pada kegagalan sistem keseluruhan
3. Concurrency
of components
- E.g. Beberapa
pemakai browser mengakses suatu halaman web secara bersamaan.
- Bagaimana jika
ada operasi update?
1.3.
Model Sistem Terdistribusi
Dalam
pelaksanaannya sistem terdistribusi memiliki berbagai bentuk (model), yaitu :
1. Sistem client
- server
Merupakan bagian
dari model sistem terdistribusi yang membagi jaringan berdasarkan
pemberi dan
penerima jasa layanan. Pada sebuah jaringan akan didapatkan: file server,
time
server, directory server, printer server, dan seterusnya.
2. Sistem point
to point
Merupakan bagian
dari model sistem terdistribusi dimana sistem dapat sekaligus berfungsi sebagai
client maupun server.
3. Sistem
terkluster
Adalah gabungan
dari beberapa sistem individual (komputer) yang dikumpulkan pada suatu lokasi,
saling berbagi tempat penyimpanan data (storage), dan saling terhubung
dalam jaringan lokal (Local Area Network). Sistem kluster memiliki
persamaan dengan sistem paralel dalam hal menggabungkan beberapa CPU untuk
meningkatkan kinerja komputasi. Jika salah satu mesin mengalami masalah dalam
menjalankan tugas maka mesin lain dapat mengambil alih pelaksanaan tugas itu.
Dengan demikian, sistem akan lebih handal dan fault tolerant dalam
melakukan komputasi.
Dalam hal
jaringan, sistem kluster mirip dengan sistem terdistribusi (distributed
system). Bedanya, jika jaringan pada sistem terdistribusi melingkupi komputer-komputer
yang lokasinya tersebar maka jaringan pada sistem kluster menghubungkan banyak
komputer yang dikumpulkan dalam satu tempat.
1.4.
Permasalahan Sistem Terdistribusi
Masalah dengan
sistem terdistribusi yang dapat dimunculkan antara lain berkaitan dengan :
* Software
- bagaimana merancang dan mengatur software dalam Distribusi Sistem
* Ketergantungan
pada infrastruktur jaringan
* Kemudahan
akses ke data yang di share, memunculkan masalah keamanan
Dalam setiap
penggunaan suatu sistem, banyak sekali ditemui permasalahan – permasalahan yang
muncul, begitu juga dengan sistem terdistribusi. Selain permasalahan –
permasalahan yang akan dihadapi terdapat tantangan – tantangan dalam sistem
terdistribusi.
1.5. Tantangan
Sistem Terdistribusi
Tantangan
yang ada dalam Sistem Terdistribusi yaitu :
1. Keheterogenan
komponen (heterogenity)
2. Keterbukaan (openness)
3. Keamanan (security)
4. Scalability
5. Penanganan
kegagalan (failure handling)
6. Concurrency
of components
7. Transparansi
1.
Keheterogenan
* Suatu
sistem terdistribusi dapat dibangun dari berbagai network, operation system,
hardware dan programming language yang berbeda.
* IP
dapat digunakan utk mengatasi perbedaan jaringan.
* Middleware
mengatasi perbedaan lainnya.
2.
Keterbukaan
* Mendukung
extensibility.
* Setiap
komponen memiliki antarmuka (interface), yg di-publish ke
komponen lain.
* Perlu
integrasi berbagai komponen yg dibuat oleh programmer atau vendor ygberbeda.
3. Keamanan
* Shared
resources &
transmisi informasi rahasia perlu dilengkapi dengan enkrips
* Cegah
denial of service.
4.
Scalability
* Penambahan
pemakai membutuhkan penambahan resource yg konstan
* Cegah
bottleneck.
* Jika
perlu, gunakan replikasi.
5. Penanganan Kegagalan
* Setiap
proses (komputer atau jaringan) dapat mengalami kegagalan secara independen.
* Komponen
lain harus tetap berjalan dgn baik.
* E.g.
failed branch in a distributed banking system.
6. Concurrency
* Multiple
users with concurrent requests to a shared resources.
* Setiap
resource hrs aman di lingkungan tersebut di atas.
7.
Transparansi
Transparan: bagi pemakai, keberadaan
beberapa komponen tampak sebagai satu sistem saja.
* Access
transparency:
Local &
remote resources dapat
diakses dengan operasi yg sama.
* Location
transparency:
– Resource dapat diakses tanpa tahu di mana lokasinya.
– Bagaimana pendapat Anda mengenai hyperlink & URL?
* Concurrency
transparency
– Beberapa proses dapat sama-sama menggunakan suatu resource tanpa saling interferensi.
– Bagaimana jika beberapa pemakai secara bersamaan akan mengubah suatu berkas:
* Replication
transparency:
Pemakai maupun pemrogram aplikasi tidak perlu mengetahui adanya replikasi resource, yg dapat meningkatkan kehandalan dan unjuk kerja.
*Failure
transparency:
Pemakai dan pemrogram aplikasi dapat menyelesaikan tugasnya walaupun ada kegagalan hardware atau software.
*Mobility
transparency:
Resource dan klien dapat berpindah tanpa mempengaruhi operasi pemakai atau program.
*Performance
transparency:
Sistem dapat dikonfigurasi ulang untuk meningkatkan unjuk kerja, sejalan dengan perubahan beban sistem.
*Scaling
transparency:
Sistem dan aplikasi mudah bertambah luas
tanpa perubahan struktur sistem dan algoritma aplikasi.
DEFINISI DAN PERAN MIDDLEWARE
SISTEM TERDISTRIBUSI
Definisi Middleware :
sebagai sebuah aplikasi
yang secara logic yang terletak diantara lapisan aplikasi Middleware
didefinisikan seperti software yang menghubungkan komponen perangkat lunak atau
aplikasi yang berisi sekumpulan layanan yang memungkinkan agar beberapa proses
dapat berjalan untuk satu atau beberapa mesin computer untuk saling
berinteraksi dalam sebuah jaringan. Teknologi ini berkembang untuk menyediakan
untuk Interoperabilitas dalam dukungan yang koheren didistribusikan pindah ke
arsitektur, yang paling sering digunakan untuk mendukung dan mempermudah
kompleksitas, aplikasi didistribusikan.
Middleware juga bisa
disebut application layer) dan lapisan data dari sebuah arsitektur layer-layer
TCP/IP [1].
Penggunaan middleware
ini sangat dibutuhkan untuk bermigrasi dari aplikasi mainframe ke aplikasi
client/server dan juga untuk menyediakan komunikasi antar platform yang berbeda
termasuk server web, server aplikasi, dan alat-alat serupa yang mendukung
pengembangan aplikasi dan pengiriman Middleware yang paling banyak
dipublikasikan :
·
Microsoft's COM/DCOM (Component Object
Model)
·
Object Management Group's Common Object
Request Broker Architecture (CORBA),
·
RMI (Remote Method Invocation)
1. DCOM /Distributed
Component Object Model adalah protokol yang berfungsi untuk mengaktifkan
komponen pada perangkat lunak (software) agar dapat berkomunikasi langsung
dengan jaringan. (Spangler, 2004). Tujuan DCOM adalah agar komponen yang telah
dibuat dapat diregister di suatu komputer dan di akses oleh banyak komputer
lain. DCOM sendiri bukan merupakan teknologi beru karena teknologi ini banyak
dipakai dalam sistem distribusi pada sistem jaringan TCP/IP. Protokol yang
digunakan oleh DCOM dapat meliputi:
·
Protokol TCP/IP
·
Protokol UDP/IP
·
Protokol HTTP
·
Protokol RPC
2. CORBA merupakan
sebuah spesifikasi middleware yang ideal untuk mendukung dan mengaplikasikan
sistem komputer terdistribusi. Arsitektur CORBA berbasis pada model objek.
Model ini berasal dari abstraksi inti model objek yang didefinisikan oleh OMG
dalam sebuah petunjuk OMA (Object Management Architecture). CORBA bersifat
open, maksudnya bahwa CORBA bisa dipakai oleh setiap orang yang ingin
menggunakan standarisasi CORBA ini. Sehingga akan muncul perbedaan-perbedaan
dalam menggunakannya, seperti perbedaan platform ataupun bahasa pemrograman.
Tetapi hal ini justru menjadi kelebihan CORBA bahwa CORBA mampu
mengkomunikasikan sistem yang memiliki perbedaan-perbedaan tersebut.
3. RMI (Remote Method Innovation)
RMI adalah sebuah
tekhnik pemanggilan method remote yang lebih secara umum lebih baik dari RPC.
RMI menggunakan paradigma pemrograman berorientasi obyek. RMI memungkinkan kita
untuk mengirim obyek sebagai parameter dari remote method. Dengan dibolehkannya
program Java memanggil method pada remote obyek, RMI membuat pengguna dapat
mengembangkan aplikasi Java yang terdistribusi pada jaringan.
Tujuan :
1. Menyediakan
fasilitas bagi programmer untuk dapat mendistribusikan objek yang digunakan
pada beberapa proses yang berbeda.
2. Dapat berjalan dalam satu mesin ataupun di
beberapa mesin yang terhubung dengan jaringan. Aplikasi Obyek Terdistribusi
Aplikasi RMI sering kali terdiri dari
dua program terpisah yaitu server dan client.
1. Aplikasi Server
· Membuat beberapa remote objek
· Menyediakan referensi terhadap
objek-objek tersebut sehingga dapat diakses
· Menunggu RMI client merequest server
2. Aplikasi Client
· Mendapatkan referensi remote ke satu
atau lebih objek remote di server
· Menjalankan method dari objek
tersebut
· Meminta pemanggilan ke beberapa
remote objek berbasarkan referensi yang diterimanya.
PERAN MIDDLEWARE
TERHADAP SISTER :
Middleware adalah software yang
dirancang untuk mendukung pengembangan sistem tersebar dengan memungkinkan
aplikasi yang sebelumnya terisolasi untuk saling berhubungan. Dengan bantuan
middleware, data yang sama dapat digunakan oleh customer service, akuntansi,
pengembangan, dan manajemen sesuai kebutuhan. Di sini middleware dapat
berfungsi sebagai penerjemah informasi sehingga setiap aplikasi mendapatkan
format data yang dapat mereka proses.
Pengertian Middleware
adalah sebuah aplikasi yang secara logic berada diantara lapisan aplikasi
(application layer) dan lapisan data dari sebuah arsitektur layer-layer TCP/IP
[1]. Middleware bisa juga disebut
protokol. Protokol komunikasi middleware mendukung layanan komunikasi aras
tinggi. Software yang berfungsi sebagai lapisan konversi atau penerjemah yaitu
:
1. Software penghubung yang berisi sekumpulan
layanan yang memungkinkan beberapa proses dapat berjalan pada satu atau lebih
mesin untuk saling berinteraksi pada suatu jaringan juga sebagai integrator.
2. Middleware saat ini dikembangkan untuk
memungkinkan satu aplikasi berkomunikasi dengan lainnya walaupun berjalan pada
platform yang berbeda.
Contoh Layanan
Middleware
Ø Transaction
Monitor
1.
Produk pertama yang disebut middleware.
2.
Menempati posisi antara permintaan dari program client dan database, untuk
menyakinkan bahwa semua transaksi ke database terlayani dengan baik
Ø Messaging
Middleware
1.
Menyimpan data dalam suatu antrian message jika mesin tujuan sedang mati atau
overloaded
2.
Mungkin berisi business logic yang merutekan message ke ujuan sebenarnya dan
memformat ulang data lebih tepat
3.
Sama seperti sistem messaging email, kecuali messaging middleware digunakan
untuk mengirim data antar aplikasi
Contoh
Layanan Middleware
Ø Distributed
Object Middleware
Contoh:
RPC, CORBA dan DCOM/COM
Ø Middleware
basis data
menyediakan
antarmuka antara sebuah query dengan beberapa database yang terdistribusi
Contoh:
JDBC, ODBC, dan ADO.NET
Ø Application
Server Middleware
J2EE
Application Server, Oracle Application Server