SISTEM OPERASI SOCKET, REMOTE PROCEDURE CALL, DAN JAVA METHOD INVOCATION
OLEH: Nama
: Ka Kadek De Dede He Hendra Ku Kusuma
NIM
: 0904505007
PROGRAM STUDI TEKNOLOGI INFORMASI JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS UDAYANA 2010
KATA PENGANTAR Puji Puji syukur syukur kami kami panjat panjatkan kan kehad kehadapa apan n Ida Sang Sang Hyang Hyang Widhi Widhi Wasa Wasa / Tuhan Tuhan Yang Maha Esa, atas rahmat dan karunia-Ny karunia-Nya, a, makalah makalah saya tentang tentang Socket, Remote Procedure Call, dan Java Method Invocation dalam perkuliahan Sistem Operasi ini dapat diselesaikan tepat pada waktunya.
Mesk Meskip ipun un dala dalam m pemb pembua uata tan n tuga tugas s ini ini saya saya seba sebaga gaii penu penuli lis s bany banyak ak menemui berbagai hambatan, namun berkat bimbingan, bantuan, dan dukungan dari berbagai pihak, makalah Sistem Operasi tentang Socket, Remote Procedure Call, dan Java Method Invocation ini pun dapat terselesaikan. terselesaikan. Mudahan makalah Siste Sistem m Operas Operasii tentan tentang g Socket Socket,, Remot Remote e Proced Procedure ure Call Call,, dan dan Java Java Method Method Invocation yang saya hasilkan ini dapat digunakan sebagaimana mestinya dan fungsiny fungsinya. a. Semoga Semoga makalah makalah ini dapat dapat memberi memberikan kan manfaat manfaat bagi orang yang membacanya
Saya Saya menya menyadar darii sepen sepenuhn uhnya ya bahwa bahwa makal makalah ah ini ini masih masih jauh jauh dari dari kata kata sempurna. Oleh karena itu, segala bentuk kritik dan saran yang konstruktif dari berbagai pihak sangat saya hargai dan harapkan. Akhir kata, semoga tugas yang tela telah h
ters tersel eles esai aika kan n
ini ini
dapa dapatt
berm berman anfa faat at
dala dalam m
peng pengem emba bang ngan an
ilmu ilmu
pengetahuan khalayak luas.
Jimbaran, Maret 2011
Penulis
Socket, Remote Procedure Call, dan Java Method Invocation
2
DAFTAR ISI Kata Pengantar .................................................................................................. 2 Daftar Isi ............................................................................................................ 3 BAB 1 Socket .................................................................................................. .. 5 1.1
Pengertian Socket .................................................................................. . 5
1.2
Fungsi Socket .......................................................................................... 5
1.3
Sejarah Socket ......................................................................................... 5
1.4
Mekanisme Komunikasi Socket............................................................... 7
BAB 2 Remote Procedure Call (RPC) ............................................................ 10 2.1
Pengertian Remote Procedure Call (RPC) ........................................... 10
2.2
Fungsi Remote Procedure Call (RPC) .................................................. 10
2.3
Kelebihan dan Kekurangan Remote Procedure Call (RPC) ................ 10
2.4
Fitur dalam Remote Procedure Call (RPC) .......................................... 11
2.5
Prinsip RPC dalam program Client-Server .......................................... 11
2.6
Sejarah Remote Procedure Call (RPC) ................................................. 12
2.7
Langkah-langkah dalam RPC ................................................................ 12
2.8....Mekanisme Komunikasi Remote Procedure Call (RPC) ......................13 BAB 3 Java Method Invocation (JMI)............................................................. 18 3.1
Pengertian Java Method Invocation (JMI) ............................................ 18
3.2
Kelebihan dan Kekurangan Java Remote Method Invocation (JRMI) 18
3.3
Mekanisme Komunikasi Java Method Invocation (JMI) ...................... 18
Daftar Pustaka ................................................................................................. 21
Socket, Remote Procedure Call, dan Java Method Invocation
3
DAFTAR TABEL Tabel 1 : Nomor Port yang Digunakan TCP .................................................... 7
DAFTAR GAMBAR Gambar 1.1 : Mekanisme Komunikasi Socket ................................................ 7 Gambar 2.1 : Alur Remote Procedure Call ...................................................13 Gambar 2.2 : Proses Klien Server dalam RPC ............................................. 15 Gambar 2.3 : Mekanisme Remote Procedure Calling ................................... 16 Gambar 3.1 : Tampilan Utama TeamViewer .................................................. 19 Gambar 3.2 : TeamViewer Versi Baru ............................................................ 20
Socket, Remote Procedure Call, dan Java Method Invocation
4
BAB I SOCKET
1.1
Pengertian Socket Socket adalah sebuah endpoint untuk komunikasi didalam jaringan.
Sepasang proses atau thread berkomunikasi dengan membangun sepasang socket, yang masing-masing proses memilikinya. Socket dibuat dengan menyambungkan dua buah alamat IP melalui port tertentu. Secara umum socket digunakan dalam client/server system, dimana sebuah server akan menunggu client pada port tertentu. Begitu ada client yang mengkontak server maka server akan menyetujui komunikasi dengan client melalui socket yang dibangun. Socket 161.25.19.8:1625 di maksudkan bahwa port 1625 pada host 161.25.19.8. Komunikasi terdiri dari pasangan socket.
1.2
Fungsi Socket Salah satu fungsi socket yang banyak digunakan pada sistem operasi
adalah interface socket . Dimana dalam interface socket, socket berfungsi untuk menghubungkan komputer ke jaringan atau antara client dengan server. System call pada socket interface dapat memudahkan suatu aplikasi untuk membuat local
socket ,
dan
menghubungkannya
ke
remote
socket .
Dengan
menghubungkan komputer ke socket, maka komunikasi antar komputer dapat dilakukan.
1.3
Sejarah Socket Gaya pemrograman socket sendiri berawal dari sistem Unix BSD yang
terkenal dengan kepopulerannya pada bidang penanganan jaringan, sehingga sering disebut BSD Socket . Socket pertama kali diperkenalkan di sistem Unix BSD versi 4.2, pada tahun 1983, sebagai kelanjutan dari implementasi protokol TCP/IP yang muncul pertama kali pada sistem Unix BSD versi 4.1 pada akhir tahun 1981. Hampir setiap variant Unix dan Linux mengadopsi BSD Socket . Pada lingkungan Unix , socket memberikan keleluasaan pemrograman gaya Unix yang terkenal dengan ideologinya. Semua di Unix/Linux adalah file. Komunikasi antar program dapat berlangsung lewat penggunaan deskriptor file standar Unix dengan bantuan socket. Bagi anda yang kenal tentang deskriptor file Unix , secara garis besar adalah seperti berikut ini. Semua entitas yang ada pada Unix
Socket, Remote Procedure Call, dan Java Method Invocation
5
atau Linux selalu didefinisikan sebagai file. Perangkat-perangkat di dalam komputer, seperti hard disk , mouse, bahkan perangkat I/O seperti Serial Port , USB, selalu didefinisikan sebagai file di dalam sistem file Unix. Contohnya, untuk port serial mungkin akan didefinisikan sebagai file /dev/ttyS1. Secara konsep, untuk dapat mengirimkan dan menerima data lewat port serial , anda harus membuka file /dev/ttyS1 dengan sebuah fungsi, misalnya open(), yang akan menghasilkan sebuah nilai integer . Nilai integer ini akan disimpan pada sebuah variabel tertentu yang dikenal dengan deskriptor file. Pengiriman dan penerimaan data dilakukan dengan bantuan deskriptor file ini sebagai referensi tempat data tersebut dikirim dan diterima. Anda dapat membuka referensi mengenai ini pada referensi Unix /Linux . Pada lingkungan sistem operasi Microsoft Windows, kita kita mengenalnya dengan istilah Winsock (Windows Socket ), yang walaupun gaya pemrograman Winsock ini sedikit berbeda dengan socket di Unix. Meskipun demikian, program yang dihasilkan oleh Winscok dipastika bisa berkomunikasi dengan baik dengan program yang dihasilkan oleh socket BSD, sepanjang kedunya mengadopsi protokol yang sama. Komunikasi atar proses dengan menggunakan socket ini, merupakan pengembangan lebih lanjut dari “ teknologi pipes” di dalam lingkungan Unix. Socket ini bisa digunakan seperti penggunaan pipes di Unix. Keunggulan dari penggunaan socket ini dibanding apabila menggunakan pipes biasa adalah anda bisa melakukan komunikasi antar proses/program melalui jaringan berbasis TCP/IP , bahkan dengan program lain yang berjalan pada platform non-Unix, seperti Microsoft Windows, selama program tersebut berbicara dalam protokol transfer yang sama. Fasilitas-fasilitas yang disediakan oleh mesin Unix, seperti rlogin, ssh, ftp, dan lain-lain, menggunakan socket sebagai sarana komunikasi mereka. Socket dibentuk dan digunakan dengan cara yang berbeda dengan proses pipes di Unix. Komunikasi socket terutama diciptakan untuk tujuan menjembatani komunikasi antara dua buah program yang dijalankan pada mesin yang berbeda. Tak usah khawatir, hal ini tentu saja berarti dua program pada mesin yang sama dapat juga saling berkomunikasi. Kelebihan lain dari komunikasi socket adalah mampu menangani banyak klien sekaligus (multiple clients).
Socket, Remote Procedure Call, dan Java Method Invocation
6
1.4
Mekanisme Komunikasi Socket
Gambar 1.1 : Mekanisme Komunikasi Socket
Setiap sirkuit komunikasi yang masuk dan keluar lapisan TCP dikenali secara unik dengan dua kombinasi angka, yang kemudian disebut sebagai socket. Socket terdiri atas alamat IP sebuah mesin dan nomor port yang digunakan software TCP. Baik mesin pengirim dan penerima memiliki socket. Karena IP address sifatnya unik dalam internetwork, dan nomor port bersifat unik untuk setiap mesin, maka berarti nomor socket juga bersifat unik dalam internetwork. Ini memungkinkan sebuah proses berkomunikasi dengan proses lain dalam jaringan. Daftar nomor port yang paling sering digunakan yang dipublikasikan oleh Internet Assigned Numbers Authority. Pada tabel berikut dapat dilihat sejumlah nomor port yang sering digunakan.
Tabel 1 : Nomor Port yang Digunakan TCP Port Number
1 5 7 9 11
Process Name
TCPMUX RJE ECHO DISCARD USERS
Description
TCP Port Service Multiplexer Remote Job Entry Echo Discard Active Users
Socket, Remote Procedure Call, dan Java Method Invocation
7
13 17 19 20 21 23 25 27 29 31 33 35 37 39 41 42 43 49 53 67 68 69 79 80 101 102 103 104 105 109 110 111 137 138 139 146 147 150 153 156 160 161 162 163 164 165 179
DAYTIME Quote CHARGEN FTP-DATA FTP TELNET SMTP NSW-FE MSG-ICP MSG-AUTH DSP PPS TIME RLP GRAPHICS NAMESERV NICNAME LOGIN DOMAIN BOOTPS BOOTPC TFTP FINGER HTTP HOSTNAME ISO-TSAP X400 X400SND CSNET-NS POP2 POP3 RPC NETBIOS-NS NETBIOS-DG NETBIOS-SS ISO-TP0 ISO-IP SQL-NET SGMP SQLSRV SGMP-TRAPS SNMP SNMPTRAP CMIPMANAGE CMIP-AGENT XNS-Courier BGP
Daytime Quotation of the Day Character generator File Transfer Protocol•Data File Transfer Protocol•Control Telnet Simple Mail Transfer Protocol NSW User System Front End MSG-ICP MSG Authentication Display Support Protocol Private Print Servers Time Resource Location Protocol Graphics Host Name Server Who Is Login Host Protocol Domain Name Server Bootstrap Protocol Server Bootstrap Protocol Client Trivial File Transfer Protocol Finger Hyper Text Transfer Protocol NIC Host Name Server ISO TSAP X.400 X.400 SND CSNET Mailbox Name Server Post Office Protocol v2 Post Office Protocol v3 Sun RPC Portmap NETBIOS Name Service NETBIOS Datagram Service NETBIOS Session Service ISO TP0 ISO IP SQL NET SGMP SQL Service SGMP TRAPS SNMP SNMPTRAP CMIP/TCP Manager CMIP/TCP Agent Xerox Border Gateway Protocol
Gambar 1.2 : Ilustrasi Socket
Socket, Remote Procedure Call, dan Java Method Invocation
8
BAB II REMOTE PROCEDURE CALL (RPC) 2.1
Pengertian Remote Procedure Call (RPC) Remote Procedure Call (RPC) adalah sebuah metode yang memungkinkan
kita untuk mengakses sebuah prosedur yang berada di komputer lain atau 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 ).. 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
menghubungi port yang
tahu
me- request kepada
harus
sebuah matchmaker pada
sebuah
mana, client bisa 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
Socket, Remote Procedure Call, dan Java Method Invocation
9
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.
2.2
Fungsi Remote Procedure Call (RPC) RPC digunakan untuk membangun aplikasi klien-server yang terdistribusi.
2.3
Kelebihan dan Kekurangan Remote Procedure Call (RPC)
1.
Kelebihan Remote Procedure Call (RPC)
•
Relatif mudah digunakan : Pemanggilan
remote
procedure
tidak
jauh
berbeda
dibandingkan
pemanggilan local procedure. Sehingga pemrogram dpt berkonsentrasi pd software logic , tidak perlu memikirkan low level details seperti socket, marshalling & unmarshalling . •
Relatively portable : Dikembangkan menggunakan RPC lebih mudah porting dibandingkan dengan soket.
•
Robust : Sejak th 1980-an RPC telah banyak digunakan dalam pengembangan mission-critical application yg memerlukan scalability, fault tolerance, & reliability .
2.
Kekurangan Remote Procedure Call (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 yang terpisah.
Socket, Remote Procedure Call, dan Java Method Invocation
10
2.4
Fitur dalam Remote Procedure Call (RPC)
1.
Batching Calls : mengijinkan klien untuk mengirim message calls ke server dalam jumlah besar secara berurutan.
2.
Broadcasting Calls : mengijinkan klien untuk mengirimkan paket data ke jaringan dan menunggu balasan dari network.
3.
Callback Procedures : mengijinkan server untuk bertindak sebagai klien dan melakukan PRC callback ke proses yang dijalankan klien.
4.
Select
Subrutin :
memeriksa
deskripsi
suatu
file dan
messages
dalamantrian untuk melihat apakah siap dibaca atau ditulis,atau ditahan. (mengijinkan server untuk menginterupsi suatu aktivitas.
2.5
Prinsip RPC dalam program Client-Server
Skema RPC ini dilakukan juga pada proses - proses yang running di komputer berlainan : •
Sebelum mekanisme RPC digunakan, data harus di-packaging ke dalam formattransimisi. Langkah ini dinamakan marshalling
•
Proxy bertanggung jawab untuk marshalling data, kemudian mengirimkan data dan meminta instans dari komponen (remote)
•
Stub menerima request, unmarshall data, dan memanggil method yang diminta. Kemudian proses mengembalikan nilai yang diinginkan .
2.6
Sejarah Remote Procedure Call (RPC) Gagasan RPC (Remote Procedure Call) kembali setidaknya sejauh 1976,
ketika itu dijelaskan dalam RFC 707. Salah satu kegunaan kerja pertama RPC adalah dengan Xerox dengan nama "Courier" pada tahun 1981. Implementasi populer pertama RPC di Unix adalah Sun RPC (sekarang disebut ONC RPC), digunakan sebagai dasar untuk NFS (Sun). Implementasi lainnya Unix awal Apollo Computer Network Computing System (NCS). NCS kemudian digunakan sebagai dasar dari DCE / RPC di OSF Distributed Computing's Environment (DCE). Satu dekade kemudian diadopsi Microsoft DCE / RPC sebagai dasar dari mekanisme RPC Microsoft (MSRPC), dan dilaksanakan DCOM di atasnya. Sekitar waktu yang sama (pertengahan 90's), Xerox PARC's ILU, dan Object Management Group CORBA, RPC
Socket, Remote Procedure Call, dan Java Method Invocation
11
menawarkan
paradigma
lain
berdasarkan
objek
didistribusikan
dengan
mekanisme warisan.
2.7
Langkah-langkah dalam RPC
1.
Prosedur client memanggil client stub
2.
Client stub membuat pesan dan memanggil OS client
3.
OS client mengirim pesan ke OS server
4.
OS server memberikan pesan ke server stub
5.
Server stub meng-unpack parameter-parameter untuk memanggil server
6.
Server mengerjakan operasi, dan mengembalikan hasilnya ke server stub
7.
Server stub mem-pack hasil tsb dan memanggil OS server
8.
OS server mengirim pesan (hasil) ke OS client
9.
OS client memberikan pesan tersebut ke client stub
10.
Client stub meng-unpack hasil dan mengembalikan hasil tersebut ke client
2.8
Mekanisme Komunikasi Remote Procedure Call (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.
Socket, Remote Procedure Call, dan Java Method Invocation
12
Gambar 2.1 : Alur Remote Procedure Call
Diagram diatas memberikan gambaran mengenai flow dari eksekusi dalam proses RPC dimana : Call RPC Message : Setiap pesan remote procedure panggilan berisi bidang bilangan bulat berikut unsigned untuk secara unik mengidentifikasi prosedur remote : •
Program Jumlah
•
Program nomor versi
•
Prosedur nomor
Tubuh pesan panggilan RPC mengambil formulir berikut : call_body struct { unsigned int rpcvers; unsigned int prog; unsigned int vers; unsigned int proc; opaque_auth Cred; opaque_auth verf; 1 parameter 2 parameter. };
Balas RPC Message : RPC protokol untuk pesan balasan bervariasi tergantung pada apakah pesan panggilan diterima atau ditolak oleh server jaringan. Pesan balasan untuk meminta berisi informasi untuk membedakan kondisi berikut : •
RPC melaksanakan pesan panggilan berhasil.
•
Pelaksanaan terpencil RPC tidak protokol versi 2. Tertinggi terendah dan didukung RPC nomor versi dikembalikan.
•
Program remote tidak tersedia pada sistem remote.
•
Program remote tidak mendukung nomor versi diminta. Tertinggi dan terendah nomor versi program yang didukung remote dikembalikan.
•
Jumlah prosedur yang diminta tidak ada. Ini biasanya sebuah protokol pemanggil-sisi atau kesalahan pemrograman.
Socket, Remote Procedure Call, dan Java Method Invocation
13
Pesan balasan RPC mengambil formulir berikut: enum reply_stat stat { MSG_ACCEPTED = 0, MSG_DENIED 1 = }; Protokol Terkait
Berikut ini adalah diagram yang akan menjelaskan secara rinci mengenai proses yang terjadi pada klien dan server dalam eksekusi suatu prosedur RPC :
Gambar 2.2 : Proses Klien Server dalam RPC
Berikut penjelasan dari diagram diatas : 1.
Klien memanggil prosedur stub lokal. Prosedur Stub akan memberikan parameter dalam suatu paket yang akan dikirim ke jaringan. Proses ini disebut sebagai marshalling.
Socket, Remote Procedure Call, dan Java Method Invocation
14
2.
Fungsi Network pada O/S (Operating system – Sistem Operasi) akan dipanggil oleh stub untuk mengirim suatu message.
3.
Kemudian Kernel ini akan mengirim message ke sistem remote. Kondisi ini dapat berupa connectionless atau connection-oriented.
4.
Stub pada sisi server akan melakukan proses unmarshals pada paket yang dikirim pada network.
5.
Stub pada server kemudian mengeksekusi prosedur panggilan lokal.
6.
Jika eksekusi prosedur ini telah selesai, maka eksekusi diberikan kembali ke stub pada server.
7.
Stub server akan melakukan proses marshals lagi dan mengirimkan message nilai balikan ( hasilnya ) kembali ke jaringan.
8.
Message ini akan dikirim kembali ke klien.
9.
Stub klien akan membaca message ini dengan menggunakan fungsi pada jaringan.
10.
Proses unmarshalled kemudian dilakukan pada message ini dan nilai balikan akan diambil untuk kemudian diproses pada proses lokal.
Proses diatas akan dilakukan berulang-ulang ( rekursif ) dalam pengeksekusian RPC dalam suatu remote sistem. Cara Keja Remote Procedure Call (RPC) Sebuah RPC analog dengan panggilan fungsi. Seperti pemanggilan fungsi, ketika sebuah RPC dibuat, argumen memanggil dilewatkan ke prosedur pemanggil remote dan menunggu respon yang akan kembali dari prosedur remote. Gambar 32.1 menunjukkan aliran kegiatan yang berlangsung selama panggilan RPC antara dua sistem jaringan. Klien membuat panggilan prosedur yang mengirimkan permintaan ke server dan menunggu. thread ini diblokir dari pengolahan sampai baik balasan diterima, atau kali keluar. Ketika permintaan tersebut tiba, server sebut pengiriman rutin yang melakukan layanan yang diminta, dan mengirimkan jawaban ke klien. Setelah panggilan RPC selesai, program klien terus berlanjut. RPC khusus mendukung aplikasi jaringan.
Socket, Remote Procedure Call, dan Java Method Invocation
15
Gambar 2.3 : Mekanisme Remote Procedure Calling
Sebuah prosedur remote secara unik diidentifikasi oleh triple : (program, nomor versi, prosedur angka) Jumlah Program mengidentifikasi prosedur remote kelompok terkait, yang masing-masing memiliki sejumlah prosedur yang unik. Suatu program dapat terdiri dari satu atau lebih versi. Setiap versi terdiri dari kumpulan prosedur yang tersedia untuk dipanggil dari jarak jauh. Nomor Versi memungkinkan beberapa versi protokol RPC akan tersedia secara bersamaan. Setiap versi berisi nomor aa prosedur yang bisa disebut jarak jauh. prosedur Masing-masing memiliki sejumlah prosedur.
Socket, Remote Procedure Call, dan Java Method Invocation
16
BAB III JAVA METHOD INVOCATION (JMI) 3.1
Pengertian Java Method Invocation (JMI) Java Method Invocation (JMI) atau Java Remote Method Invocation (JRMI)
adalah 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 seringkali 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.
Socket, Remote Procedure Call, dan Java Method Invocation
17
RMI menyediakan mekanisme dimana server dan client berkomunikasi danmemberikan informasi secara timbal balik. Aplikasi semacam ini seringkali disebut aplikasi objek terdistribusi.
3.2
Kelebihan dan Kekurangan Java Remote Method Invocation (JRMI)
•
Kelebihan RMI RMI mempunyai beberapa kelebihan yaitu kecepatan dan performa
•
Kelemahan RMI RMI mempunyai kekurangan dalam interopability (kemampuan dalam
melakukan operasi antar platform), kekurangan ini bisa dijelaskan karena RMI tidak memakai suatu standar yang resmi dalam protokol maupun skema data yang dipakai. Sehingga dalam penerapannya RMI yang dibuat dalam bahasa java hanya bisa dipanggil oleh aplikasi java. Demikian juga dengan RMI yang dibuat dengan .Net (remoting) hanya bisa dipanggil dari aplikasi .Net.
3.3
Mekanisme Komunikasi Java Method Invocation (JMI) Dalam model ini, sebuah proses memanggil method dari objek yang
terletak pada suatu host/computer remote. Dalam paradigma ini, penyedia layanan mendaftarkan dirinya dengan server direktori pada jaringan. Proses yang menginginkan suatu layanan mengontak server direktori saat runtime, jika layanan
tersedia,
maka referensi
ke layanan
akan diberikan. Dengan
menggunakan referensi ini, proses dapat berinteraksi dengan layanan tsb. Paradigma ini ekstensi penting dari paradigma RPC. Perbedaannya adalah objek yang memberikan layanan didaftarkan (diregister) ke suatu layanan direktori global, sehingga memungkinkan untuk ditemukan dan diakses oleh aplikasi yang meminta layanan tersebut. Contoh aplikasi untuk meremote pada teknik RMI (Remote Method Invocation)
menggunakan
teamviewer
untuk
meremote
computer
lain.
Teamviewer adalah suatu program yang cukup sederhana dan sangat mudah digunakan untuk beberapa keperluan terutama melakukan akses PC secara remote melalui internet.
Cara Meremote :
Socket, Remote Procedure Call, dan Java Method Invocation
18
Gambar 3.1 : Tampilan Utama TeamViewer
Tampilan utama TeamViewer, jika sudah tampil (Ready to connect (secure connection)) maka sudah siap melakukan koneksi ke PC lain, kemudian masukan ID PC klien jika koneksi berhasil maka akan muncul kotak "Password", isi password teamviewer PC yang akan anda remote. Jika berhasil maka akan tampil desktop PC yang diremote tersebut. Jika ingin melakukan File Transfer, maka pilih "File Transfer" pada bagian pilihan yang terlihat dibawah kotak ID, kemudian klik "Connect to partner".
Gambar 3.2 : TeamViewer Versi Baru
Jika ingin menggunakan password dan ID yang tetap maka cukup tempatkan kursor mouse pada bagian kotak password, maka akan tampil seperti gambar diatas, pilih "Set user definied password" kemudian masukan password yang anda inginkan. Hasilnya Setelah kita melakukan setting pada teamviewer dan setelah login dan memasukkan password tujuan dengan benar maka kita bisa mengakses computer yang kita remote secara penuh.
Socket, Remote Procedure Call, dan Java Method Invocation
19
DAFTAR PUSTAKA •
http://www.google.co.id/url? sa=t&source=web&cd=2&ved=0CCoQFjAB&url=http%3A%2F %2Fkambing.ui.ac.id%2Fbebas%2Fv06%2FKuliah%2FSistemOperasi %2FBUKU%2FSistemOperasi1.3.pdf&ei=4c55TdKCCcTNrQeMlOXJBQ&usg=AFQjCNGRAHEDLmpojgx AFnw0sXHv0fA0qA
•
http://blog.ub.ac.id/niken/tcp-udp-port-socket-tcp-header-handshake/
•
http://www.google.co.id/url? sa=t&source=web&cd=20&ved=0CE4QFjAJOAo&url=http%3A%2F %2Flecturer.eepis-its.edu%2F~arna%2FDiktat_SO%2F3.Proses %2520Proses.pdf&rct=j&q=socket%20dalam%20materi%20sistem %20operasi&ei=0Rt7TdnxMcfqrAe4lOTPBQ&usg=AFQjCNEZyyfe5dhrnIiv Q-T4a7KFf4muNg&cad=rja
•
http://www.google.co.id/url? sa=t&source=web&cd=2&ved=0CBsQFjAB&url=http%3A%2F %2Flecturer.eepis-its.edu%2F~arna%2FDiktat_SO%2F3.Proses
Socket, Remote Procedure Call, dan Java Method Invocation
20
%2520Proses.pdf&ei=AyN7TfDcEMjorAfJ7KWBQ&usg=AFQjCNEZyyfe5dhrnIivQ-T4a7KFf4muNg •
http://www.google.co.id/url? sa=t&source=web&cd=7&ved=0CDgQFjAG&url=http%3A%2F %2Fritzkal.files.wordpress.com%2F2010%2F02%2Fmateri1.ppt&ei=AyN7TfDcEMjorAfJ7KWBQ&usg=AFQjCNFSQLfs3ET82EhUNm9s-pEw98HmEg
•
http://sutiyonorms.blogspot.com/2011/01/materi-kuliah-sistemterdistribusi.html
•
http://www.scribd.com/doc/48015302/Materi-SO
•
http://www.google.co.id/url? sa=t&source=web&cd=16&ved=0CDMQFjAFOAo&url=http%3A%2F %2Felearning.amikom.ac.id%2Findex.php%2Fdownload%2Fmateri %2F555079-SI024-59%2F2010%2F12%2F20101201_Modul4_Proses.ppt&ei=SCN7Tf7lHMfirAfq__jFBQ&usg=AFQjCNEhSHcfOK6rhiZ 3IIpPDYLHnAUA2g
•
http://www.google.co.id/url? sa=t&source=web&cd=5&ved=0CC4QFjAE&url=http%3A%2F %2Felearning.amikom.ac.id%2Findex.php%2Fdownload%2Fmateri %2F555079-DT01913%2F2010%2F03%2F20100325_Process.pdf&rct=j&q=java%20method %20invocation%20pada%20materi%20sistem %20operasi&ei=2TR7TfiRBorprAeqtdj_Bw&usg=AFQjCNHo7iHzsLmpGAz 2KLT-aOsvE82uJA&cad=rja
•
http://www.google.co.id/url? sa=t&source=web&cd=4&ved=0CCcQFjAD&url=http%3A%2F %2Flecturer.eepis-its.edu%2F~arna%2FDiktat_SO%2F3.Proses %2520Proses.pdf&rct=j&q=java%20method%20invocation%20pada %20materi%20sistem %20operasi&ei=2TR7TfiRBorprAeqtdj_Bw&usg=AFQjCNEZyyfe5dhrnIivQT4a7KFf4muNg&cad=rja
•
http://www.google.co.id/url? sa=t&source=web&cd=28&ved=0CEAQFjAHOBQ&url=http%3A%2F %2Fwww.freewebs.com%2Ftekomitn%2FMateri%2FSist %2520Terdistribusi
Socket, Remote Procedure Call, dan Java Method Invocation
21
%2FCORBA.pdf&ei=4TV7TZrtGcnZrQfNw6nFBQ&usg=AFQjCNH5frGEdz dB4KKHGgEyVabsKwab_A •
http://www.google.co.id/url? sa=t&source=web&cd=27&ved=0CDkQFjAGOBQ&url=http%3A%2F %2Fidkf.bogor.net%2Flinux-heboh%2FSeptember%25202001%2Finternet1-pengantarinternet.pdf&ei=4TV7TZrtGcnZrQfNw6nFBQ&usg=AFQjCNGNvgDbK4ikxJ 9Xwvd6Uhz8QiF01w
•
http://www.google.co.id/url? sa=t&source=web&cd=7&ved=0CEEQFjAG&url=http%3A%2F %2Felearning.amikom.ac.id%2Findex.php%2Fdownload%2Fmateri %2F555079-SI024-59%2F2010%2F12%2F20101201_Modul4_Proses.ppt&rct=j&q=mekanisme%20komunikasi%20socket%20dalam %20materi%20sistem %20operasi&ei=jZh7TZbvN4fprQfz5pTMBQ&usg=AFQjCNEhSHcfOK6rhiZ 3IIpPDYLHnAUA2g&cad=rja
•
http://ernawidyasari.blogspot.com/2011/01/rpc-vs-rmi.html
•
http://www.google.co.id/url? sa=t&source=web&cd=15&ved=0CDgQFjAEOAo&url=http%3A%2F %2Fposrakyat.files.wordpress.com%2F2010%2F04%2Fpertemuan-3manajemen-proses.ppt&rct=j&q=rmi%20vs %20rpc&ei=9HqATbGpCMfirAeyxvm5Bw&usg=AFQjCNFqW7XvwUL58Dm_6yNMhOfDAKokg&cad=rja
•
http://forum.hmif.org/showthread.php?tid=838
•
http://blog.uad.ac.id/norman2008/2010/11/06/tugas-sistem-terdistribusi-rpcvs-rmi-norman-ansori_08016018/
•
http://iinpunyablog.blogspot.com/2010/03/rmi-dan-rpc.html
Socket, Remote Procedure Call, dan Java Method Invocation
22