• Tidak ada hasil yang ditemukan

Bab5komunikasi

N/A
N/A
Protected

Academic year: 2017

Membagikan "Bab5komunikasi"

Copied!
11
0
0

Teks penuh

(1)

BAB V

KOMUNIKASI PADA SISTEM TERDISTRIBUSI

TIK :

Setelah mengikuti kuliah ini mahasiswa Dapat : 1. Memahami sistem komunikasi terdistribusi

2. Mengetahui prinsip-prinsip dan layer protokol serta metode komunikasi diantara proses-proses yang terjadi pada sistem terdistribusi

3. Mengenal konsep RPC dan RMI

4. Mengeatahui konsep objek terdistribusi dan object interface

A. Materi

5.1. Pendahuluan

[image:1.595.238.446.288.368.2]

Pada bab ini akan dibahas bagaimana komunikasi antara object2 dalam sistem terdistribusi, khusus nya dengan menggunakan RMI (Remod Method Invokation) dan RPC (Remote Procedure Call). RMI dan RPC berbasiskan metode request dan reply.

Gambar 5.1. Model komunikasi dan implementasi layer

5.2. Protokol

Protokol adalah sebuah aturan atau standar yang mengatur atau mengijinkan terjadinya hubungan, komunikasi, dan perpindahan data antara dua atau lebih titik komputer. Protokol dapat diterapkan pada perangkat keras, perangkat lunak atau kombinasi dari keduanya. Pada tingkatan yang terendah, protokol mendefinisikan koneksi perangkat keras.

Dahulu, komunikasi antar komputer dari vendor yang berbeda adalah sangat sulit dilakukan, karena mereka mengunakan protokol dan format data yang berbeda-beda. Sehingga International Standards Organization (ISO) membuat suatu arsitektur komunikasi yang dikenal sebagai Open System Interconnection (OSI), model yang mendefinisikan standar untuk menghubungkan komputer-komputer dari vendor-vendor yang berbeda. Model-OSI tersebut terbagi atas 7 layer.

[image:1.595.186.487.572.750.2]
(2)

Layer-layer tersebut disusun sedemikian sehingga perubahan pada satu layer tidak membutuhkan perubahan pada layer lain. Layer teratas (5, 6 and 7) adalah lebih cerdas dibandingkan dengan layer yang lebih rendah; Layer Application dapat menangani protocol dan format data yang sama yang digunakan oleh layer lain, dan seterusnya. Jadi terdapat perbedaan yang besar antara layer Physical dan layer Aplication.

Suatu permintaan, dihasilkan dari atas (contohnya Application Layer) diteruskan keenam layer di bawahnya yang setiap layer memiliki tugasnya masing - masing.

1. Physical Layer

Ini adalah layer yang paling sederhana berkaitan dengan electrical (dan optical) koneksi antar peralatan. Data biner dikodekan dalam bentuk yang dapat ditransmisi melalui media jaringan, sebagai contoh kabel, transceiver dan konektor yang berkaitan dengan layer Physical. Peralatan seperti repeater, hub dan network card adalah berada pada layer ini.

2. Data-link Layer

Layer ini sedikit lebih "cerdas" dibandingkan dengan layer physical, karena menyediakan transfer data yang lebih nyata. Sebagai penghubung antara media network dan layer protocol yang lebih high-level, layer data link bertanggung-jawab pada paket akhir dari data binari yang berasal dari level yang lebih tinggi ke paket diskrit sebelum ke layer physical. Akan mengirimkan frame (blok dari data) melalui suatu network.. Ethernet (802.2 & 802.3), Tokenbus (802.4) dan Tokenring (802.5) adalah protocol pada layer Data-link.

3. Network Layer

Tugas utama dari layer network adalah menyediakan fungsi routing sehingga paket dapat dikirim keluar dari segment network lokal ke suatu tujuan yang berada pada suatu network lain. IP, Internet Protocol, umumnya digunakan untuk tugas ini. Protocol lainnya seperti IPX, Internet Packet eXchange. Perusahaan Novell telah memprogram protokol menjadi beberapa, seperti SPX (Sequence Packet Exchange) & NCP (Netware Core Protocol). Protokol ini telah dimasukkan ke sistem operasi Netware. Beberaoa fungsi yang

mungkin dilakukan oleh Layer Network ;

 Membagi aliran data biner ke paket diskrit dengan panjang tertentu  Mendeteksi Error

 Memperbaiki error dengan mengirim ulang paket yang rusak  Mengendalikan aliran

4. Transport Layer

Layer transport data, menggunakan protocol seperti UDP, TCP dan/atau SPX (Sequence Packet eXchange, yang satu ini digunakan oleh NetWare, tetapi khusus untuk koneksi berorientasi IPX). Layer transport adalah pusat dari mode-OSI. Layer ini menyediakan transfer yang reliable dan transparan antara kedua titik akhir, layer ini juga menyediakan multiplexing, kendali aliran dan pemeriksaan error serta memperbaikinya.

5. Session Layer

(3)

Stream Protocol). PAP (Printer Access Protocol), yang terdapat pada printer Postscript untuk akses pada jaringan AppleTalk.

6. Presentation Layer

Layer presentation dari model OSI melakukan hanya suatu fungsi tunggal: translasi dari berbagai tipe pada syntax sistem. Sebagai contoh, suatu koneksi antara PC dan mainframe membutuhkan konversi dari EBCDIC character-encoding format ke ASCII dan banyak faktor yang perlu dipertimbangkan. Kompresi data (dan enkripsi yang mungkin) ditangani oleh layer ini.

7. Application Layer

[image:3.595.125.561.250.610.2]

Layer ini adalah yang paling cerdas , gateway berada pada layer ini. Gateway melakukan pekerjaan yang sama seperti sebuah router, tetapi ada perbedaan diantara mereka. Layer Application adalah penghubung utama antara aplikasi yang berjalan pada satu komputer dan resources network yang membutuhkan akses padanya.

Gambar 5.3. Open Systems Interconnection (OSI) Reference Model

5.3. Network Protocol

Middleware dan aplikasi terdistribusi di implementasikan diatas protokol network.Protocol diimplementasikan dalam beberapa lapisan (layer).

[image:3.595.248.433.678.776.2]
(4)

Midleware merupakan Sekumpulan perangkat lunak / software aplikasi yang terdiri dari sekumpulan server yang memungkinkan beberapa proses berjalan dalam satu computer atau lebih untuk saling bekerja sama dan berinteraksi dalam suatu jaringan computer.

Tipe Midleware :

1. ORBS ( Object Request Brokers ) 2. RPCS (Remote Protocol Control ) 3. TPS ( Transaction Processing )

4. Moms ( Message Oriented Midleware )

Keterangan.

1. ORBS ( Object Request Brokers )

 Memungkinkan dari object – object yang merupakan bagian dari suatu aplikasi lainnya dalam jaringan koputer yang beragam.

 Contoh : CORBA (Commont Object Request Broker ) RMI (Remote Machine Inovation )

2. RPCS (Remote Protocol Control )

 Memungkinkan logika dari aplikasi utk didistribusikan kedalam suatu daringan computer dan dapat dieksekusi seperti mengeksekusi aplikasi computer kedalam computer local.

5. TPS ( Transaction Processing )

 Untuk memonitoring pemberian pelayanan penghubung serta mempermudah pembuatan aplikasi & memantau transaksi.

6. Moms ( Message Oriented Midleware )

 Pertukaran alat data dalam computer yang bias diimplementasikan dalam berbagai aplikasi.

Layer protocol pada Internet a. TCP dan UDP

TCP

TCP ( Transport Control Protocol) dan UDP (User Datagram Protocol) adalah protokol transport yang berada di atas lapisan Internet Protocol (IP).

TCP adalah protocol yang handal, TCP dapat memastikan data yang dikirimkan sampai ke tujuan begitu juga sebaliknya.

TCP menambahkan beberapa prosedur diatas layer internet protocol untuk memastikan reliabilitas transport data :

 Sequencing

Pada setiap transmisi data (paket) diberi nomor urut. Sehingga pada titik tujuan tidak ada segmen yang diterima sampai semua segmen pada urutan bawah belum di terima.

 Flow Control

Pengirim tidak akan membanjiri penerima.Karena pengiriman didasarkan pada periode acknowledgment yang di terima oleh pengirim yang berasal dari penerima.

 Retrasnmission dan duplicate handling

Apabila segmen tidak mendapatkan acknowledge dari penerima sampai waktu timeout yang ditentukan terlampaui maka pengirim akan mengirim ulang. Berdasarkan nomor urut penerima data dapat mendeteksi dan menolak kalau terjadi duplikasi.

 BuFering

(5)

 Checksum

Setiap segment membawa checksum. Apabila checksum segmen yang di terima tidak sesuai maka paket data tersebut akan di drop (dan kemudian akan di transmit ulang)

UDP

UDP tidak memberikan garansi seperti halnya yang di berikan oleh TCP.

 UDP tidak memberikan garansi terhadap pengiriman data

Pada Internet Protocol paket data dapat drop karena suatu hal contohnya jaringan yang rusak, UDP tidak mempunyai mekanisme untuk menanggulangi hal tersebut.

 Kalau ingin menggunakan UDP sebagai protocol pengiriman yang handal, maka mekanisme kehandalan yang diinginkan di lakukan pada layer aplikasi.

b. Komunikasi Request – Reply

Komunikasi antara proses dan objek pada sistem terdistribusi dilakukan melalui message passing.

Gambar 5.5. Komunikasi Request – Reply

Client melakukan :

1. Mengirim (request) pesan ke server 2. Menerima hasil (reply dari server) Server melakukan :

1. Penerimaan pesan (request) dari client 2. Mengeksekusi permintaan dari client 3. Mengirim hasil (reply) ke client.

5.4. RPC dan RMI

(6)

Gambar 5.6. RPC dan RMI berada pada Middleware RMI (Remote Method Invocation)

Gambar 5.7. Ilustrasi implementasi RMI

Komponen2 dalam RMI (dalam gambar):  Object A (client) : meminta layanan

Object B (server) : menghantarkan layananProxy for B

- Ketika object A mempunyai remote reference ke object B, maka akan timbul objek Proxy B pada host object A. Proxy terbuat ketika remote object reference digunakan pertama kali

- Proxy adalah perwakilan objek yang berada pada remote, dengan kata lain ketika terjadi invokasi dari A ke B ditangani seolah-olah hanya mengakses Proxy B.

- Ketika invokasi terjadi proxy menggunakan metode marshals untuk membungkus pesan yang akan dikirim ke server. Dan setelahmenerima hasil dari server proxy menggunakan metode unmarshal(membuka bungkus) untuk kemudian diteruskan ke client (ObjectA)

Skeleton for object B

- Pada sisi server, terdapat object kerangka (skeleton) yang berhubungan ke class, kalau object pada class tersebut dapat diakses oleh RMI.

- Skeleton menerima pesan kemudian melakukan unmarshal dan meneruskan ke method object yang dituju. Dan kemudian menunggu hasil dari object B dan kemudian membungkus hasil (unmarshal) dan kemudian dikirimkan ke client (Objec A).

(7)

corresponding method ( method pada skeleton yang berfungsi untuk berkomunikasi dengan object).

Communication Modul (Modul Komunikasi)

- Communication modul pada client atau server bertanggung jawab dalam pertukaran pesan yang dilakukan melalui metode request dan reply.

Remote Reference Module

- Bagian ini bertugas untuk menterjemahkan antara referensi objek lokal dan remote. Proses berkomunikasi antara mereka disimpan dalam remote object table.

Langkah2 proses dengan RMI :

 Urutan pemanggilan pada object client mengaktifkan method pada proxy yang akan berhubungan dengan invoked method (method yang ter-invokasi) pada object B.

 Kemudian method yang ada pada proxy melakukan pembungkusan argumen menjadi suatu pesan (marshalling) dan meneruskan ke modul komunikasi.

 Berdasarkan pada remote reference yang didapat dari remote reference modul,modul komunikasi memulai request dan reply protocol melalui network.

 Modul komunikasi pada server menerima request dari client. Kemudian berdasarkan referensi lokal yang diterima dari remote reference modul maka akan mengaktifkan method untuk berkomunikasi dengan object pada skeleton B (corresponding method).

 Method pada skeleton meng-ekstrak (unmarshalling) argumen pada pesan yang di terima dan mengaktifkan corresponding method (method yang berfungsi untuk melakukan komunikasi) pada object B (server).

 Setelah menerima hasil dari object B, method dari skeleton akan membungkus hasil tersebut dalam sebuah pesan (marshalling) dan meneruskan pesan yang sudah dibungkus ke modul komunikasi.

 Modul komunikasi mengrimkan pesan tersebut ke client melalui jaringan.  Modul komunikasi pada client menerima hasil (reply) dari server dan

meneruskan ke corresponding method pada proxy.Kemudian proxy meng-ektrak hasil (unmarshalling) dan meneruskan ke object A (client).

RPC (Remote Procedure Call)

(8)

Gambar 5.8. Ilustrasi implementasi RPC

Remote Procedure Call (RPC) adalah 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 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.

Implementasi RPC

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).

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.

(9)

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 :

- 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.

[image:9.595.203.475.333.445.2]

Prinsip RPC dalam program client-server

Gambar 5.9. Prinsip RPC dalam Program Client – Server

Langkah-langkah dalam RPC

[image:9.595.130.578.489.744.2]
(10)

1. Client procedure calls client stub in normal way 2. Client stub builds message, calls local OS 3. Client's OS sends message to remote OS 4. Remote OS gives message to server stub 5. Server stub unpacks parameters, calls server 6. Server does work, returns result to the stub 7. Server stub packs it in message, calls local OS 8. Server's OS sends message to client's OS 9. Client's OS gives message to client stub 10. Stub unpacks result, returns to client

Contoh Implementasi RPC dengan SUN RPC  Fungsi yg dipanggil client melalui RPC:

bin_date_1: No arguments.

Result in long integer: waktu saat ini, dlm jumlah detik sejak 00:00:00 GMT, January 1, 1970.

str_date_1

Mengkonversi hasil bin_date_1 menjadi readable ASCII sring.

 Berkas yg dibuat programmer: Server procedure: date_proc.c RPC specification file: date.x Client main function: rdate.c  date.x -> rpcgen ->

Server stub: date_svc.c date.h

Client stub: date_clnt.c

 Generate executable client program: cc o rdate rdate.c date_clnt.c lrpclib  Generate executable server program:

cc o date_svc date_proc.c date_svc.c lrpclib

5.5. Object Remote

Pendekatan kedua yang akan kita bahas adalah Remote Method Invocation (RMI), sebuah teknik pemanggilan method remote yang lebih secara umum lebih baik daripada RPC. RMI menggunakan paradigma pemrograman berorientasi obyek (OOP). Dengan 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

Untuk membuat remote method dapat diakses RMI mengimplementasikan remote object menggukan stub dan skleton. Stub bertindak sebagai proxy disisi client, yaitu yang menghubungkan client dengan skleton yang berada disisi server. Stub yang ada disisi client bertanggung-jawab untuk membungkus nama method yang akan diakses, dan parameternya, hal ini biasa dikenal dengan marshalling. Stub mengirim paket yang sudah dibungkus ini ke server dan akan di buka (unmarshalling) oleh skleton. Skleton akan menerima hasil keluaran yang telah diproses oleh method yang dituju, lalu akan kembali dibungkus (marshall) dan dikirim kembali ke client yang akan diterima oleh stub dan kembali dibuka paketnya (unmarshall).

(11)

harus mem-binding remote obyek yang kita sediakan kedalam sebuah RMI registry. Setelah itu client dapat mengakses semua remote method yang telah kita sediakan menggunkan stub yang telah dicompile menggunakan RMI compiler terebut.

Akses ke Obyek Remote

Sekali obyek didaftarkan ke server, client dapat mengakses remote object dengan menjalankan Naming.lookup() method. RMI menyediakan url untuk pengaksesan ke remote obyek yaitu rmi://host/obyek, dimana host adalah nama server tempat kita mendaftarkan remote obyek dan obyek adalah parameter yang kita gunakan ketika kita memanggil method Naming.rebind(). Client juga harus menginstall RMISecurityManager untuk memastikan keamanan client ketika membuka soket ke jaringan.

Java memiliki sistem security yang baik sehingga user dapat lebih nyaman dalam melakukan komunikasi pada jaringan. Selain itu java sudah mendukung pemorograman berorientasi object, sehingga pengembangan software berskala besar sangat dimungkinkan dilakukan oleh java. RMI sendiri merupakan sistem terdistribusi yang dirancang oleh SUN pada platfrom yang spesifik yaitu Java, apabila anda tertarik untuk mengembangkan sistem terdistribusi yang lebih portable dapat digunakan CORBA sebagai solusi alternatifnya.

B. Soal Latihan !

1. Mengapa komunikasi diperlukan ?

2. Sebutkan dan jelaskan lapisan layer ( Model OSI ) !

3. Apa yang dimaksud middleware? Sebutkan dan jelaskan tipe – tipe middleware ?

4. Gambarkan dan jelaskan komunikasi Request - Reply ! Bagaimana client dan server melakukan komunikasi ?

5. Apa yang dimaksud :

a. Remote Method Invocation b. Remote Procedure Call c. Transport Control Protocol d. User Datagram Protocol

C. Tugas

Buatlah ringkasan atau resume tentang materi Komunikasi Sistem Terdistribusi dengan ketentuan

1. Menggunakan kertas Folio Bergaris, 2. Penulisan harus rapi

3. Bila terjadi kesalahan penulisan minimalisir penggunaan tipe-x secara berlebihan.

4. Ringkasan minimal 4 halaman, maksimal 5 halaman.

D. Referensi

1. Adang Suhendra, Kuliah Sistem Terdistribusi 1 & 2, http://staffsite.gunadarma.ac.id/adang/index.php?stateid=files&xcat_id=0.6 2. Dharma Oetomo, Eddy Hartono, dkk, Konsep dan Aplikasi

Pemrograman Client Server dan Sistem Terdistribusi, Andy Offset, Yogyakarta, 2006

Gambar

Gambar 5.2. Model OSI
Gambar 5.4. Network Protocol
Gambar 5.5. Komunikasi Request – Reply
Gambar 5.7. Ilustrasi implementasi RMI
+3

Referensi

Garis besar

Dokumen terkait

Selain itu juga karena lemahnya penindakan oleh aparat, maka pengendara odong-odong tersebut banyak yang tidak memiliki Surat Izin Mengemudi (SIM), meraka

Tanggung Jawab Direksi terhadap Pelanggaran Prinsip Keterbukaan Direksi perusahaan PT Sumalindo Lestari Jaya, Tbk yang melakukan pelanggaran Prinsip Keterbukaan bisa

benar ”merasakan tubuhnya terasa segar, tidak ngantuk, dan tidak malas” selanjutnya siswa yang merasakan tubuhnya lebih segar memberikan pernyataanya, nah

4 pada nilai ulangan harian untuk materi kalor yaitu 71,5 yang merupakan dibawah nilai KKM (75) hal ini dikarenakan pada materi kalor siswa masih banyak yang mengalami

[r]

Perjalanan asmara Gopeng – Inah hanya sering dihiasi hubungan suami-istri tidak ada perkembangan intelektual bagi sosok Gopeng yang juga seorang aktivis kampus.. Hingga suatu

Tujuan dari penelitian ini adalah untuk mengetahui dan menganalisa pendapatan dan pemanfaatan serta sejauh mana sebuah perilaku akuntansi pengelolaan keuangan pada sebuah rumah

Penyusun utama dari sitoplasma adalah air (90%), berfungsi sebagai pelarut zat-zat kimia serta sebagai media terjadinya reaksi kirnia sel.Organel sel adalah benda- benda