Interproses komunikasi adalah jantung dari
semua sistem terdistribusi. Tidak masuk akal untuk mempelajari sistem
terdistribusi tanpa hati-hati dengan cara bahwa proses pada mesin yang berbeda
dapat saling bertukar informasi. Komunikasi dalam sistem terdistribusi selalu
didasarkan pada pesan tingkat rendah yang lewat seperti yang ditawarkan oleh
jaringan yang mendasarinya. Sistem terdistribusi modern biasanya terdiri dari
ribuan atau bahkan jutaan proses yang tersebar di seluruh jaringan internet.
Dalam pembahasan kali ini, kita mulai
dengan membahas aturan bahwa proses berkomunikasi harus ada yang dikenal
sebagai protokol, dan cocencrate. Pada penataan tersebut protokol dalam bentuk
lapisan. Dari tampilan diempat luas dan model yang digunakan untuk komunikasi
terbagi atas: prosedur panggilan jarak jauh (RMC), remote metode doa (RMI),
pesan middleware berorientasi (MOM) dan streams.
Model pertama untuk komunikasi dalam sistem
terdistribusi adalah panggilan prosedur remote (RPC). Sebuah RPC bertujuan menyembunyikan
sebagian besar seluk-beluk pesan lewat, dan sangat ideal untuk aplikasi
client-server. perbaikan untuk model RPC datang dalam bentuk doa metode remote
(RMIs), yang didasarkan pada gagasan obyek terdistribusi. RPC dan RMIs dibahas
dalam bagian terpisah.
Pesan-berorientasi middleware (MOM) adalah
disebut juga sebagai suatu message-queuing sistem, suatu kerangka pesan, atau
sekedar messaging sistem. MOM dapat membentuk suatu lapisan middleware yang
penting untuk aplikasi perusahaan melalui Internet. MOM dapat menerbitkan dan
mendaftar model, suatu klien dapat mendaftarkan sebagai penerbit atau seorang
langganan dari pesan. Pesan dikirimkan hanya untuk tujuan yang relevan dan
hanya sekali, dengan berbagai metoda komunikasi yang mencakup komunikasi
one-to-many atau many-to-many. Sumber data dan tujuan dapat decoupled di bawah
model tersebut.
1. Protocol Layer
Protokol merupakan sebuah rule, prosedur
dan pengaturan sejumlah operasi peralatan komunikasi data, dalam komunikasi
data, aturan-aturan meliputi cara membuka hubungan, mengirim paket data,
menginformasi jumlah data yang diterima, dan meneruskan pengiriman data.
Protokol dapat diterapkan pada perangkat keras, perangkat lunak atau kombinasi
dari keduanya. Pada tingkatan yang terendah, protokol mendefinisikan koneksi
perangkat keras.
Prinsip dalam membuat protokol ada tiga hal
yang harus dipertimbangkan, yaitu efektivitas, kehandalan, dan Kemampuan dalam
kondisi gagal di network. Protokol distandarisasi oleh beberapa organisasi
yaitu IETF, ETSI, ITU, dan ANSI.
Tugas yang biasanya dilakukan oleh sebuah
protokol dalam sebuah jaringan diantaranya adalah :
1.
Melakukan deteksi
adanya koneksi fisik atau ada tidaknya komputer / mesin lainnya.
2.
Melakukan metode
“jabat-tangan” (handshaking).
3.
Negosiasi berbagai
macam karakteristik hubungan.
4.
Bagaimana mengawali
dan mengakhiri suatu pesan.
5.
Bagaimana format
pesan yang digunakan.
6.
Yang harus
dilakukan saat terjadi kerusakan pesan atau pesan yang tidak sempurna.
7.
Mendeteksi
rugi-rugi pada hubungan jaringan dan langkah-langkah yang dilakukan
selanjutnya.
8.
Mengakhiri suatu
koneksi.
Dalam Model OSI terdapat 7 layer dimana
masing-masing layer mempunyai jenis protokol sesuai dengan peruntukannya.
Sebuah standar protokol yang dikenal sebagai OSI (Open System Interconection)
model dengan aisitrktur sebagai berikut.
Arsitektur OSI dibuat berlapis-lapis dengan
fungsi yang berbeda pada setiap lapisannya. Lapisan yang lebih tinggi
menyembunyikan kerumitan dari operasi di lapisan yang lebih rendah dan suatu
lapisan hanya dapat di akses oleh lapisan yang ada di atasnya atau di
bawahnya.Hal tersebut di maksudkan untuk memberi kemudahankepada para pembuat
perangkat keras dan perangkat lunak komunikasi dalam mengembangkan berbagai
protokol yang berbeda sesuai kebutuhan. Namun tetap mereka harus mematuhi
standar yang telah di berikan OSI.
Lapisan layer protokol tersebut dapat di
golongkan lebih jauh menjadi:
·
Low level Layers
·
Transport Layers
·
Higher Level Layer
a. Low level Layers
·
Yang termasuk Low
layers adalah lapisan-lapisan sebagi berikut:
·
Physical Layer:
Spesifikasi dan implementasi dari bit-bit dan proses transmisi dari pengirim ke
penerima. Berfungsi untuk mendefinisikan media transmisi jaringan, metode
pensinyalan, sinkronisasi bit, arsitektur jaringan (seperti halnya Ethernet
atau Token Ring), topologi jaringan dan pengkabelan. Selain itu, level ini juga
mendefinisikan bagaimana Network Interface Card (NIC) dapat berinteraksi dengan
media kabel atau radio.
·
Data Link Layer:
Bertanggung jawab mengurusi perubahan bit=bit data menjadi frame untuk
mengatasi error dan penontrolan pengiriman frame. Befungsi untuk menentukan
bagaimana bit-bit data dikelompokkan menjadi format yang disebut sebagai frame.
Data link layer melakukan tugasnya dengan meletakkan pola bit khusus pada awal
dan akhir dari setiap frame untuk menandai mereka, serta komputasi checksum
dengan menjumlahkan semua byte dalam bingkai dengan cara tertentu.
Ketika frame tiba, penerima recomputes
checksum dari data dan membandingkan hasilnya dengan checksum mengikuti frame.
Jika setuju, frame dianggap benar dan diterima. Jika mereka tidak setuju,
penerima meminta pengirim untuk retrasmit itu. Frame ditugaskan nomor urut (di
header), sehingga semua orang dapat memberitahukan yang mana.
·
Network Layer:
Mengatur bagaimana paket-paket di arahkan berdasarkan alamat logik. lapisan
bertanggung jawab untuk menerjemahkan alamat logis jaringan ke alamat fisik
jaringan. Berfungsi untuk mendefinisikan alamat-alamat IP, membuat header untuk
paket-paket, dan kemudian melakukan routing melalui internetworking dengan
menggunakan router dan switch layer. Lapisan ini juga member identitas alamat,
jalur perjalanan pengiriman data, dan mengatur masalah jaringan misalnya
pengiriman paket-paket data.
·
Saat ini, mungkin
protokol jaringan yang paling banyak digunakan adalah IP connectionless
(Internet Protocol), yang merupakan bagian dari protokol internet. Sebuah paket
IP dapat dikirim tanpa pengaturan apapun. Setiap paket IP diarahkan ke tujuan
yang independen dari semua orang lain. Tidak ada jalur internal dipilih dan
diingat.
b. Transport Layers
Merupakan lapisan yang memberi fasilitas
komunikasi bagi kebanyakan sistem tersebar. Berfungsi untuk memecah data ke
dalam paket-paket data serta memberikan nomor urut ke paket-paket tersebut
sehingga dapat disusun kembali pada sisi tujuan setelah diterima. Selain itu,
pada level ini juga membuat sebuah tanda bahwa paket diterima dengan sukses
(acknowledgement), dan mentransmisikan ulang terhadap paket-paket yang hilang
di tengah jalan.
Pada lapisan ini terdapat dua macam
protokol yang sering digunakan, yaitu:
1.
Transport Control
Protocol (TCP) adalah protocol yang connection-oriented, yang berarti
komunikasi yang melewatinya membutuhkan handshaking untuk mengatur koneksi
end-to-end. Koneksi dapat dibuat dari client ke server, dan kemudian banyak
data dapat dikirimkan melalui konesi itu. TCP memiliki karakteristik sebagai
berikut:
·
Connection-oriented
merupakan sistem yang akan berkomunikasi harus terlebih dulu saling mengetahui
dan sepakat
·
Reliable, tersedia
mekanisme menjamin paket yang rusak atau hilang dikirim ulang
·
Stream –oriented
communication
·
Membutuhkan
sumberdaya komputasi dan jaringan lebih dari UDP
·
User Datagram
Protocol (UDP) adalah protocol connectionless message-based yang lebih
sederhana. Di protocol connectionless, tidak ada usaha yang dibuat untuk
koneksi end-to-end. Koumikasi dicapai dengan mengirimkan informasi satu arah,
dari source ke destination tanpa mengecek untuk melihat apakah tujuan masih
ada, atau apakah koneksi disiapkan untuk menerima informasi. Paket UDP melewati
jaringan dalam unit-unit yang berdiri sendiri. UDP memiliki karakteristik
sebagai berikut:
Connectionless, tidak memerlukan adanya
saling mengetahui dan kesepakatan
Unreliable datagram communication, tidak
tersedianya mekanisme yang menjamin paket rusak atau dikirim ulang.
Manfaat TCP dibandingkan dengan UDP adalah
bahwa ia bekerja andal melalui jaringan apapun. Kelemahan yang jelas adalah
bahwa TCP memperkenalkan overhead yang jauh lebih, terutama dibandingkan dengan
kasus-kasus di mana jaringan yang mendasarinya sangat handal, seperti dalam
sistem area lokal. Ketika kinerja dan kehandalan yang dipertaruhkan, solusi
alternatif selalu untuk menggunakan UDP, dan mengkombinasikannya dengan
kesalahan tambahan dan kontrol aliran yang dioptimalkan untuk aplikasi
tertentu. Kelemahan dari pendekatan ini adalah bahwa pekerjaan pembangunan
banyak ekstra perlu dilakukan, tetapi juga bahwa solusi proprietary
diperkenalkan, yang mempengaruhi keterbukaan sistem.
Apa yang membuat TCP begitu menarik dalam
banyak kasus, adalah bahwa hal itu tidak disesuaikan untuk mendukung jawaban
perilaku permintaan sinkron interaksi klien yang paling server. Dalam keadaan
normal, ketika pesan tidak tersesat, menggunakan TCP untuk interaksi client
server hasil seperti yang ditunjukkan pada gambar 2-4 (a). Pertama, klien
memulai setup sambungan, yang dilakukan dengan menggunakan tiga cara protokol
jabat tangan, ditampilkan sebagai tiga pesan pertama di gambar 2-4 (a).
Protokol ini diperlukan untuk kedua belah pihak untuk mencapai kesepakatan pada
urutan penomoran untuk paket yang akan dikirim melalui sambungan. Ketika
koneksi telah dibentuk, client mengirimkan permintaannya (pesan 4), langsung
diikuti oleh paket memberitahu server untuk menutup koneksi (pesan 5).
Gambar 2-4 (a) Pengoperasian normal TCP.
(B) Transaksional TCP
Server merespon dengan segera mengakui
bahwa ia menerima permintaan klien, piggybacked dengan pengakuan bahwa koneksi
akan clossed bawah (pesan 6). Server kemudian melakukan pekerjaan yang diminta
dan mengirimkan jawaban kepada klien (pesan 7), diikuti dengan permintaan untuk
melepaskan koneksi juga (pesan 8). Klien hanya perlu merespon dengan pengakuan
untuk menyelesaikan komunikasi dengan server (pesan 9).
Jelas, banyak overhead dalam TCP berasal
dari benar-benar mengelola koneksi. Ketika TCP digunakan untuk interaksi client
server, itu jauh lebih murah untuk menggabungkan pengaturan koneksi dengan
segera mengirimkan permintaan, dan seperti bijaksana untuk menggabungkan
mengirimkan jawaban dengan menutup koneksi. Protokol yang dihasilkan disebut
TCP untuk Transaksi, disingkat T / TCP, dan esensi dari bagaimana ia beroperasi
di bawah kondisi normal ditunjukkan pada gambar 2-4 (b).
Apa yang terjadi dalam keadaan normal,
adalah bahwa klien mengirimkan pesan tunggal (ditampilkan sebagai pesan 1) yang
berisi tiga potongan informasi: permintaan untuk mengatur koneksi, permintaan
layanan yang sebenarnya, dan permintaan memberitahu server yang segera bisa
merobek turun koneksi sesudahnya.
Server merespon setelah ia dilayani
permintaan yang sebenarnya, sehingga dapat mengirim jawaban bersama dengan data
yang diperlukan untuk menerima koneksi, dan segera meminta rilis, ditampilkan
sebagai pesan pada Gambar 2. 2-4 (b). Sekali lagi, klien hanya perlu mengakui
rilis final dari koneksi (pesan 3).
c. Higher Level
Layer
Di atas lapisan transport. OSI membedakan
tiga lapisan tambahan. Dalam prakteknya, hanya lapisan aplikasi yang pernah
digunakan. Bahkan, di suite internet protocol, segala sesuatu di atas lapisan
transport dikelompokkan bersama-sama. Dalam menghadapi sistem middleware, akan
kita lihat dalam bagian ini bahwa baik OSI maupun pendekatan internet
benar-benar tepat. Dalam Higher Level Layer ini terbagi menjadi tiga lapisan
tambahan yaitu:
1. Sesi dan Presentasi Protokol
Lapisan sesi dasarnya merupakan versi yang
disempurnakan dari lapisan transport. Menyediakan kontrol dialog, untuk melacak
pihak mana saat berbicara, dan menyediakan fasilitas sinkronisasi. Sehingga
jika terjadi kecelakaan, yang terakhir ini berguna untuk memungkinkan pengguna
memasukkan pos-pos pemeriksaan dalam transfer yang panjang. Hal ini diperlukan
untuk kembali hanya untuk pos pemeriksaan terakhir, daripada semua jalan
kembali ke awal. Dalam prakteknya, beberapa aplikasi tertarik dalam lapisan
sesi dan jarang didukung. Hal ini tidak hadir dalam acara suite protokol
Internet.
Berbeda dengan lapisan bawah, yang prihatin
dengan mendapatkan bit dari pengirim ke penerima andal dan efisien, lapisan
presentasi berkaitan dengan arti dari bit. Pesan yang paling tidak terdiri dari
string bit acak, tetapi informasi lebih terstruktur seperti nama orang, alamat,
jumlah uang, dan sebagainya. Pada lapisan presentasi adalah mungkin untuk
menentukan catatan yang berisi bidang-bidang seperti ini dan kemudian memiliki
Sener memberitahukan penerima bahwa pesan berisi catatan tertentu dalam format
tertentu. Hal ini memudahkan untuk mesin dengan representasi internal yang
berbeda untuk berkomunikasi.
2. Protocol Application
Menyediakan layanan untuk aplikasi misalnya
transfer file, email, akses suatu komputer atau layanan. Lapisan aplikasi OSI
awalnya dimaksudkan untuk menampung koleksi aplikasi jaringan standar seperti
untuk surat elektronik, transfer file, dan emulasi terminal. Sampai saat ini
telah menjadi wadah untuk semua aplikasi dan protokol yang dalam satu cara atau
yang lain tidak masuk ke dalam salah satu lapisan yang mendasarinya. Dari
perspektif model referensi OSI, hampir semua sistem terdistribusi hanya
aplikasi.
Ada juga banyak tujuan umum protokol yang
berguna untuk banyak aplikasi, tetapi yang tidak dapat dikualifikasikan sebagai
protokol transport. Dalam banyak kasus, protokol seperti jatuh ke dalam
kategori protokol middleware, yang akan kita bahas selanjutnya.
3. Middleware Protocol
Middleware adalah sebuah aplikasi yang
logis tinggal di lapisan aplikasi, tetapi yang mengandung banyak tujuan umum
protokol yang menjamin lapisan mereka sendiri, independen lainnya, aplikasi
yang lebih spesifik. Perbedaan dapat dibuat antara tingkat tinggi protokol
komunikasi dan protokol untuk membangun layanan middleware berbagai.
Dibuat untuk menyediakan layanan layanan
protokol yang seragam dan dapat digunakan oleh aplikasi-aplikasi yang
berbeda-beda. Pada lapisan ini terdapat sekumpulan protokol komunikasi yang
beragam yang memungkinkan berbagai macam aplikasi dapat berkomunikasi.
Middleware juga memberi fasilitas marshalling dimana terdapat proses pengubahan
data dalam komunikasi antar proses menjadi bentuk yang siap dikirim melalui
jaringan sehingga dapat tetap konsisten sampai di si penerima data dan
kebalikannya.
Middleware komunikasi protokol mendukung
tingkat tinggi layanan komunikasi. Misalnya, di bagian dua berikutnya kita akan
membahas protokol yang memungkinkan proses untuk memanggil prosedur atau invok
obyek pada mesin remote dengan cara yang sangat transparan. Demikian juga, ada
layanan komunikasi tingkat tinggi untuk menetapkan dan sinkronisasi aliran
untuk mentransfer data real-time, seperti yang diperlukan untuk aplikasi
multimedia. Sebagai contoh terakhir, beberapa sistem middleware menawarkan
layanan multicast handal yang skala untuk ribuan penerima tersebar di wide area
network.
Beberapa protokol komunikasi middleware
yang sama bisa juga termasuk dalam lapisan transport, tapi mungkin ada alasan
spesifik untuk menjaga mereka pada tingkat yang lebih tinggi. Misalnya,
multicasting layanan yang handal Taht skalabilitas jaminan dapat
diimplementasikan hanya jika persyaratan aplikasi diperhitungkan. Akibatnya,
sistem middleware mungkin menawarkan yang berbeda (merdu) protokol,
masing-masing pada gilirannya diimplementasikan dengan menggunakan protokol
transport yang berbeda, tapi mungkin menawarkan antarmuka tunggal.
Konsep objek terdistribusi dan object
interface
Meskipun teknologi RPC ini relatif sudah
memberikan kenyamanan bagi developer namun seiring dengan perkembangannya,
sistem ini dinilai tidak efisien lagi. Dalam membuat aplikasi client
server, programmer masih harus membuat fungsi-fungsi yang sama untuk aplikasi
yang berbeda. Kadang kala kode program yang sama digunakan dengan melakukan
copy paste dan melakukan sedikit perubahan untuk menyesuaikan dengan aplikasi
yang baru dibuat. Jika ada perubahan, fungsi tersebut dalam masing-masing
aplikasi harus di update satu persatu lagi. Hal ini mengakibatkan perawatan
program menjadi susah dan fungsi-fungsi tersebut dapat menjadi tidak konsisten
satu sama lain.
CORBA
Common Object Request Broker Architecture
(CORBA) merupakan standar yang dikeluarkan oleh Object Management Group (OMG).
Spesifikasi CORBA ini berisi sebuah spesifikasi infrastruktur yang
disebut Object Request Broker (ORB) yang memungkinkan aplikasi klien untuk
dapat berkomunikasi dengan obyek secara remote. Spesifikasi ini meliputi
antarmuka program, protokol komunikasi dan model obyek atau layanan yang
memungkinkan aplikasi yang ditulis dengan berbagai macam bahasa pemrograman.
CORBA membungkus kode program yang dibuat
dengan bahasa pemrograman tertentu menjadi sebuah obyek yang ditambah dengan
informasi mengenai kemampuan kode program dan cara mengaksesnya. Obyek tersebut
dapat dipanggil oleh program lain melalui jaringan. CORBA menggunakan interface
definition languange (IDL) untuk menunjukkan interface atau antarmuka yang
dapat digunakan oleh program atau obyek lain. Dari IDL tersebut CORBA akan
memetakannya ke implementasi yang lebih spesifik dari masing-masing bahasa
pemrograman.
COM
Component Object Model (COM) adalah
teknologi yang diciptakan oleh Microsoft untuk memungkinkan komunikasi
antaraplikasi. Teknologi ini sudah disediakan untuk beberapa platform
tetapi kebanyakan digunakan untuk platform Windows. Teknologi ini sudah
diperkenalkan oleh microsoft pada tahun 1993 tetapi baru populer pada tahun
1997. Perkembangan teknologi COM ini bermula dari teknologi OLE (Object Linking
and Embedding) yang dibuat untuk memungkinkan aplikasi dapat saling bertukar
data.
DCOM
Pada tahun 1996 diperkenalkan Distributed
Component Object Model (DCOM) sebagai jawaban Microsoft atas CORBA. DCOM
dibandingkan dengan COM memiliki kelebihan mampu untuk terdistribusi dan
berkomunikasi antarkomponen melalui jaringan. DCOM dan CORBA saling
berkompetisi untuk menjadi standar dalam distribusi komponen melalui internet.
Namun dibalik kesulitan dalam hal keamanan, sebuah browser yang berjalan
menggunakan teknologi http sudah dapat menggantikan teknologi tsb.
RMI
Remote Method Invocation (RMI) 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.
RMI menyediakan mekanisme dimana server dan
client berkomunikasi dan memberikan informasi secara timbal balik. Aplikasi
semacam ini seringkali disebut aplikasi objek terdistribusi
Langkah-Langkah Pembuatan Program dengan
RMI
Dalam RMI, semua informasi tentang satu
pelayanan server disediakan dalam suatu definisi remote interface. Dengan
melihat pada definisi interface, seorang pemrogram dapat memberitahukan method
apa yang dapat dikerjakan oleh server, meliputi data apa yang diterima dan data
apa yang akan dikirim sebagai tanggapan.
Definisi yang ada pada remote interface
menentukan karakteristik methods yang disediakan server yang dapat dilihat oleh
client. Client programmer harus dapat mengetahui methods apa yang disediakan
server dan bagaimana memanggilnya langsung dengan melihat ke remote interface.
Client mendapatkan referensi ke remote object melalui RMI registry.
Membangun suatu aplikasi terdistribusi
menggunakan RMI meliputi 6 langkah. Keenam langkah tersebut adalah:
1. Mendefinisikan remote interface
2. Implementasi remote interface dan server
3. Pengembangan client (atau applet) yang
menggunakan remote interface
4. Mengkompilasi source files dan mem-buat
stub and skeletons
5. Memulai (start) RMI registry
6. Menjalankan server dan client
Sumber : - Telusur
Tidak ada komentar:
Posting Komentar