Selasa, 19 Maret 2013

STUDI KASUS RPC

Definisi RPC :
RPC (Remote Procedure Call) adalah suatu protokol yang menyediakan suatu mekanisme komunikasi antar proses yang mengijinkan suatu program untuk berjalan pada suatu komputer tanpa terasa adanya eksekusi kode pada sistem yang jauh (remote system). RPC mengasumsi keberadaan dari low-level protokol transportasi seperti TCP atau UDP untuk membawa pesan data dalam komunikasi suatu program. Protokol RPC dibangun diatas protokol eXternal Data Representation (XDR), yang merupakan standar dari representasi data dalam komunikasi remote. Protokol XDR mengubah parameter dan hasil dari tiap servis RPC yang disediakan.

Cara Kerja RPC :
Tiap prosedur yang dipanggil dalam RPC, maka proses ini harus berkoneksi dengan server remote dengan mengirimkan semua parameter yang dibutuhkan, menunggu balasan dari server dan melakukan proses kemudian selesai. Proses di atas disebut juga dengan stub pada sisi klien. Sedangkan Stub pada sisi server adalah proses menunggu tiap message yang berisi permintaan mengenai prosedur tertentu.
Contoh aplikasi untuk meremote pada teknik RPC (Remote Procedure Call) adalah menggunakan putty untuk melakukan SSH.

Flowchart :






Kelebihan RPC
  • Relatif mudah digunakan
  • Pemanggilan remote procedure tidak jauh berbeda dibandingkan pemanggilan local procedure. Sehingga pemrogram dapat berkonsentrasi pada software logic, tidak perlu memikirkan low level details seperti soket, marshalling & unmarshalling.
  • Robust (Sempurna)
  • Sejak th 1980-an RPC telah banyak digunakan dlm pengembangan mission-critical application yg memerlukan scalability, fault tolerance, & reliability.

Kekurangan RPC
  • Tidak fleksibel terhadap perubahan
  • Static relationship between client & server at run-time.
  • Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman dibandingkan OOP.
  • Kurangnya location transparency
  • Misalnya premrogram hanya boleh melakukan pass by value, bukan pass by reference.
  • Komunikasi hanya antara 1 klien & 1 server (one-to-one at a time).
  • Komunikasi antara 1 klien & beberapa server memerlukan beberapa koneksi yg terpisah.


Studi Kasus RPC :
Contoh studi kasus RPC yaitu pada jasa penge-print-an di rental pengetikan yang di dalamnya terdapat 1 komputer server, beberapa komputer client dan sebuah printer yang hanya terhubung dengan server. User dari computer client ingin mencetak data dari komputernya. Biasanya user memindah data dengan bantuan device external seperti disket, flash disk, hard disk, atau cd-rw. Namun dengan RPC hal tersebut akan menjadi lebih efisien. 
Solusi : Dengan RPC, untuk mencetak data dari computer client, computer client mengirim pesan “cetak” kepada computer server. Kemudian computer server menerima perintah tersebut dan kemudian menjalankan perintah mencetak data. Setelah itu server mengirimkan pesan pada client berupa informasi “file telah dicetak”. 

Referensi :
1. http://xceaster.files.wordpress.com/2009/07/remote-procedure-call.pdf (Tanggal akses 19 Maret 2013)
2. http://sea7star.blogspot.com/2012/03/remote-procedure-call-rpc.html (Tanggal akses 19 Maret 2013)
3. http://id.scribd.com/doc/33389539/Tugas-Mk-Istem-Terdistibusi-Makalah-RPC (Tanggal akses 19 Maret 2013)

Selasa, 12 Maret 2013

Karekteristik Sistem Terdistribusi


Karakteristik Sistem Terdistribusi


SISTEM TERDISTRIBUSI

Sistem terdidtribusi adalah suatu kesatuan dari elemen-elemen yang saling berinteraksi secara sistematis dan teratur untuk mendistribusikan data, informasi, obyek dan layanan dari dan kepada pengguna yang terkait didalamnya. Infrastruktur utama sistem terdistribusi adalah jaringan, hardware software dan pengguna yang terkait di dalamnya.
Ada beberapa hal yang harus diperhatikan dalam membangun sistem terdistribusi,
yaitu :

  1. Transparency (Kejelasan)
  2. Communication (Komunikasi)
  3. Performance & Scalability (Kinerja dan Ruang Lingkup)
  4. Heterogeneity (Keanekaragaman)
  5. Opennes (Keterbukaan)
  6. Reliability & Fault Tolerancy (Kehandalan dan Toleransi Kegagalan)
  7. Security (Kemanan)


Karakteristik yang dimiliki system terdistribusi, adalah sebagai berikut:

1. No global clock (Keterbatasan dalam Global Clock)
          Hal ini menyebabkan kesulitan dalam mensinkronkan waktu seluruh komputer/perangkat yang terlibat. Dapat berpengaruh pada pengiriman pesan/data, seperti saat beberapa proses berebut ingin masuk ke critical session.
• Dalam pemakaian bersama atas sumber daya diperlukan beberapa hal, yaitu:
- Dibutuhkan hardware dan software yang mendukung
-Memerlukan resource manager
-Perlunya suatu hubungan antara resource dengan pihak yang menggunakannya.
-Terdapat client-server, remote evolution, code on demand, dan mobile agent.
• 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
• Setiap komponen/perangkat dapat mengalami kegagalan namun komponen/perangkat lain tetap berjalan dengan baik.
• Kemungkinan adanya kegagalan proses tunggal yang tidak diketahui.
• Proses tunggal mungkin tidak peduli pada kegagalan sistem keseluruhan

3. Concurrency of components
Pengaksesan suatu komponen/sumber daya (segala hal yang dapat digunakan bersama dalam jaringan komputer) secara bersamaan.
• Setiap komponen Hardware atau Software bersifat otonom.
• Sinkronisasi dan koordinasi dengan message passing.
• Sharing resource
• Masalah umum dalam system concurrent:
- Deadlock
- Lifelock
- Komunitas yang tidak handal
Contoh: Beberapa pemakai browser mengakses halaman web secara bersamaan.


Referensi :
  • http://djawaslow.wordpress.com/about/ (tanggal akses 07/03/2013)
  • http://sistemterdistribusipradityo.wordpress.com/2011/01/14/1-4-karakteristik-sistem-terdistribusi/ (tanggal akses 07/03/2013)
  • http://fandystress.blogspot.com/2012/03/karakteristik-sistem-terdistribusi.html (tanggal akses 07/03/2013)