SlideShare ist ein Scribd-Unternehmen logo
1 von 7
Downloaden Sie, um offline zu lesen
PEMROGRAMAN III
RPC (Remote Procedur Call), SOAP (Simple Object Access Protocol), dan
REST (REpresentational State Transfer)

DISUSUN OLEH :
RIFQI HANIF MAULANA
1100631036 – MI.A

FAKULTAS TEKNIK MANAJEMEN INFORMATIKA
UNIVERSITAS MUHAMMADIYAH JEMBER
2013
RPC (Remote Procedur Call), SOAP (Simple
Object Access Protocol), dan REST
(REpresentational State Transfer)

RPC (Remote Procedur Call)
Remote Procedure Call (RPC) 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 dilakuan 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 merequest 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- installkedalam 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.
Representation (XDR), yang merupakan standar dari representasi data dalam komunikasi remote.
Protokol XDR mengubah parameter dan hasil dari tiap servis RPC yang disediakan. Protokol
RPC mengijinkan pengguna (users) untuk bekerja dengan prosedur remote sebagaimana bekerja
dengan prosedur lokal. Prosedur panggilan remote (remote procedure calls) didefinisikan melalui
rutin yang terkandung didalam protokol RPC. Tiap message dari panggilan akan disesuaikan
dengan message balikan. Protokol RPC sendiri sebenarnya adalah suatu protokol untuk
”meneruskan pesan” yang mengimplemntasikan protokol non-RPC lain seperti panggilan remote
batching dan broadcasting. Protokol ini juga mendukung adanya prosedur callback dan select
subroutine pada sisi server.
Klien dan Server
Klien adalah komputer atau proses yang mengakses suatu servis/layanan atau resources dari
proses atau komputer pada suatu jaringan. Server adalah komputer yang menyediakan
servis/layanan dan resources, dan yang mengimplementasikan servis jaringan. Tiap servis pada
network adalah susunan dari program remote, dan tiap program remote mengimplementasi
prosedur remote. Semua prosedur berikut parameternya dan hasilnya didokumentasi secara
spesifik pada protokol suatu program.
Protokol Message RPC
Protokol Message RPC didefinisikan dengan menggunakan deskripsi data eXternal Data
Representation ( XDR ) yang meliputi struktur, enumerasi dan union. Pembahasan lebih
lanjut akan diterangkan pada bab berikutnya mengenai implementasi RPC.
Protokol Message ini membutuhkan faktor- faktor pendukung sebagai berikut :
1. Spesifikasi yang unik untuk tiap prosedur call
2. Respon message yang sesuai untuk tiap message yang diminta
3. Otentifikasi klien untuk tiap layanan dan sebaliknya Protokol Message RPC memiliki dua ( 2 )
struktur yang berbeda, yaitu call message dan reply message. Tiap klien yang akan melakukan
RPC pada suatu server di jaringan akan menerima balasan (reply) berupa hasil dari eksekusi
prosedur tersebut. Dengan menggunakan spesifikasi yang unik untuk tiap prosedure remote,
maka RPC dapat mencocokkan message balasan untuk tiap call message yang diminta klien.
Call Message
Tiap call message pada RPC mengandung nilai- nilai unsigned integer yang digunakan untuk
mengidentifikasi prosedur remote yang diminta. Nilai-nilai ini adalah :
1. Nomor Program
2. Nomor Versi dari Program
3. Nomor Prosedur
Reply Message
Reply message yang dikirimkan oleh server jaringan bervariasi tergantung apakah call messages
yang diminta klien diterima atau ditolak. Reply message mengandung informasi yang digunakan
untuk membedakan kondisi-kondisi yang diminta sesuai dengan call messages. Informasi ini
antara lain :
1. RPM mengeksekusi call message dengan sukses
2. Implementasi remote tidak sesuai dengan protokol yang digunakan. Versi yang lebih
rendah atau tinggi akan ditolak.
3. Program remote tidak tersedia pada sistem remote
4. Program remote tidak mendukung versi yang diminta klien
5. Nomor prosedur yang diminta tidak ada.
Fitur dalam RPC
RPC memiliki fitur - fitur sebagai berikut : batching calls, broadcasting calls, callback
procedures dan using the select subroutine.
Batching Calls
Fitur Batching calls mengijinkan klien untuk mengirim message calls ke server dalam jumlah
besar secara sequence ( berurutan ). Batching menggunakan protokol streaming byte seperti TCP
/ IP sebagai mediumnya. Pada saat melakukan batching, klien tidak menunggu server untuk
memberikan reply terhadap tiap messages yang dikirim, begitu pula dengan server yang tidak
pernah mengirimkan messages reply. Fitur inilah yang banyak digunakan klien, karena arsitektur
RPC didesain agar pada tiap call message yang dikirimkan oleh klien harus ada proses
menunggu balasan dari server. Oleh karena itu maka pihak klien harus dapat mengatasi error
yang kemungkinan terjadi karena pihak klien tidak akan menerima peringatan apabila terjadi
error pada message yang dikirim.
Broadcasting Calls
Fitur Broadcasting mengijinkan klien untuk mengirimkan paket data ke jaringan da n menunggu
balasan dari network. FItur ini menggunakan protokol yang berbasiskan paket data seperti
UDP/IP sebagai mediumnya. Broadcast RPC membutuhkan layanan port mapper RPC untuk
mengimplementasikan fungsinya.
Callback Procedures
Fitur Callback Procedures mengijinkan server untuk bertindak sebagai klien dan melakukan RPC
callback ke proses yang dijalankan oleh klien.
Menggunakan select Subrutin
Fitur ini akan memeriksa deskripsi dari suatu file dan messages dalam antrian untuk melihat
apakah mereka siap untuk dibaca (diterima) atau ditulis (dikirim), atau mereka dalam kondisi
ditahan sementara. Prosedur ini mengijinkan server untuk menginterupsi suatu aktivitas,
memeriksa datanya, dan kemudian melanjutkan proses aktivitas tersebut.
Otentifikasi RPC
Proses otentifikasi adalah proses yang digunakan untuk mengidentifikasi server dan klien pada
RPC. Untuk setiap prosedur remote yang dilakukan protokol RPC menyediakan slot yang
dipakai sebagai parameter otentifikasi yang berfungsi agar pemanggil (caller) dapat, memberikan
identitasnya kepada server. Parameter otentifikasi ini dibuat di paket klien.
Otentifikasi RPC terdiri atas beberapa bagian. Berikut ini adalah bagian-bagian padaotentifikasi
RPC :
1. Protokol Otentifikasi RPC
Protokol Otentifikasi RPC disediakan sebagai bagian dari protokol RPC. Untuk setiap prosedur
remote, semuanya diotentifikasi oleh paket RPC pada server. Parameter yang digunakan adalah
respon verifier. Sedangkan pada pihak klien, setiap paket RPC diberikan parameter otentifikasi
dan parameter yang digunakan adalah credential dan
verifier.
2. Otentifikasi NULL
Otentifikasi NULL digunakan pada sistem dimana pemanggil (caller) RPC tidak mengetahui
identitasnya sendiri dan server tidak membutuhkan identitas pemanggil.
3. Otentifikasi UNIX
Otentifikasi Unix digunakan pada prosedur remote di sistem UNIX. Jenis otentifikasi ini dibagi
dua (2) yaitu otentifikasi pada sisi klien dan otentifiksi pada sisi server. Pada sisi klien,
otentifikasi ini akan membuat otentifikasi handle dengan AIX permissions agar dapat berasosiasi
dengan parameter credentials pada sistem UNIX. Sedangkan pada sisi server, server harus dapat
menentukan tipe otentifikasi yang diberikan oleh pemanggil RPC. Penentuan dukungan terhadap
tipe otentifikasi akan memberikan reply yang berbeda.
4. Otentifikasi Data Encryption Standard ( DES )
Otentifikasi DES membutuhkan keyserv daemon yang harus berjalan baik di sisi server maupun
klien. Tiap pengguna pada sistem ini harus memiliki kunci public ( public key yang disahkan
pada database kunci publik oleh Administrator jaringan tersebut.
5. Protokol Otentifikasi DES
Protokol Otentifikasi DES meliputi protokol penanganan DES pada proses otentifikasi RPC.
Protokol ini mencakup 64-bit blok data DES yang terenkripsi dan menentukan panjang
maksimum untuk user name pada jaringan yang digunakan.
6. Enkripsi Diffie-Hellman
Enkripsi Diffie-Hellman digunakan pada pembuatan kunci public pada otentifikasi DES dengan
menggunakan 192-bit kunci. Enkripsi ini memiliki dua buah variable onstan, yaitu BASE dan
MODULUS yang digunakan pada protokol otentifikasi DES. PC berhubungan hanya dengan
proses otentifikasi, tidak dengan kontrol akses terhadap ervices/layanan individual yang
diberikan. Tiap layanan mengimplementasikan eraturan mengenai kontrol akses masing- masing.
Subsistem otentifikasi pada paket RPC bersifat open-ended, artinya beberapa tentifikasi
dapat diasosiasikan pada RPC klien.
Contoh Source Code dari RPC (Remote Procedur Call) :

SOAP (Simple Object Access Protocol)
Simple Object Access Protocol (SOAP) adalah sebuah standarisasi dasar dari protokol
komunikasi untuk saling bertukar informasi terstruktur di antara aplikasi-aplikasi yang berjalan.
SOAP adalah sebuah aplikasi pesan XML yang sangat bergantung pada skema XML dan XML
namespaces untuk mendifinisikannya. SOAP juga sangat bergantung dengan beberapa protokol
layer lainnya seperti HTTP, JMS, RPC untuk transmisi pesan.
SOAP sangat efektif untuk berbabagai macam aplikasi untuk berkomunikasi walaupun berjalan
pada sistem operasi yang berbeda dengan teknologi dan bahasa pemrograman yang berbeda-beda
pula.
Keuntungan dari SOAP







Format yang sederhana dan dapat dikembangkan
Bisa dijalankan dimana saja tidak terbatas pada platform tertentu
Bisa menggunakan bahasa pemrograman apa saja
Multi-protocol seperti HTTP, JMS, RPC, SMTP, dll.
Dapat melewati firewalls sehingga mendukung model HTTP get / reponse
Tipe yang kuat dan melekat pada sebuah kontrak

Kekurangan dari SOAP
 Walaupun sederhana, pesannya dapat panjang karena kebutuhannya untuk mengemasnya
dalam bentuk SOAP envelope
 Karena SOAP berbasis XML, dibutuhkan waktu untuk parsing XML tersebut karena harus di
kedua pihak melakukannya (pengirim dan penerima pesan)
 Walaupun SOAP standart yang terbuka, tidak semua bahasa mendukung dengan baik. Yang
terbaik untuk mendukung SOAP adalah JAVA, .Net, dan Flex.
Contoh Source Code dari SOAP (Simple Object Acces Protocol) :
REST (Representational State Transfer)
REST adalah salah satu jenis web service yang menerapkan konsep perpindahan antar state.
State disini dapat digambarkan seperti jika browser meminta suatu halaman web, maka
serverakan mengirimkan state halaman web yang sekarang ke browser. Bernavigasi melalui linklink yang disediakan sama halnya dengan mengganti state dari halaman web. Begitu pula REST
bekerja, dengan bernavigasi melalui link- link HTTP untuk melakukan aktivitas tertentu, seakanakan terjadi perpindahan state satu sama lain. Perintah HTTP yang b isa digunakan adalah fungsi
GET, POST, PUT atau DELETE. Balasan yang dikirimkan adalah dalam bentuk XML sederhana
tanpa ada protokol pemaketan data, sehingga informasi yang diterima lebih mudah dibaca dan
diparsing disisi client.
Dalam pengaplikasiannya, REST lebih banyak digunakan untuk web serviceyang
berorientasi pada resource. Maksud orientasi pada resource adalah orientasi yang menyediakan
resource-resource sebagai layanannya dan bukan kumpulan-kumpulan dari aktifitas yang
mengolah resource itu.Alasan mengapa REST tidak digunakan dalam skripsi ini karena orientasi
pada resourcenya itu,sedangkan aplikasi event calendar membutuhkan pemanggilan metode yang
bisa dikerjakan terhadap kumpulan resource event. Selain itu, karena standarnya yang kurang
sehingga tidak begitu cocok diterapkan dalam aplikasi yang membutuhkan kerjasama antar
aplikasi lain, dimana standar yang baik akan sangat berguna karena berbicara dalam satu bahasa
yang sama. Beberapa contoh web service yang menggunakan REST adalah: Flick r
API(Application ProgramInterface), YouTube API, Amazon API.

Weitere ähnliche Inhalte

Was ist angesagt?

Bab jenis protokol jaringan
Bab jenis protokol jaringanBab jenis protokol jaringan
Bab jenis protokol jaringankrisdjayanti1
 
Protocol internet
Protocol internetProtocol internet
Protocol internetcondro23
 
Transport Layer: Protocol UDP dan Protocol TCP
Transport Layer: Protocol UDP dan Protocol TCPTransport Layer: Protocol UDP dan Protocol TCP
Transport Layer: Protocol UDP dan Protocol TCPMateri Kuliah Online
 
10 transport layer (tcp&udp)
10 transport layer (tcp&udp)10 transport layer (tcp&udp)
10 transport layer (tcp&udp)Dede Yudhistira
 
Pengantar jarkom-1-4 tcp ip
Pengantar jarkom-1-4 tcp ipPengantar jarkom-1-4 tcp ip
Pengantar jarkom-1-4 tcp ipbroajox
 
Socket Programming UDP Echo Client Server (Python)
Socket Programming  UDP Echo Client Server  (Python)Socket Programming  UDP Echo Client Server  (Python)
Socket Programming UDP Echo Client Server (Python)Lusiana Diyan
 
Materi protokol jaringan
Materi protokol jaringanMateri protokol jaringan
Materi protokol jaringankrisdjayanti1
 
Lalu Lintas pengiriman data
Lalu Lintas pengiriman dataLalu Lintas pengiriman data
Lalu Lintas pengiriman dataFanny Oktaviarti
 
Tugas 1 analisis paket network protocol dengan menggunakan tools wireshark
Tugas 1 analisis paket network protocol dengan menggunakan tools wiresharkTugas 1 analisis paket network protocol dengan menggunakan tools wireshark
Tugas 1 analisis paket network protocol dengan menggunakan tools wiresharkEka Putuasduki
 
Capturing network-packet-dengan-wireshark
Capturing network-packet-dengan-wiresharkCapturing network-packet-dengan-wireshark
Capturing network-packet-dengan-wiresharkDen Fandy
 

Was ist angesagt? (19)

TRANSPORT LAYER UDP TCP
TRANSPORT LAYER UDPTCPTRANSPORT LAYER UDPTCP
TRANSPORT LAYER UDP TCP
 
UDP and TCP
UDP and TCPUDP and TCP
UDP and TCP
 
Bab jenis protokol jaringan
Bab jenis protokol jaringanBab jenis protokol jaringan
Bab jenis protokol jaringan
 
Kelompok 6
Kelompok 6Kelompok 6
Kelompok 6
 
Protocol internet
Protocol internetProtocol internet
Protocol internet
 
Tugas switching
Tugas switchingTugas switching
Tugas switching
 
Transport Layer: Protocol UDP dan Protocol TCP
Transport Layer: Protocol UDP dan Protocol TCPTransport Layer: Protocol UDP dan Protocol TCP
Transport Layer: Protocol UDP dan Protocol TCP
 
10 transport layer (tcp&udp)
10 transport layer (tcp&udp)10 transport layer (tcp&udp)
10 transport layer (tcp&udp)
 
Pengantar jarkom-1-4 tcp ip
Pengantar jarkom-1-4 tcp ipPengantar jarkom-1-4 tcp ip
Pengantar jarkom-1-4 tcp ip
 
Pptp,l2 f,l2tp
Pptp,l2 f,l2tpPptp,l2 f,l2tp
Pptp,l2 f,l2tp
 
Socket Programming UDP Echo Client Server (Python)
Socket Programming  UDP Echo Client Server  (Python)Socket Programming  UDP Echo Client Server  (Python)
Socket Programming UDP Echo Client Server (Python)
 
Materi protokol jaringan
Materi protokol jaringanMateri protokol jaringan
Materi protokol jaringan
 
Tentang port
Tentang portTentang port
Tentang port
 
Lalu Lintas pengiriman data
Lalu Lintas pengiriman dataLalu Lintas pengiriman data
Lalu Lintas pengiriman data
 
Tugas 1 analisis paket network protocol dengan menggunakan tools wireshark
Tugas 1 analisis paket network protocol dengan menggunakan tools wiresharkTugas 1 analisis paket network protocol dengan menggunakan tools wireshark
Tugas 1 analisis paket network protocol dengan menggunakan tools wireshark
 
Modul 2
Modul 2Modul 2
Modul 2
 
Rpc, soap,rest
Rpc, soap,restRpc, soap,rest
Rpc, soap,rest
 
Transport Layer
Transport LayerTransport Layer
Transport Layer
 
Capturing network-packet-dengan-wireshark
Capturing network-packet-dengan-wiresharkCapturing network-packet-dengan-wireshark
Capturing network-packet-dengan-wireshark
 

Andere mochten auch

Mundu Mira Kooperatibak hondakinen kudeaketa sistema zirkularra aurkezten du
 Mundu Mira Kooperatibak hondakinen kudeaketa sistema zirkularra aurkezten du Mundu Mira Kooperatibak hondakinen kudeaketa sistema zirkularra aurkezten du
Mundu Mira Kooperatibak hondakinen kudeaketa sistema zirkularra aurkezten duMundu Mira Kooperatiba Elkartea
 
газета сочи 2014
газета сочи 2014газета сочи 2014
газета сочи 2014yuricheva_olga
 
Charla bucodental
Charla bucodentalCharla bucodental
Charla bucodentalO9O7
 
Educacion Expandida Personalizada e Invertida
Educacion Expandida Personalizada e InvertidaEducacion Expandida Personalizada e Invertida
Educacion Expandida Personalizada e InvertidaSIRIUS e-Learning
 

Andere mochten auch (8)

Mundu Mira Kooperatibak hondakinen kudeaketa sistema zirkularra aurkezten du
 Mundu Mira Kooperatibak hondakinen kudeaketa sistema zirkularra aurkezten du Mundu Mira Kooperatibak hondakinen kudeaketa sistema zirkularra aurkezten du
Mundu Mira Kooperatibak hondakinen kudeaketa sistema zirkularra aurkezten du
 
El cuerpo
El cuerpoEl cuerpo
El cuerpo
 
Contenedores supercor11
Contenedores supercor11Contenedores supercor11
Contenedores supercor11
 
Son & lau
Son & lauSon & lau
Son & lau
 
Envase
EnvaseEnvase
Envase
 
газета сочи 2014
газета сочи 2014газета сочи 2014
газета сочи 2014
 
Charla bucodental
Charla bucodentalCharla bucodental
Charla bucodental
 
Educacion Expandida Personalizada e Invertida
Educacion Expandida Personalizada e InvertidaEducacion Expandida Personalizada e Invertida
Educacion Expandida Personalizada e Invertida
 

Ähnlich wie RPC SOAP REST

Sister 04 - remote procedure call (rpc)
Sister   04 - remote procedure call (rpc)Sister   04 - remote procedure call (rpc)
Sister 04 - remote procedure call (rpc)Febriyani Syafri
 
Tugas pemr3 1100631014 rpc,soap,rest
Tugas pemr3 1100631014 rpc,soap,restTugas pemr3 1100631014 rpc,soap,rest
Tugas pemr3 1100631014 rpc,soap,restKienda Dwi Ajie
 
Tugas pemr3 1100631014 rpc,soap,rest
Tugas pemr3 1100631014 rpc,soap,restTugas pemr3 1100631014 rpc,soap,rest
Tugas pemr3 1100631014 rpc,soap,restKienda Dwi Ajie
 
Esai rpc, soap, dan rest
Esai rpc, soap, dan restEsai rpc, soap, dan rest
Esai rpc, soap, dan restUlil Uliland
 
Ristanto 1100631048
Ristanto 1100631048Ristanto 1100631048
Ristanto 1100631048Ristanto Dp
 
Membandingkan_RMI_dan_RPC_Presentasi.pptx
Membandingkan_RMI_dan_RPC_Presentasi.pptxMembandingkan_RMI_dan_RPC_Presentasi.pptx
Membandingkan_RMI_dan_RPC_Presentasi.pptxDEDEALAMSYAHSPd
 
Tugas pemrograman3 rpc,soap,rest_1100631020
Tugas pemrograman3 rpc,soap,rest_1100631020Tugas pemrograman3 rpc,soap,rest_1100631020
Tugas pemrograman3 rpc,soap,rest_1100631020Lucky AnugerahP
 
Protocol jaringan komputer
Protocol jaringan komputerProtocol jaringan komputer
Protocol jaringan komputerAmiroh S.Kom
 
Jarkom - Jilid V.3
Jarkom - Jilid V.3Jarkom - Jilid V.3
Jarkom - Jilid V.3rezarmuslim
 
Jaringan komputer 04
Jaringan komputer 04Jaringan komputer 04
Jaringan komputer 04Ainul Yaqin
 

Ähnlich wie RPC SOAP REST (20)

Sister 04 - remote procedure call (rpc)
Sister   04 - remote procedure call (rpc)Sister   04 - remote procedure call (rpc)
Sister 04 - remote procedure call (rpc)
 
RCP, SOAP, REST
RCP, SOAP, RESTRCP, SOAP, REST
RCP, SOAP, REST
 
Tugas pemr3 1100631014 rpc,soap,rest
Tugas pemr3 1100631014 rpc,soap,restTugas pemr3 1100631014 rpc,soap,rest
Tugas pemr3 1100631014 rpc,soap,rest
 
Tugas pemr3 1100631014 rpc,soap,rest
Tugas pemr3 1100631014 rpc,soap,restTugas pemr3 1100631014 rpc,soap,rest
Tugas pemr3 1100631014 rpc,soap,rest
 
KOMUNIKASI DATA
KOMUNIKASI DATAKOMUNIKASI DATA
KOMUNIKASI DATA
 
Esai rpc, soap, dan rest
Esai rpc, soap, dan restEsai rpc, soap, dan rest
Esai rpc, soap, dan rest
 
Ristanto 1100631048
Ristanto 1100631048Ristanto 1100631048
Ristanto 1100631048
 
Membandingkan_RMI_dan_RPC_Presentasi.pptx
Membandingkan_RMI_dan_RPC_Presentasi.pptxMembandingkan_RMI_dan_RPC_Presentasi.pptx
Membandingkan_RMI_dan_RPC_Presentasi.pptx
 
(Ppp) chap
(Ppp) chap(Ppp) chap
(Ppp) chap
 
(Ppp) chap chap
(Ppp) chap chap(Ppp) chap chap
(Ppp) chap chap
 
Tugas pemrograman3 rpc,soap,rest_1100631020
Tugas pemrograman3 rpc,soap,rest_1100631020Tugas pemrograman3 rpc,soap,rest_1100631020
Tugas pemrograman3 rpc,soap,rest_1100631020
 
Protocol jaringan komputer
Protocol jaringan komputerProtocol jaringan komputer
Protocol jaringan komputer
 
07 tk 1073 layer transport
07   tk 1073 layer transport07   tk 1073 layer transport
07 tk 1073 layer transport
 
(Ppp) pap chap
(Ppp) pap chap(Ppp) pap chap
(Ppp) pap chap
 
(Ppp)topologi real
(Ppp)topologi real(Ppp)topologi real
(Ppp)topologi real
 
Jarkom - Jilid V.3
Jarkom - Jilid V.3Jarkom - Jilid V.3
Jarkom - Jilid V.3
 
Kelompok 7
Kelompok 7Kelompok 7
Kelompok 7
 
Presentation1
Presentation1Presentation1
Presentation1
 
Kelompok 7
Kelompok 7Kelompok 7
Kelompok 7
 
Jaringan komputer 04
Jaringan komputer 04Jaringan komputer 04
Jaringan komputer 04
 

RPC SOAP REST

  • 1. PEMROGRAMAN III RPC (Remote Procedur Call), SOAP (Simple Object Access Protocol), dan REST (REpresentational State Transfer) DISUSUN OLEH : RIFQI HANIF MAULANA 1100631036 – MI.A FAKULTAS TEKNIK MANAJEMEN INFORMATIKA UNIVERSITAS MUHAMMADIYAH JEMBER 2013
  • 2. RPC (Remote Procedur Call), SOAP (Simple Object Access Protocol), dan REST (REpresentational State Transfer) RPC (Remote Procedur Call) Remote Procedure Call (RPC) 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 dilakuan 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 merequest 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- installkedalam 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. Representation (XDR), yang merupakan standar dari representasi data dalam komunikasi remote. Protokol XDR mengubah parameter dan hasil dari tiap servis RPC yang disediakan. Protokol RPC mengijinkan pengguna (users) untuk bekerja dengan prosedur remote sebagaimana bekerja dengan prosedur lokal. Prosedur panggilan remote (remote procedure calls) didefinisikan melalui rutin yang terkandung didalam protokol RPC. Tiap message dari panggilan akan disesuaikan dengan message balikan. Protokol RPC sendiri sebenarnya adalah suatu protokol untuk ”meneruskan pesan” yang mengimplemntasikan protokol non-RPC lain seperti panggilan remote batching dan broadcasting. Protokol ini juga mendukung adanya prosedur callback dan select subroutine pada sisi server. Klien dan Server Klien adalah komputer atau proses yang mengakses suatu servis/layanan atau resources dari proses atau komputer pada suatu jaringan. Server adalah komputer yang menyediakan servis/layanan dan resources, dan yang mengimplementasikan servis jaringan. Tiap servis pada network adalah susunan dari program remote, dan tiap program remote mengimplementasi prosedur remote. Semua prosedur berikut parameternya dan hasilnya didokumentasi secara spesifik pada protokol suatu program.
  • 3. Protokol Message RPC Protokol Message RPC didefinisikan dengan menggunakan deskripsi data eXternal Data Representation ( XDR ) yang meliputi struktur, enumerasi dan union. Pembahasan lebih lanjut akan diterangkan pada bab berikutnya mengenai implementasi RPC. Protokol Message ini membutuhkan faktor- faktor pendukung sebagai berikut : 1. Spesifikasi yang unik untuk tiap prosedur call 2. Respon message yang sesuai untuk tiap message yang diminta 3. Otentifikasi klien untuk tiap layanan dan sebaliknya Protokol Message RPC memiliki dua ( 2 ) struktur yang berbeda, yaitu call message dan reply message. Tiap klien yang akan melakukan RPC pada suatu server di jaringan akan menerima balasan (reply) berupa hasil dari eksekusi prosedur tersebut. Dengan menggunakan spesifikasi yang unik untuk tiap prosedure remote, maka RPC dapat mencocokkan message balasan untuk tiap call message yang diminta klien. Call Message Tiap call message pada RPC mengandung nilai- nilai unsigned integer yang digunakan untuk mengidentifikasi prosedur remote yang diminta. Nilai-nilai ini adalah : 1. Nomor Program 2. Nomor Versi dari Program 3. Nomor Prosedur Reply Message Reply message yang dikirimkan oleh server jaringan bervariasi tergantung apakah call messages yang diminta klien diterima atau ditolak. Reply message mengandung informasi yang digunakan untuk membedakan kondisi-kondisi yang diminta sesuai dengan call messages. Informasi ini antara lain : 1. RPM mengeksekusi call message dengan sukses 2. Implementasi remote tidak sesuai dengan protokol yang digunakan. Versi yang lebih rendah atau tinggi akan ditolak. 3. Program remote tidak tersedia pada sistem remote 4. Program remote tidak mendukung versi yang diminta klien 5. Nomor prosedur yang diminta tidak ada. Fitur dalam RPC RPC memiliki fitur - fitur sebagai berikut : batching calls, broadcasting calls, callback procedures dan using the select subroutine. Batching Calls Fitur Batching calls mengijinkan klien untuk mengirim message calls ke server dalam jumlah besar secara sequence ( berurutan ). Batching menggunakan protokol streaming byte seperti TCP / IP sebagai mediumnya. Pada saat melakukan batching, klien tidak menunggu server untuk memberikan reply terhadap tiap messages yang dikirim, begitu pula dengan server yang tidak pernah mengirimkan messages reply. Fitur inilah yang banyak digunakan klien, karena arsitektur RPC didesain agar pada tiap call message yang dikirimkan oleh klien harus ada proses menunggu balasan dari server. Oleh karena itu maka pihak klien harus dapat mengatasi error yang kemungkinan terjadi karena pihak klien tidak akan menerima peringatan apabila terjadi error pada message yang dikirim.
  • 4. Broadcasting Calls Fitur Broadcasting mengijinkan klien untuk mengirimkan paket data ke jaringan da n menunggu balasan dari network. FItur ini menggunakan protokol yang berbasiskan paket data seperti UDP/IP sebagai mediumnya. Broadcast RPC membutuhkan layanan port mapper RPC untuk mengimplementasikan fungsinya. Callback Procedures Fitur Callback Procedures mengijinkan server untuk bertindak sebagai klien dan melakukan RPC callback ke proses yang dijalankan oleh klien. Menggunakan select Subrutin Fitur ini akan memeriksa deskripsi dari suatu file dan messages dalam antrian untuk melihat apakah mereka siap untuk dibaca (diterima) atau ditulis (dikirim), atau mereka dalam kondisi ditahan sementara. Prosedur ini mengijinkan server untuk menginterupsi suatu aktivitas, memeriksa datanya, dan kemudian melanjutkan proses aktivitas tersebut. Otentifikasi RPC Proses otentifikasi adalah proses yang digunakan untuk mengidentifikasi server dan klien pada RPC. Untuk setiap prosedur remote yang dilakukan protokol RPC menyediakan slot yang dipakai sebagai parameter otentifikasi yang berfungsi agar pemanggil (caller) dapat, memberikan identitasnya kepada server. Parameter otentifikasi ini dibuat di paket klien. Otentifikasi RPC terdiri atas beberapa bagian. Berikut ini adalah bagian-bagian padaotentifikasi RPC : 1. Protokol Otentifikasi RPC Protokol Otentifikasi RPC disediakan sebagai bagian dari protokol RPC. Untuk setiap prosedur remote, semuanya diotentifikasi oleh paket RPC pada server. Parameter yang digunakan adalah respon verifier. Sedangkan pada pihak klien, setiap paket RPC diberikan parameter otentifikasi dan parameter yang digunakan adalah credential dan verifier. 2. Otentifikasi NULL Otentifikasi NULL digunakan pada sistem dimana pemanggil (caller) RPC tidak mengetahui identitasnya sendiri dan server tidak membutuhkan identitas pemanggil. 3. Otentifikasi UNIX Otentifikasi Unix digunakan pada prosedur remote di sistem UNIX. Jenis otentifikasi ini dibagi dua (2) yaitu otentifikasi pada sisi klien dan otentifiksi pada sisi server. Pada sisi klien, otentifikasi ini akan membuat otentifikasi handle dengan AIX permissions agar dapat berasosiasi dengan parameter credentials pada sistem UNIX. Sedangkan pada sisi server, server harus dapat menentukan tipe otentifikasi yang diberikan oleh pemanggil RPC. Penentuan dukungan terhadap tipe otentifikasi akan memberikan reply yang berbeda. 4. Otentifikasi Data Encryption Standard ( DES ) Otentifikasi DES membutuhkan keyserv daemon yang harus berjalan baik di sisi server maupun klien. Tiap pengguna pada sistem ini harus memiliki kunci public ( public key yang disahkan
  • 5. pada database kunci publik oleh Administrator jaringan tersebut. 5. Protokol Otentifikasi DES Protokol Otentifikasi DES meliputi protokol penanganan DES pada proses otentifikasi RPC. Protokol ini mencakup 64-bit blok data DES yang terenkripsi dan menentukan panjang maksimum untuk user name pada jaringan yang digunakan. 6. Enkripsi Diffie-Hellman Enkripsi Diffie-Hellman digunakan pada pembuatan kunci public pada otentifikasi DES dengan menggunakan 192-bit kunci. Enkripsi ini memiliki dua buah variable onstan, yaitu BASE dan MODULUS yang digunakan pada protokol otentifikasi DES. PC berhubungan hanya dengan proses otentifikasi, tidak dengan kontrol akses terhadap ervices/layanan individual yang diberikan. Tiap layanan mengimplementasikan eraturan mengenai kontrol akses masing- masing. Subsistem otentifikasi pada paket RPC bersifat open-ended, artinya beberapa tentifikasi dapat diasosiasikan pada RPC klien. Contoh Source Code dari RPC (Remote Procedur Call) : SOAP (Simple Object Access Protocol) Simple Object Access Protocol (SOAP) adalah sebuah standarisasi dasar dari protokol komunikasi untuk saling bertukar informasi terstruktur di antara aplikasi-aplikasi yang berjalan. SOAP adalah sebuah aplikasi pesan XML yang sangat bergantung pada skema XML dan XML namespaces untuk mendifinisikannya. SOAP juga sangat bergantung dengan beberapa protokol layer lainnya seperti HTTP, JMS, RPC untuk transmisi pesan. SOAP sangat efektif untuk berbabagai macam aplikasi untuk berkomunikasi walaupun berjalan pada sistem operasi yang berbeda dengan teknologi dan bahasa pemrograman yang berbeda-beda pula.
  • 6. Keuntungan dari SOAP       Format yang sederhana dan dapat dikembangkan Bisa dijalankan dimana saja tidak terbatas pada platform tertentu Bisa menggunakan bahasa pemrograman apa saja Multi-protocol seperti HTTP, JMS, RPC, SMTP, dll. Dapat melewati firewalls sehingga mendukung model HTTP get / reponse Tipe yang kuat dan melekat pada sebuah kontrak Kekurangan dari SOAP  Walaupun sederhana, pesannya dapat panjang karena kebutuhannya untuk mengemasnya dalam bentuk SOAP envelope  Karena SOAP berbasis XML, dibutuhkan waktu untuk parsing XML tersebut karena harus di kedua pihak melakukannya (pengirim dan penerima pesan)  Walaupun SOAP standart yang terbuka, tidak semua bahasa mendukung dengan baik. Yang terbaik untuk mendukung SOAP adalah JAVA, .Net, dan Flex. Contoh Source Code dari SOAP (Simple Object Acces Protocol) :
  • 7. REST (Representational State Transfer) REST adalah salah satu jenis web service yang menerapkan konsep perpindahan antar state. State disini dapat digambarkan seperti jika browser meminta suatu halaman web, maka serverakan mengirimkan state halaman web yang sekarang ke browser. Bernavigasi melalui linklink yang disediakan sama halnya dengan mengganti state dari halaman web. Begitu pula REST bekerja, dengan bernavigasi melalui link- link HTTP untuk melakukan aktivitas tertentu, seakanakan terjadi perpindahan state satu sama lain. Perintah HTTP yang b isa digunakan adalah fungsi GET, POST, PUT atau DELETE. Balasan yang dikirimkan adalah dalam bentuk XML sederhana tanpa ada protokol pemaketan data, sehingga informasi yang diterima lebih mudah dibaca dan diparsing disisi client. Dalam pengaplikasiannya, REST lebih banyak digunakan untuk web serviceyang berorientasi pada resource. Maksud orientasi pada resource adalah orientasi yang menyediakan resource-resource sebagai layanannya dan bukan kumpulan-kumpulan dari aktifitas yang mengolah resource itu.Alasan mengapa REST tidak digunakan dalam skripsi ini karena orientasi pada resourcenya itu,sedangkan aplikasi event calendar membutuhkan pemanggilan metode yang bisa dikerjakan terhadap kumpulan resource event. Selain itu, karena standarnya yang kurang sehingga tidak begitu cocok diterapkan dalam aplikasi yang membutuhkan kerjasama antar aplikasi lain, dimana standar yang baik akan sangat berguna karena berbicara dalam satu bahasa yang sama. Beberapa contoh web service yang menggunakan REST adalah: Flick r API(Application ProgramInterface), YouTube API, Amazon API.