Rabu, 08 Oktober 2014

Sistem Terdistribusi


Sisem terdistribusi adalah suatu kumpulan komputer otonom yang terhubung melalui jaringan komputer  yang bersifat transparan yang berintegrasi antar satu dengan yang lainya untuk mencapai tujuan di inginkan. Dalam sistem terdistribusi ini, terdapat 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 dalam memory si client tersebut. Apabila server sudah kembali normal, maka proses transaksi tersebut akan dilanjutkan kembali.
                 

                                         Kumpulan berbagai komputer dalam sistem terdistribusi

Model – model dalam system terdistribusi
1.      Model client server



        • Client:
              – Proses akses data
              – Melakukan operasi pada komputer lain

       • Server:
              – Proses mengatur data
              – Proses mengatur resources
              – Proses komputasi

       • Interaksi:
              – Invocation/result


2.      Model Multiple Server


·         Service disediakan oleh beberapa server
·         Server menggunakan replikasi atau database terdistribusi

3.      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 frekwensi akses ke server.

4.      Model  Peer to Peer



Bagian dari 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. 

Karakteristik sistem terdistribusi 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 .htaccess yang 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). 

  • Reliability
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.

  • Communication
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. 

  • Keterbukaan
Setiap perangkat memiliki antarmuka (interface) yang di-publish ke komponen lain. Perlu integrasi berbagai komponen yang dibuat oleh programmer atau vendor yang berbeda.

  • Keamanan
Shared resources dan transmisi informasi/data perlu dilengkapi dengan enkripsi.

  • Penanganan kegagalan
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. 

  • Transparansi
Bagi pemakai, keberadaan berbagai perangkat (multiplisitas perangkat) dalam sistem terdistribusi tampak sebagai satu sistem saja. 




Tidak ada komentar:

Posting Komentar