rpc & rmi

Download RPC & RMI

Post on 04-Jul-2015

812 views

Category:

Documents

12 download

Embed Size (px)

TRANSCRIPT

BAB I PENDAHULUAN 1.1 Sistem Operasi Sistem operasi merupakan sebuah penghubung antara pengguna dari komputer dengan perangkat keras komputer. Sebelum ada sistem operasi, orang hanya mengunakan komputer dengan menggunakan sinyal analog dan sinyal digital. Seiring dengan berkembangnya pengetahuan dan teknologi, pada saat ini terdapat berbagai sistem operasi dengan keunggulan masing-masing. Untuk lebih memahami sistem operasi maka sebaiknya perlu diketahui terlebih dahulu beberapa konsep dasar mengenai sistem operasi itu sendiri. Pengertian sistem operasi secara umum ialah pengelola seluruh sumberdaya yang terdapat pada sistem komputer dan menyediakan sekumpulan layanan (system calls) ke pemakai sehingga memudahkan dan menyamankan penggunaan serta pemanfaatan sumber-daya sistem komputer. 1.2 Sistem Terdistribusi SisTer terdiri dari dua kata, yaitu Sistem dan Terdistribusi. Sistem merupakan sekumpulan elemen yang saling berhubungan satu dengan lainnya dan membentuk satu kesatuan untuk menyelesaikan satu tujuan yang spesifik atau menjalankan seperangkat fungsi. Adapun terdistribusi berasal dari kata distribusi yang merupakan lawan kata sentralisasi, yang artinya penyebaran, sirkulasi, penyerahan, pembagian menjadi bagian-bagian kecil. Berawal dari pengertian kata-kata pembentuknya, SisTer dapat didefinisikan sebagai suatu kesatuan dari elemen-elemen yang saling berinteraksi secara sistematis dan teratur untuk mendistribusikan data (Maseleno, 2003), informasi, proses (Maseleno, 2003), objek dan layanan (LiteracyNet, 2005) dari dan kepada pengguna yang terkait di dalmnya. Adapun infrastruktur utama dari aplikasi SisTer ini, meliputi antara lain : a. Jaringan komputer baik dalam skala local (LAN), metropolitan (MAN), skala luas (WAN) maupun skala global (Internet).

b. Beragam perangkat keras dan lunak, serta pengguna yang berada dan saling terkait dalam sistem jaringan yang membentuknya. Penerapan SisTer merupakan bentuk usaha untuk memanfaatkan secara optimal sistem jaringan komputer yang dibangun di dalam perusahaan. SisTer dibangun dengan tujuan untuk :a. Mengatasi bottleneck, di mana tumpukan pekerjaan pada suatu terminal

dapat didistribusikan ke terminal-terminal lain. b. Mendukung layanan yang tersebar, misalnya layanan penjualan dengan menggunakan terminal-terminal yang tersebar di berbagai tempat.c. Mendukung sistem kerja jarak jauh, misalnya sistem kerja small office

home office yang memungkinkan karyawan untuk bekerja dari rumah sehingga tidak harus datang ke kantor.d. Memudahkan kerja kelompok, dengan memudahkan data sharing dan

tetap memungkinkan kerja sama walaupun letak anggota kelompok berjauhan. 1.3 Client-Server Dengan makin berkembangnya teknologi jaringan komputer, sekarang ini ada kecenderungan sebuah sistem yang menggunakan jaringan untuk saling berhubungan. Dalam jaringan tersebut, biasanya terdapat sebuah komputer yang disebut server, dan beberapa komputer yang disebut client. Server adalah komputer yang dapat memberikan service ke server, sedangkan client adalah komputer yang mengakses beberapa service yang ada di client. Ketika client membutuhkan suatu service yang ada di server, dia akan mengirim request kepada server lewat jaringan. Jika request tersebut dapat dilaksanakan, maka server akan mengirim balasan berupa service yang dibutuhkan untuk saling berhubungan menggunakan Socket. Karakteristik Server :1. Pasif. 2. Menunggu request. 3. Menerima request, memproses mereka dan mengirimkan balasan

berupa service.

Karakteristik Client :1. Aktif. 2. Mengirim request. 3. Menunggu dan menerima balasan dari server.

BAB II PEMBAHASAN 2.1 Socket Socket adalah salah satu titik akhir dari jalur komunikasi dua arah antara dua program yang berjalan pada jaringan dengan protokol TCP/IP atau UDP. Socket terhubung pada sebuah nomor port sehingga lapisan TCP dapat mengidentifikasi aplikasi di mana pengiriman data ditujukan. Socket merupakan sebuah aplikasi yang dibuat, dikontrol antarmuka sistem operasi di mana aplikasi dapat saling mengirim dan menerima pesan dari atau pada aplikasi yang lain (Kevin, 2004, hal.3).

Gambar 1. Gambar proses kerja socket

(Sumber : Kevin, 2004, hal. 3) Definisi tentang socket sebagai berikut (Shuttleworth, 2003, hal. 5) : a. Mengizinkan suatu proses unik untuk berkomunikasi satu dengan yang lain. b. Memberitahukan proses mana untuk menulis dan membaca. c. Komunikasi pada mesin yang sama, jaringan dan internet.d. Komunikasi dua arah membuatnya cocok untuk model client

server. e. Dibentuk tahun 1980 oleh Berkeley Unix Distribution. Pada umumnya, sebuah server merupakan sebuah komputer yang khusus dan memiliki sebuah socket yang terhubung pada sebuah nomor port yang khusus. Server hanya menunggu socket untuk menerima permintaan koneksi (request) dari sebuah client (passive open). Client mengetahui nama mesin tempat server

dijalankan dan nomor port tempat server tersebut dihubungkan. Untuk membuat koneksi permintaan, client mencoba untuk melakukan koneksi dengan server pada mesin server dan port (active open).

Gambar 2. Client meminta koneksi

Apabila semuanya berjalan dengan baik, maka server menerima koneksi (virtual circuit). Saat penerimaan, server membuka socket baru yang terhubung pada port yang berbeda. Untuk dapat melanjutkan penerimaan dari socket awal untuk koneksi permintaan saat melayani kebutuhan client yang terhubung, dibutuhkan sebuah socket baru (dengan nomor port yang berbeda).

Gambar 3. Respons server

Pada sisi client, jika koneksi diterima, sebuah socket berhasil dibentuk dan client dapat menggunakan socket tersebut untuk berkomunikasi dengan server. Client dan server sekarang dapat berkomunikasi untuk menulis atau membaca dari socket tersebut.

Gambar 4. Proses transaksi TCP

Ada dua macam protokol yang dapat digunakan pada socket, yaitu :a. i.

TCP bersifat connection-oriented dan reliable. Connection-oriented, untuk melakukan komunikasi diperlukan koneksi terlebih dahulu. Reliable, menjamin sampainya paket data ke komputer tujuan dan melakukan pengecekan. Apabila ada paket data yang hilang atau rusak maka socket TCP akan meminta paket data yang rusak atau hilang tersebut sampai semua paket data yang diterima dalam kondisi yang baik.

ii.

Gambar 5. Komunikasi client - server

b.

UDP bersifat connectionless dan unreliable.

Beberapa nomor port yang sering digunakan, antara lain port 21 (FTP), 23 (Telnet), 25 (SMTP), 69 (TFTP), 80 (HTTP), dan 161 (SNMP). Ada beberapa langkah agar sebuah aplikasi client-server dapat saling berkomunikasi, yaitu :

2.1.1

Tipe Socket Pada saat sebuah socket terbentuk, program harus menetapkan domain

address dan tipe socket-nya. Dua buah proses dapat saling berkomunikasi satu dengan yang lainnya hanya jika tipe dan domain-nya sama. Ada dua domain address umum yang digunakan, yaitu :a. Unix domain adalah socket yang tidak dapat dijangkau dari internet

secara langsung, tetapi bersama dengan datangnya permintaan server.b. Internet domain adalah dua proses yang berjalan pada dua buah host di

komunikasi internet. Alamat socket dari internet domain terdiri atas internet address dari mesin host. Selain itu, setiap socket membutuhkan nomor port pada host-nya. Nomor port berupa 16 bit unsigned integers. Angka yang rendah disediakan dalam Unix untuk layanan standar. Sebagai contoh, nomor port untuk FTP server adalah 21. Hal ini penting bahwa layanan standar akan berada pada port yang sama pada semua komputer sehingga client akan mengetahui alamatnya. Well-known port ada 65536 nomor port yang tersedia. Untuk tipe socket ada dua macam, yaitu Stream socket dan Datagram socket (www.redbrick.dcu.ie/~vamprus/sockets.html).a. Stream socket adalah komunikasi continuous stream dari karakter

(menggunakan protokol TCP).b. Datagram socket adalah pembacaan seluruh pesan dengan segera

(menggunakan protokol UDP).

Gambar 6. Penggunaan socket untuk komunikasi dalam jaringan

Dalam penulisannya, socket dituliskan berupa rangkaian alamat IP dan alamat port, seperti contoh gambar di atas, Host A berperan sebagai Client, dan Host B sebagai Server. Host A mempunyai alamat IP 192.168.5.1 menggunakan port 3000 dan meminta layanan dari Host B yang mempunyai alamat IP 192.168.5.200 dengan port 25. Dalam proses ini host A bisa dituliskan dengan 192.168.5.1:3000 yang melakukan hubungan dengan host B dengan identitas 192.168.5.240:25.2.2 RPC (Remote Procedure Call)

Remote Procedure Call (RPC) memungkinkan suatu komponen aplikasi pada suatu komputer dapat menggunakan komponen (bisa berupa function) yang dimiliki pada komputer lainnya. Dengan mekanisme seperti ini komponen aplikasi pada suatu komputer tidaklah harus memiliki sendiri keseluruhan fungsionalitas yang dibutuhkan, karena dapat menggunakan fungsionalitas yang dimiliki oleh komponen aplikasi komputer lainya yang digunakan secara Remote. RPC menyembunyikan detail implementasi komunikasi jaringan seperti penentuan protokol komunikasi, port yang digunakan, streaming serta hal-hal yang harus dispesifikasikan jika dilakukan pengembangan aplikasi menggunakan low level Socket / Socket. Contoh sederhana untuk menganalogikan definisi RPC yaitu terdapat 2 buah komputer, server dan client di dalam suatu share network yang ditunjukan seperti gambar di bawah ini :

Gambar 7. Simple invoking methods

Pada gambar diatas dapat dilihat bahwa di sisi server terdapat sebuah services (method) untuk menghitung luas persegi yang memiliki 2 inputan parameter. Ada sebuah Client yang membutuhkan suatu method untuk menghitung luas persegi dapat menggunakan method LuasPersegi(float p, float l) yang terdapat di sisi server. Client mengirimkan parameter (passing parameter) ke server, Server akan melakukan perhitungan kemudian hasil perhitungan tersebut akan di kirimkan lagi k

Recommended

View more >