Minggu, 18 Maret 2012

Remote Procedure Call (RPC)

Remote Procedure Call (RPC) adalah sebuah metode yang memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer lain. Untuk dapat melakukan ini sebuah server harus menyediakan layanan remote procedure. Pendekatan yang dilakuan adalah sebuah server membuka socket, lalu menunggu client yang meminta prosedur yang disediakan oleh server. Bila client tidak tahu harus menghubungi port yang mana, client bisa me- request kepada sebuah matchmaker pada sebuah RPC port yang tetap. Matchmaker akan memberikan port apa yang digunakan oleh prosedur yang diminta client.
RPC masih menggunakan cara primitif dalam pemrograman, yaitu menggunakan paradigma procedural programming. Hal itu membuat kita sulit ketika menyediakan banyak remote procedure. RPC menggunakan socket untuk berkomunikasi dengan proses lainnya. Pada sistem seperti SUN, RPC secara default sudah ter- install 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.

RPC dapat di implementasikan ke Sun Microsystems Open Network Computing (ONC) : RPC specification, XDR (eXternal Data Representation) standard, UDP atau TCP transport protocol. Xerox Courier : RPC model, Data representation standard, XNS (Xerox Network Systems) SPP (Sequenced Packet Protocol) sbg transport protocol, Apollo s Network Computing Architecture (NCA), RPC protocol, NDR (Network Data Representation).

RPC mempunyain kelebihan-kelebihan , diantaranya :
# 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.
# RPC suatu metoda yang powerfull, cepat, efisien dan aman untuk komunikasi antar proses yang memungkinkan pertukaran data pada proses yang berbeda .

Disamping kelebihan-kelebihan yang dimiliki , RPC-pun masih memiliki kekurangan , yaitu :
# 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.

Sumber :

Minggu, 11 Maret 2012

Definisi Contoh Sistem Terdistribusi




Pada umumnya hampir semua sistem berbasis komputer pada saat ini menggunakan sistem terdistribusi . Sistem terdistibusi merupakan sebuah sistem yg komponennya berada pada jaringan komputer. Komponen tersebut saling berkomunikasi & melakukan koordinasi hanya dengan pengiriman pesan (message passing). Definisi Sistem terdistribusi pada umumnya adalah sistem dimana pemrosesan informasi didistribusikan pada beberapa komputer dan tidak terbatas hanya pada satu mesin saja dalam satu infrastruktur jaringan baik lokal, internet ataupun wireless. Sebuah sistem terdistribusi, tidak hanya melakukan komunikasi antara satu proses pada satu komputer dengan proses pada komputer yang lain, namun juga perlu mempertimbangkan ketersediaan infrastruktur jaringan yang memadai dan juga dukungan standarisasi sistem yang terbuka.

Ada banyak definisi Sistem Terdistribusi , antara lain :

1. “A system in which hardware or software components located at networked computers communicate and coordinate their actions only by message passing.” (Sebuah sistem dimana komponen software atau hardware-nya terletak di dalam jaringan komputer dan saling berkomunikasi menggunakan message pasing)  [Coulouris]
2. “A system that consists of a collection of two or more independent computers which coordinate their processing through the exchange of synchronous or asynchronous message passing.” (Sebuah sistem yang tersusun oleh dua atau lebih komputer dan memiliki koordinasi proses melalui pertukaran pesan sinkron atau asinkron).
3. “A distributed system is a collection of independent computers that appear to the users of the system as a single computer.” (Kumpulan komputer independent yang tampak oleh user sebagai satu sistem komputer) [Tanenbaum]
4. “A distributed system is a collection of autonomous computers linked by a network with software designed to produce an integrated computing facility.” (Kumpulan komputer autonom yang dihubungkan oleh jaringan dengan software yang di rancang  untuk menghasilkan fasilitas komputasi terintegrasi)

Contoh penerapan sistem terdistribusi dalam dunia nyata adalah sebagai berikut:

1. Intranet
Jaringan yang teradministrasi secara lokal dan dapat terhubung ke internet melalui firewall juga adanya layanan internal dan eksternal didalamnya.
2. Internet
Jaringan global yang menghubungkan komputer satu sama lain dan dapat berkomunikasi dengan media IP sebagai protokol.
3. World wide web
Arsitektur client/server tebuka yang diterapkan di atas infrastruktur internet dan juga shared resources melalui URL.
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. 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
6. Sistem telepon seperti ISDN, PSTN
7. Manajemen jaringan seperti Administrasi sumber jaringan
8. Network File System (NFS) seperti Arsitektur untuk mengakses sistem file melalui jaringan.

Ilustrasi dari penerapan sistem terdistribusi adalah sebagai berikut:. Misalnya si A sakit dan pergi ke dokter langganannya. Jika hasil diagnosa mengharuskan si A harus masuk ke rumah sakit, maka pemilihan RS dan pemesanan tempat dapat dilakukan pada saat itu juga melalui komputer di tempat praktek dokter. Selanjutnya komputer di RS dapat mengontak komputer perusahaan asuransi kesehatan untuk pengurusan pembayaran biayanya. Jika si A memerlukan obat atau peralatan khusus, maka komputer si dokter dapat memberitahu di apotik mana obat atau peralatan tersebut tersedia. Cerita ini dapat diperpanjang, tapi intinya adalah bahwa satu aksi dapat memicu berbagai aktivitas lain yang saling berhubungan.

Sumber :