Saturday, January 07, 2012

RPC (Remote Procedure Call)

Merupakan sebuah metoda yang memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer lain. Untuk dapat melakukan ini sebuah komputer (server) harus menyediakan layanan remote prosedur. Pendekatan yang dilakukan adalah, sebuah server membuka socket, menunggu client yang meminta prosedur yang disediakan oleh server.

RPC masih menggunakan cara primitive dalam pemrograman, yaitu menggunakan paradigma procedural programming. Hal itu membuat kita sulit ketika menyediakan banyak remote procedure. RPC 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 lowlevel 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.

Protokol RPC mengijinkan pengguna (users) untuk bekerja dengan prosedur remote sebagaimana bekerja dengan prosedur lokal. Prosedur panggilan remote (remote procedure calls) didefinisikan melalui rutin yang terkandung didalam protokol RPC. Tiap message dari panggilan akan disesuaikan dengan message balikan. Protokol RPC sendiri sebenarnya adalah suatu protokol untuk ”meneruskan pesan” yang mengimplemntasikan protokol non- RPC lain seperti panggilan remote batching dan broadcasting. Protokol ini juga mendukung adanya prosedur callback dan select subroutine pada sisi server.

RPC menggunakan soket untuk berkomunikasi dengan proses lainnya. Pada sistem seperti SUN, RPC secara default sudah terinstall kedalam sistemnya, biasanya RPC ini digunakan untuk administrasi sistem. Sehingga seorang administrator jaringan dapat mengakses sistemnya dan mengelola sistemnya dari mana saja, selama sistemnya terhubung ke jaringan. Umumnya protokol RPC yang digunakan pada saat ini adalah DCOM (Distributed Component Object Model). Saat ini ada alternatif protokol  baru, yakni SOAP (Simple Object Access Protocol), yang berdasarkan pada teknologi XML.

Contoh RPC dikenal sebagai Stub (Client Stub dan Server Stub)

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

·         Kurangnya location transparency


Sumber : (1) (2) (3)


RMI (Remote Method Invocation)

Merupakan sebuah teknik pemanggilan method remote yang lebih secara umum lebih baik daripada RPC. RMI menggunakan paradigma pemrograman berorientasi obyek (Object Oriented Programming). 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.

Aplikasi RMI sering kali terdiri dari dua program terpisah yaitu server dan client. Aplikasi server semacam ini biasanya membuat beberapa objek remote, menyediakan referensi terhadap objek-objek tersebut sehingga dapat diakses, serta menunggu client menginvoke/memanggil method dari objek-objek remote tersebut. Aplikasi client mendapatkan referensi remote ke satu atau lebih objek remote di server dan menjalankan method dari objek tersebut.

RMI menyediakan mekanisme dimana server dan client berkomunikasi danmemberikan informasi secara timbal balik. Aplikasi semacam ini seringkali disebut aplikasi objek terdistribusi. Dalam RMI, semua informasi tentang satu pelayanan server disediakan dalam suatu definisi remote interface. Dengan melihat pada definisi interface, seorang pemrogram dapat memberitahukan method apa yang dapat dikerjakan oleh server, meliputi data apa yang diterima dan data apa yang akan dikirim sebagai tanggapan.

Definisi yang ada pada remote interface menentukan karakteristik methods yang disediakan server yang dapat dilihat oleh client. Client programmer harus dapat mengetahui methods apa yang disediakan server dan bagaimana memanggilnya langsung dengan melihat ke remote interface. Client mendapatkan referensi ke remote object melalui RMI registry.

Contoh RMI dikenal seperti Proxy dan Skeleton.

Membangun suatu aplikasi terdistribusi menggunakan RMI meliputi 6 langkah. Keenam langkah tersebut adalah:
1. Mendefinisikan remote interface
2. Implementasi remote interface dan server
3. Pengembangan client (atau applet) yang menggunakan remote interface
4. Mengkompilasi source files dan mem-buat stub and skeletons
5. Memulai (start) RMI registry
6. Menjalankan server dan client

Keuntungan RMI
•  Salahsatu keuntungan RMI adalah kemampuan untuk download bytecodes (code) dari suatu object’s class, jika class tsb tidak terdefinisikan di VM-nya penerima.
•  Type-type dan metode-metode object (class), yang terletak dalam satu VM, dapat dikirim ke VM yang lain, yang mungkin saja remote.
•  Sifat-sifat object yang terkirim ini tidak berubah sama sekali

Kelemahan RMI

proses pembukaan socket yang kadang-kadang tidak dapat diimplementasikan lewat jaringan internet, tapi hal ini bisa diatasi dengan menggunakan Spring HttpInvoker, sama persis dengan RMI tapi lewat protokol HTTP.


Sumber : (1) (2) (3) 

Tuesday, January 03, 2012

Mengemis Kasih by Raihan


Tuhan dulu pernah aku menagih simpati
Kepada manusia yang alpa jua buta
Lalu terheretlah aku dilorong gelisah
Luka hati yang berdarah kini jadi kian parah


Semalam sudah sampai kepenghujungnya
Kisah seribu duka ku harap sudah berlalu
Tak ingin lagi ku ulangi kembali
Gerak dosa yang menghiris hati


Tuhan dosaku menggunung tinggi
Tapi rahmat-Mu melangit luas
Harga selautan syukurku
Hanyalah setitis nikmat-Mu di bumi


Tuhan walau taubat sering ku mungkin
Namun pengampunan-Mu tak pernah bertepi
Bila selangkah ku rapat pada-Mu
Seribu langkah Kau rapat padaku



--------------------------------------------------------------------------------------------------------------



Senyum By Raihan

Manis Wajahmu Kulihat Di Sana
Apa Rahsia Yang Tersirat
Tapi Zahirnya Dapat Kulihat
Mesra Wajahmu Dengan Senyuman

Senyuman... Senyuman
Senyum Tanda Mesra
Senyum Tanda Sayang
Senyumlah Sedekah Yang Paling Mudah
Senyum Di Waktu Susah
Tanda Ketabahan
Senyuman Itu Tanda Keimanan
Senyumlah Senyumlah Senyumlah Senyumlah

Hati Yang Gundah Terasa Senang
Bila Melihat Senyum Hatikan Tenang
Tapi Senyumlah Seikhlas Hati
Senyuman Dari Hati Jatuh Ke Hati

Senyumlah Senyumlah
Senyumlah Seperti Rasulullah
Senyumnya Bersinar Dengan Cahaya
Senyumlah Kita Hanya Kerana Allah
Itulah Senyuman Bersedekah

Senyumlah Senyumlah Senyumlah Senyumlah
Itulah Sedekah Yang Paling Mudah
Tiada Terasa Terhutang Budi
Ikat Persahabatan Antara Kita
Tapi Senyum Jangan Disalah Guna
Senyumlah Senyumlah Senyumlah Senyumlah