Selasa, 11 Desember 2012
post tes (v-class) 5KA32 Sistem Terdistribusi
1. Jelaskan tentang sistem operasi terdistribusi !
2. Sebutkan penerapan procedure RMI dan RPC !
3. Contoh dari penerapan hardware terdistribusi !
1. Sistem Operasi Terdistribusi
Sistem terdisitribusi merupakan kumpulan autonomous computers yang terhubung melalui
sistem jaringan computer dan dilengkapi dengan sistem software tedistribusi untuk
membentuk fasilitas computer terintegrasi.
• Sebuah sistem dimana komponen software atau hardware-nya terletak di dalam jaringan
komputer dan saling berkomunikasi menggunakan message pasing.
• Sebuah sistem yang tersusun oleh dua atau lebih komputer dan memiliki koordinasi proses
melalui pertukaran pesan sinkron atau asinkron
Proses:
- Dijalankan secara bersamaan (execute concurrently)
- interaksi untuk bekerjasama dalam mencapai tujuan yang sama
- mengkoordinasikan aktifitas dan pertukaran informasi yaitu pesan
yang dikirim melalui jaringan komunikasi
2. a. RMI (Remote Method Invocation)
RMI biasa digunakan oleh para programer Java untuk dapat memanggil method pada jarak jauh. RMI diartikan sebagai cara programmer Java untuk membuat program aplikasi Java to Java yang terdistribusi. Program-program yang menggunakan RMI bisa menjalankan metode secara jarak jauh, sehingga program dari server bisa menjalankan method di komputer client, dan begitu juga sebaliknya. Java RMI yang ada pada bahasa Java telah didesain khusus sehingga hanya bisa bekerja pada lingkungan Java. Hal ini berbeda dengan
sistem RMI lainnya, misalnya CORBA, yang biasanya didesain untuk bekerja pada lingkungan yang terdiri dari banyak bahasa dan heterogen. Pemodelan objek pada CORBA tidak boleh mengacu pada bahasa tertentu. Sistem RMI terdiri atas tiga layer /lapisan, yaitu :
- stub/skeleton layer, yaitu stub pada sisi client (berupa proxy), dan skeleton pada sisi server. - remote reference layer, yaitu perilaku remote reference ( misalnya pemanggilan kepada suatu objek).
- transport layer, yaitu set up koneksi, pengurusannya dan remote object tracking.
Batas antar masing-masing layer disusun oleh interface dan protocol tertentu, yaitu tiap layer bersifat independen terhadap layer lainnya, dan bisa diganti oleh implementasi alternatif tanpa mengganggu layer lainnya. Sebagai contoh, implementasi transport yang digunakan RMI adalah yang berbasis TCP (menggunakan Java socket), tapi bisa digantikan dengan menggunakan UDP.
Sebuah client yang menjalankan method pada remote server object sebenarnya menggunakan stub atau proxy yang berfungsi sebagai perantara untuk menuju remote server object tersebut. Pada sisi client, reference ke remote object sebenarnya merupakan reference ke stub lokal. Stub ini adalah implementasi dari remote interface dari sebuah remote object, dan meneruskan panggilan ke server object melalui remote reference layer. Stub dibuat dengan menggunakan kompiler rmic.
Supaya sebuat panggilan method tersebut bisa sampai di remote object, panggilan tersebut diteruskan melalui remote reference layer. Panggilan tersebut sebenarnya diteruskan ke skeleton yang berada di sisi server. Skeleton untuk remote object ini akan meneruskan panggilan ke kelas remote object implementation yang menjalankan method yang sebenarnya. Jawaban, atau return value dari method tersebut akan dikirim melalui skeleton, remote reference layer dan transport layer pada sisi client, lalu melalui transport layer, remote reference layer, dan stub pada sisi client. Teknik dalam RMI salah satunya adalah dynamic stub loading, yang berfungsi untuk membuat client me-load stub yang belum ada di komputernya. Stub mengimplementasi remote interface yang sama dengan yang diimplementasikan oleh remote object.
Dengan RMI, komputer client bisa memanggil remote object yang berada di server. Server juga bisa menjadi client dari suatu remote object, sehingga komputer client bisa menjalankan method-method tertentu di komputer server. Dengan menggunakan RMI, program yang dijalankan di komputer client bisa berupa applet, maupun berupa aplikasi.
Program RMI memerlukan remote interface, kelas-kelas implementasi dari remote interface tesebut (implementation class), dan program rmiregistry yang sedang dijalankan di komputer server (rmi registry terdapat dalam paket JDK).
Untuk mengimplementasikan interface tersebut maka diperlukan class yang dapat mengeksekusinya. Implementation class merupakan kelas yang mengimplementasikan remote interface. Implementation class perlu mendefinisikan konstruktor untuk remote object, sekaligus membuat instance dari remote object tersebut. Implementation class juga menyediakan implementasi dari method yang bisa dijalankan secara remote. Selain itu implementation class juga perlu membuat dan menjalankan Security Manager. Tambahan lagi, implementation class juga harus me-register atau mendaftarkan paling tidak sebuah remote object pada RMI remote object registry. Pada program implementation class, semua argumen untuk remote method dan semua return value dari remote method bisa berupa object bertipe apa saja, asal object-object tersebut mengimplementasi interface java.io.Serializable.
Untuk remote objects, penyampaiannya dilakukan dengan pass by reference. Referensi untuk suatu remote object sebenarnya merupakan referensi untuk sebuah stub, yaitu proxy pada sisi client untuk remote object. Pada method main di implementation class, diperlukan pembuatan dan pemasangan sebuah security manager, yang bisa berupa RMI Security Manager, ataupun security manager yang sebelumnya telah didefinisikan dulu secara khusus oleh sang programmer. Security manager ini diperlukan untuk menjaga agar kelas-kelas yang dipakai tidak melakukan operasi-operasi yang bisa mengancam keamanan sistem. Jika dalam method main tidak terdapat security manager, RMI tidak bisa digunakan karena kelas-kelas RMI tidak akann diijinkan untuk di-load.
Protokol yang dipakai oleh RMI adalah Java Object Serialization dan HTTP. Protokol Object Serialization digunakan untuk meneruskan panggilan client dan mentransfer data. Protokol HTTP digunakan untuk mem-"POST" sebuah remote method invocation dan mengembalikan data keluaran untuk situasi ketika komputer client dan server dipisahkan oleh firewall. Contoh implementasi dari RMI di antaranya :
1. Perusahaan programming Avitek yang berlokasi di Amerika Serikat, membuat program sistem accounting untuk intranet yang memungkinkan client untuk meng-update dan mengubah data dengan mudah. Tujuan dari proyek ini adalah untuk membuat dan mendukung pembuatan dari bukti nyata untuk konsep penggunaan Java yang dikombinasikan dengan database.
2. Perusahaan CEAS Consulting yang menyediakan jasa custom reengineering dan otomasi proses untuk perusahaan-perusahaan manufakturing dan teknik, telah membuat program sistem terdistribusi untuk client mereka.
b. RPC (Remote Procedure Call)
Yang dimaksud disini 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 dilakukan 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 ke dalam 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.
RPC mengabstraksi interface komunikasi ke level pemanggilan procedure. Programmer tidak akan menangani socket secara langsung, dan seolah-olah memanggil prosedur lokal, padahal argumen dari prosedur local tersebut dipaketkan dan dikirimkan ke tujuan jarak jauh. Tapi RPC tidak bisa langsung dipakai dalam sistem objek terdistribusi. Dalam sistem objek terdistribusi, diperlukan komunikasi antara objek objek yang ada di level program, yang berada dibanyak tempat.
3. Penerapan Hardware Terdistribusi
Hardware atau perangkat keras komputer adalah merupakan bagian fisik komputer. Dimana hardware terdiri atas beberapa komponen yaitu input device, alat pemroses, storage, dan output device. Untuk sistem terdistribusi sebagai contoh kita bisa saling berbagi pakai fasilitas seperti Scanner, CD-ROM dan Printer.
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar