Sistem terdistribusi adalah suatu komputer otonom yang
bersifat transparan dan terdiri dari kesatuan elemen-elemen yang
berinteraksi secara sistematis antara satu dengan yang lainnya. Dari segi
pengguna, user menggunakannya sebagai satu kesatuan komputer. Dalam sistem
terdistribusi ini, terdapat lah sebuah jaringan yang merupakan sarana yang
menjembatani komunikasi antar elemen. Bagian terluar dari sistem terdistribusi
ini adalah sebuah client. Aplikasi client disini adalah front end yang akan
berhubungan langsung dengan sistem. Dibelakangnya terdapat beberapa lapisan
logik seperti presentation server, bussiness object server dan database server.
Sistem terdistribusi disini juga membutuhkan sebuah proxy server. Lapisan yang
berada dibelakang front end ini tersembunyi dari pengguna(transparancy). Jika
server dalam suatu sistem distribusi down atau mengalami gangguan, maka proses
transaksi antar client akan disimpan di dalammemory si client tersebut(dalam
hal ini client adalah sebuah komputer). Apabila server sudah kembali normal,
maka proses transaksi tersebut akan dilanjutkan kembali.
Sistem Terdistribusi terdiri dari
dua kata yaitu “ Sistem” dan “Terdistribusi”. Sistem terdistribusi merupakan
sekumpulan elemen yang saling berhubungan satu dengan yang lainnya dan membentuk
satu kesatuan untuk menyelesaikan satu tujuan yang spesifik ataumenjalangkan
sperangkat fungsi. Adapun terdistribusi berasal dari kata “distribusi” yang
merupakan lawan kata “sentralisasi” yang artinya penyebaran, sirkulasi,
penyerahan, pembagian menjadi bagian-bagian kecil.
Sistem terdistribusi dengan pemisalan aplikasi client tersebut dapat
memungkinkan dibuat aplikasi yang terkonsentrasi memenuhi kebutuhan pengguna
atau user. Dengan demikian aplikasi tersebut dapat dibuat menjadi aplikasi yang
kecil dan memiliki tingkat portabilitas yang tinggi. Dengan teknologi sekarang
ini memungkinkan penggagas sistem untuk meletakkan aplikasi ini pada mobile
yang memiliki processor seperti handphone dan PDA.
Gambar 1 Kumpulan berbagai komputer dalam sistem
terdistribusi
Manfaatnya:
•
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
Karakteristik sistem terdistribusi adalah sebagai
berikut:
- Resource Access and Sharing
- Openness (keterbukaan)
- Concurrency
- Scalability
- Fault Tolerance (toleransi kesalahan)
- Transparency
- Resource
Access and Sharing
Kemampuan menggunakan hardware, software atau data dimanapun dan kapanpun. Karakteristik ini juga yang menentukan siapa saja yang dapat mengakses sebuah resource dalam sebuah sistem terdistribusi. Salah satu contohnya dalam sebuah web, terdapat .htaccessyang hanya dapat diakses oleh user-user yang telah memiliki grant access terhadap file tersebut. - Openness
(Keterbukaan)
Sebuah keterbukaan dalam sistem terdistribusi memiliki pengertian 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 karakteristik ini misalkan sebuah aplikasi web banking yang dapat terhubung dengan sistem web milik perusahaan finance. - Concurrency
Semua proses dalam sistem terdistribusi dilakukan secara concurrency (secara bersama-sama). Hal ini dilakukan untuk mencegah inkonsistensi dan ketidak valid an sebuah data dan proses. Sebagai 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. - Scalability
Skalabilitas memiliki pengertian bahwa sebuah sistem terdistribusi harus dapat ditingkatkan kinerjanya tanpa mengubah komponen-komponen di dalamnya. Sebagai 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. - Fault
Tolerance (Toleransi Kesalahan)
Kesalahan pasti terjadi dalam sebuah sistem. Entah itu disebabkan karena masalah jaringan, power supply, bencana alam atau human error. Sebuah sistem terdistribusi dirancang memliki kemampuan untuk menangani hal-hal tersebut. Contoh dalam hal ini adalah dibangunnya sebuah clustering server. Dimana ketika server utama mengalami down karena beberapa penyebab kesalahan, maka extended server langsung membackup sistem utama dan menggantikannya. - Transparency
Secara umum, transparansi disini tidak berlaku untuk user biasa yang mengutamakan fungsionalitas, apakah ia sedang menggunakan sistem yang terdistribusi atau tidak. Namun secara khusus bagi seorang pengelola baik itu developer atau administrator sistem sangat perlu untuk mengetahui arsitektur dari sistem yang sedang digunakan karena untuk mempermudah bagi mereka dalam mengembangkan dan memelihara sistem tersebut.
Ada empat alasan utama untuk membangun sistem
terdistribusi, yaitu:
- Resource Sharing. Dalam sistem terdistribusi, situs-situs yang berbeda saling terhubung satu sama lain melalui jaringan sehingga situs yang satu dapat mengakses dan menggunakan sumber daya yang terdapat dalam situs lain. Misalnya, user di situs A dapat menggunakan laser printer yang dimiliki situs B dan sebaliknya user di situs B dapat mengakses file yang terdapat di situs A.
- Computation Speedup. Apabila sebuah komputasi dapat dipartisi menjadi beberapa subkomputasi yang berjalan bersamaan, maka sistem terdistribusi akan mendistribusikan subkomputasi tersebut ke situs-situs dalam sistem. Dengan demikian, hal ini meningkatkan kecepatan komputasi (computation speedup).
- Dalam sistem terdistribusi, apabila sebuah situs mengalami kegagalan, maka situs yang tersisa dapat melanjutkan operasi yang sedang berjalan. Hal ini menyebabkan reliabilitas sistem menjadi lebih baik.
- Ketika banyak situs saling terhubung melalui jaringan komunikasi, user dari situs-situs yang berbeda mempunyai kesempatan untuk dapat bertukar informasi.
Tantangan-tantangan yang harus dipenuhi oleh sebuah
sistem terdistribusi:
- Keheterogenan perangkat/multiplisitas perangkat. Suatu sistem terdistribusi dapat dibangun dari berbagai macam perangkat yang berbeda, baik sistem operasi, H/W maupun S/W.
- Setiap perangkat memiliki antarmuka (interface) yang di-publish ke komponen lain. Perlu integrasi berbagai komponen yang dibuat oleh programmer atau vendor yang berbeda
- Shared resources dan transmisi informasi/data perlu dilengkapi dengan enkripsi.
- Penanganan Setiap perangkat dapat mengalami kegagalan secara independen. Namun, perangkat lain harus tetap berjalan dengan baik.
- Concurrency of components. Pengaksesan suatu komponen/sumber daya secara bersamaan oleh banyak pengguna.
- Bagi pemakai, keberadaan berbagai perangkat (multiplisitas perangkat) dalam sistem terdistribusi tampak sebagai satu sistem saja.
Model-model Dalam Sistem Terdistribusi
- Model client-server
Sistem yang terdiri dari
kumpulan – kumpulan proses disebut dengan server, dan memberikan layanan
kepada user yang disebut dengan client.
Model client-server biasanya
berbasiskan protokol request/reply. Contoh implementasi nya, atara lain RPC
(Remote Procedure Calling) dan RMI (Remote Method Invocation) :
- client mengirimkan request
berupa pesan ke server untuk mengakses suatu service.
- server menerima pesan
tersebut dan mengeksekusi request client dan mereply hasil ke client.
- Model Multiple Server
Service disediakan oleh beberapa server
Contoh:
– Sebuah situs yang jalankan dibeberapa server
Contoh:
– Sebuah situs yang jalankan dibeberapa server
Server menggunakan replikasi atau
database terdistribusi
- 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 dilakukanadalah memeriksa proxy
server apakah yang dimita oleh client terdapatpada proxy server. Proxy server
dapat diletakkan pada setiap client atau dapat di pakaibersama oleh beberapa
client. Tujuannya adalah meningkatkan performance dan availibity dengan mencegah
frekwensi akses ke server.
- Model Peer to Peer
Tidak ada komentar:
Posting Komentar