SlideShare a Scribd company logo
1 of 10
Download to read offline
Matakuliah Pemrograman 3

TUGAS ESAY
RPC, JOAP, REST

Di susun oleh :
NURIA SARI
1100631005

PROGRAM STUDI MANAJEMEN INFORMATIKA

FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH JEMBER
2013
Matakuliah Pemrograman 3

Remote Procedure Call (RPC)
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 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 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.
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.
Matakuliah Pemrograman 3

Struktur Protokol Message RPC


Call Message
Dilakukan oleh klien, dimana meminta server untuk mengeksekusi suatu prosedur.



Terdapat nilai-nilai

unsigned

integer

yang

digunakan

untuk

mengidentifikasi

prosedurremote yang diminta:
1. Nomor Program
2. Nomor Versi dari Program
3. Nomor Prosedur


Reply Message
Dikirimkan oleh server jaringan, bervariasi tergantung

apakah call messages yang

diminta klien diterima atau ditolak.


Mengandung informasi:

1. RPM mengeksekusi call message dengan sukses
2. Implementasi remote tidak sesuai dengan protokol yang digunakan (versi yang lebih
tinggi atau lebih rendah 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
1. Batching Calls
Mengijinkan klien untuk mengirim message calls ke server dalam jumlah besar secara
berurutan.
2. Broadcasting Calls
Menijinkan klien untuk mengirimkan paket data ke jaringan dan menunggu balasan dari
network.
Matakuliah Pemrograman 3

3. Callback Procedures
Mengijinkan server untuk bertindak sebagai klien dan melakukan PRC callback ke proses
yang dijalankan klien.
4.

Select Subrutin
Memeriksa deskripsi suatu file dan messages dalamantrian untuk melihat apakah siap
dibaca atau ditulis,atau ditahan. (mengijinkan server untuk menginterupsi suatu aktivitas.

Kelebihan RPC


Relatif mudah digunakan :
Pemanggilan remote procedure tidak jauh berbeda dibandingkan pemanggilan procedure
Sehingga pemrogram dapat berkonsentrasi pada software logic, tidak perlu memikirkan
low level details seperti socket, marshalling & unmarshalling.



Robust (Sempurna):
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

jaman dibandingkan OOP.

programming

yang

sudah

ketinggalan
Matakuliah Pemrograman 3

Contoh Sourcecode RPC

berikut menggambarkan bagaimana melakukan panggilan dikonfirmasi di Python

Simple Object Access Protocol (SOAP)
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.
Pesan SOAP mempunyai struktur sebagai berikut :
Matakuliah Pemrograman 3

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

Peran SOAP Dalam Teknologi Web Service
Peran SOAP di dalam teknologi web service adalah sebagai protocol pemaketan untuk
pesan (messages) yang digunakan secara bersama oleh aplikasi-aplikasi penggunanya.
Spesifikasi yang digunakan tidak lebih seperti sebuah amplop biasa berbasis XML untuk
informasi yang ditransfer, serta sekumpulan aturan bagi translasi aplikasi dan tipe-tipe data
platform yang spesifik menjadi bentuk XML. Desain bentuk dari SOAP membuatnya cocok
untuk berbagai pertukaran pesan pada aplikasi.
Matakuliah Pemrograman 3

Contoh program sederhana Soap
Server.php
Matakuliah Pemrograman 3

Client.php

Output
Matakuliah Pemrograman 3

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 bisa 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 resourceresource 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: Flickr
API(Application ProgramInterface), YouTube API, Amazon API.
Meskipun pada tahun-tahun terakhir ini kita lihat pertumbuhan jumlah web servis, meski
publisitas SOAP sudah berkurang. Arsitek internet memiliki alasan bagus telah meminggirkan
SOAP, karena ada metode yang lebih baik untuk membangun web servis dalam bentuk
Representational State Transfer (REST).
REST lebih merupakan filosofi tua ketimbang teknologi baru, tetapi merupakan wujud yang
kemudian lahir sebagai teknologi. SOAP terlihat melompat, memulai fase berikutnya dari
pengembangan internet dengan sejumlah spesifikasi baru, sedang REST berfilosofi bahwa
prinsip-prinsip yang ada dan protokol web sudah cukup untuk membuat web servis yang baik.
Ini berarti bahwa pengembang yang paham tentang HTTP dan XML dapat langsung mulai
Matakuliah Pemrograman 3

membangun web servis, tanpa perlu ada toolkit yang biasanya tidak mereka gunakan untuk
pengembangan aplikasi Internet.
Contoh program sederhana REST.

More Related Content

What's hot

Tugas pemrograman III_1100631028
Tugas pemrograman III_1100631028Tugas pemrograman III_1100631028
Tugas pemrograman III_1100631028Edwin Prassetyo
 
Tugas pemrograman iii rpc soap rest
Tugas pemrograman iii rpc soap restTugas pemrograman iii rpc soap rest
Tugas pemrograman iii rpc soap restAsfiyuli Wulandari
 
Rifqi hanifmaulana 1100631036_rpc_soap_rest
Rifqi hanifmaulana 1100631036_rpc_soap_restRifqi hanifmaulana 1100631036_rpc_soap_rest
Rifqi hanifmaulana 1100631036_rpc_soap_restRifqi Hanif Maulana
 
Tugas atpi ade maretha & arista bayu
Tugas atpi ade maretha & arista bayuTugas atpi ade maretha & arista bayu
Tugas atpi ade maretha & arista bayuFebriy Y
 
Tugas pemograman III
Tugas pemograman IIITugas pemograman III
Tugas pemograman IIIahmadferi1
 
Tugas atpi aufar abi atpi
Tugas atpi aufar abi atpiTugas atpi aufar abi atpi
Tugas atpi aufar abi atpiFebriy Y
 
Bab jenis protokol jaringan
Bab jenis protokol jaringanBab jenis protokol jaringan
Bab jenis protokol jaringankrisdjayanti1
 
Jeni Web Programming Bab 1 Pengenalan Pemrograman Web
Jeni Web Programming Bab 1 Pengenalan Pemrograman WebJeni Web Programming Bab 1 Pengenalan Pemrograman Web
Jeni Web Programming Bab 1 Pengenalan Pemrograman WebIndividual Consultants
 
Web services sebagai penyedia layanan
Web services sebagai penyedia layananWeb services sebagai penyedia layanan
Web services sebagai penyedia layananiimpunya3
 
Modul 12rev1
Modul 12rev1Modul 12rev1
Modul 12rev1gung_sono
 
Web Service - Toni Eko Saputro 1011511571
Web Service - Toni Eko Saputro 1011511571Web Service - Toni Eko Saputro 1011511571
Web Service - Toni Eko Saputro 1011511571Toni Eko Saputro
 

What's hot (16)

Tugas pemrograman III_1100631028
Tugas pemrograman III_1100631028Tugas pemrograman III_1100631028
Tugas pemrograman III_1100631028
 
Kelompok 7
Kelompok 7Kelompok 7
Kelompok 7
 
Tugas pemrograman iii rpc soap rest
Tugas pemrograman iii rpc soap restTugas pemrograman iii rpc soap rest
Tugas pemrograman iii rpc soap rest
 
Rifqi hanifmaulana 1100631036_rpc_soap_rest
Rifqi hanifmaulana 1100631036_rpc_soap_restRifqi hanifmaulana 1100631036_rpc_soap_rest
Rifqi hanifmaulana 1100631036_rpc_soap_rest
 
Tugas atpi ade maretha & arista bayu
Tugas atpi ade maretha & arista bayuTugas atpi ade maretha & arista bayu
Tugas atpi ade maretha & arista bayu
 
Tugas pemograman III
Tugas pemograman IIITugas pemograman III
Tugas pemograman III
 
Tugas atpi aufar abi atpi
Tugas atpi aufar abi atpiTugas atpi aufar abi atpi
Tugas atpi aufar abi atpi
 
Bab jenis protokol jaringan
Bab jenis protokol jaringanBab jenis protokol jaringan
Bab jenis protokol jaringan
 
Web Services
Web ServicesWeb Services
Web Services
 
Jeni Web Programming Bab 1 Pengenalan Pemrograman Web
Jeni Web Programming Bab 1 Pengenalan Pemrograman WebJeni Web Programming Bab 1 Pengenalan Pemrograman Web
Jeni Web Programming Bab 1 Pengenalan Pemrograman Web
 
Web services sebagai penyedia layanan
Web services sebagai penyedia layananWeb services sebagai penyedia layanan
Web services sebagai penyedia layanan
 
Modul 12rev1
Modul 12rev1Modul 12rev1
Modul 12rev1
 
Web Service - Toni Eko Saputro 1011511571
Web Service - Toni Eko Saputro 1011511571Web Service - Toni Eko Saputro 1011511571
Web Service - Toni Eko Saputro 1011511571
 
Kelompok 6
Kelompok 6Kelompok 6
Kelompok 6
 
Ftp server
Ftp serverFtp server
Ftp server
 
UDP and TCP
UDP and TCPUDP and TCP
UDP and TCP
 

Viewers also liked

Viewers also liked (20)

Tokoh it indonesia siswa pemenang
Tokoh it indonesia siswa pemenangTokoh it indonesia siswa pemenang
Tokoh it indonesia siswa pemenang
 
Poetry pp1
Poetry pp1Poetry pp1
Poetry pp1
 
Voip trends for 2013
Voip trends for 2013Voip trends for 2013
Voip trends for 2013
 
Json 1100631005 nuriasari
Json 1100631005 nuriasariJson 1100631005 nuriasari
Json 1100631005 nuriasari
 
Json 1100631005 nuriasari
Json 1100631005 nuriasariJson 1100631005 nuriasari
Json 1100631005 nuriasari
 
New Doc 1_1
New Doc 1_1New Doc 1_1
New Doc 1_1
 
ITIO Tema 2
ITIO Tema  2ITIO Tema  2
ITIO Tema 2
 
Wordpress
WordpressWordpress
Wordpress
 
O homem e a mulher
O homem e a mulher O homem e a mulher
O homem e a mulher
 
Formación de usuarios ENF
Formación de usuarios ENFFormación de usuarios ENF
Formación de usuarios ENF
 
Eternyonpresentationptbrofficialv02 140120131557-phpapp01-140120155629-phpapp02
Eternyonpresentationptbrofficialv02 140120131557-phpapp01-140120155629-phpapp02Eternyonpresentationptbrofficialv02 140120131557-phpapp01-140120155629-phpapp02
Eternyonpresentationptbrofficialv02 140120131557-phpapp01-140120155629-phpapp02
 
CEREJA SOCIAL MEDIA: Criação e curadoria de conteúdo.
CEREJA SOCIAL MEDIA: Criação e curadoria de conteúdo.CEREJA SOCIAL MEDIA: Criação e curadoria de conteúdo.
CEREJA SOCIAL MEDIA: Criação e curadoria de conteúdo.
 
Informaci[1]..
Informaci[1]..Informaci[1]..
Informaci[1]..
 
Presentacion Final
Presentacion FinalPresentacion Final
Presentacion Final
 
Unidad 11. La ConstruccióN Europea.
Unidad 11. La ConstruccióN Europea.Unidad 11. La ConstruccióN Europea.
Unidad 11. La ConstruccióN Europea.
 
Organização dos seres vivos
Organização dos seres vivosOrganização dos seres vivos
Organização dos seres vivos
 
MS Certificate
MS CertificateMS Certificate
MS Certificate
 
La educación bilingüe en Andalucía. Auxiliares de conversación 20142015
La educación bilingüe en Andalucía. Auxiliares de conversación 20142015La educación bilingüe en Andalucía. Auxiliares de conversación 20142015
La educación bilingüe en Andalucía. Auxiliares de conversación 20142015
 
A nossa estatística
A nossa estatística  A nossa estatística
A nossa estatística
 
Capitulo dois
Capitulo doisCapitulo dois
Capitulo dois
 

Similar to Rpc, soap,rest

Esai rpc, soap, dan rest
Esai rpc, soap, dan restEsai rpc, soap, dan rest
Esai rpc, soap, dan restUlil Uliland
 
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
 
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 atpi anastasia dita fitria irmalasari
Tugas atpi anastasia dita fitria irmalasariTugas atpi anastasia dita fitria irmalasari
Tugas atpi anastasia dita fitria irmalasariFebriy Y
 
Protocol jaringan komputer
Protocol jaringan komputerProtocol jaringan komputer
Protocol jaringan komputerAmiroh S.Kom
 
Tugas atpi aplikasi teknologi pengelolaan informasi
Tugas atpi aplikasi teknologi pengelolaan informasiTugas atpi aplikasi teknologi pengelolaan informasi
Tugas atpi aplikasi teknologi pengelolaan informasiFebriy Y
 
Tugas 7 – rekayasa web
Tugas 7 – rekayasa webTugas 7 – rekayasa web
Tugas 7 – rekayasa webikasulistiyani
 
05. Affiliate Marketing & Webservices
05. Affiliate Marketing & Webservices05. Affiliate Marketing & Webservices
05. Affiliate Marketing & WebservicesJarot Syahputro
 
Pengenalan SOA serta implementasinya pada aplikasi SS (Support System)
Pengenalan SOA serta implementasinya pada aplikasi SS (Support System)Pengenalan SOA serta implementasinya pada aplikasi SS (Support System)
Pengenalan SOA serta implementasinya pada aplikasi SS (Support System)Dimas Prawira
 
Tugaas pemograman 3 1100631034
Tugaas pemograman 3   1100631034Tugaas pemograman 3   1100631034
Tugaas pemograman 3 1100631034ariunmuh
 
Web Service dan service oriented architecture
Web Service dan service oriented architectureWeb Service dan service oriented architecture
Web Service dan service oriented architectureseptiara5
 
Jeni web programming-bab 1-pengenalan pemrograman web
Jeni web programming-bab 1-pengenalan pemrograman webJeni web programming-bab 1-pengenalan pemrograman web
Jeni web programming-bab 1-pengenalan pemrograman webSejahtera Affif
 
Tugas7 ku-0316-rekweb
Tugas7 ku-0316-rekwebTugas7 ku-0316-rekweb
Tugas7 ku-0316-rekwebElisanendes
 
Tugas atpi 1 dea alifa d & kamilah kinanti
Tugas atpi 1 dea alifa d & kamilah kinantiTugas atpi 1 dea alifa d & kamilah kinanti
Tugas atpi 1 dea alifa d & kamilah kinantiFebriy Y
 

Similar to Rpc, soap,rest (20)

Esai rpc, soap, dan rest
Esai rpc, soap, dan restEsai rpc, soap, dan rest
Esai rpc, soap, dan 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
 
Sister 04 - remote procedure call (rpc)
Sister   04 - remote procedure call (rpc)Sister   04 - remote procedure call (rpc)
Sister 04 - remote procedure call (rpc)
 
Tugas atpi anastasia dita fitria irmalasari
Tugas atpi anastasia dita fitria irmalasariTugas atpi anastasia dita fitria irmalasari
Tugas atpi anastasia dita fitria irmalasari
 
Kelompok 7
Kelompok 7Kelompok 7
Kelompok 7
 
Presentation1
Presentation1Presentation1
Presentation1
 
Protocol jaringan komputer
Protocol jaringan komputerProtocol jaringan komputer
Protocol jaringan komputer
 
Osi layers
Osi layersOsi layers
Osi layers
 
Tugas atpi aplikasi teknologi pengelolaan informasi
Tugas atpi aplikasi teknologi pengelolaan informasiTugas atpi aplikasi teknologi pengelolaan informasi
Tugas atpi aplikasi teknologi pengelolaan informasi
 
Tugas 7 – rekayasa web
Tugas 7 – rekayasa webTugas 7 – rekayasa web
Tugas 7 – rekayasa web
 
05. Affiliate Marketing & Webservices
05. Affiliate Marketing & Webservices05. Affiliate Marketing & Webservices
05. Affiliate Marketing & Webservices
 
Jarkom Pertemuan 9
Jarkom Pertemuan 9Jarkom Pertemuan 9
Jarkom Pertemuan 9
 
Pengenalan SOA serta implementasinya pada aplikasi SS (Support System)
Pengenalan SOA serta implementasinya pada aplikasi SS (Support System)Pengenalan SOA serta implementasinya pada aplikasi SS (Support System)
Pengenalan SOA serta implementasinya pada aplikasi SS (Support System)
 
Tugaas pemograman 3 1100631034
Tugaas pemograman 3   1100631034Tugaas pemograman 3   1100631034
Tugaas pemograman 3 1100631034
 
Web Service dan service oriented architecture
Web Service dan service oriented architectureWeb Service dan service oriented architecture
Web Service dan service oriented architecture
 
Jeni web programming-bab 1-pengenalan pemrograman web
Jeni web programming-bab 1-pengenalan pemrograman webJeni web programming-bab 1-pengenalan pemrograman web
Jeni web programming-bab 1-pengenalan pemrograman web
 
API by Sandi Hermawan
API by Sandi HermawanAPI by Sandi Hermawan
API by Sandi Hermawan
 
Tugas7 ku-0316-rekweb
Tugas7 ku-0316-rekwebTugas7 ku-0316-rekweb
Tugas7 ku-0316-rekweb
 
Tugas atpi 1 dea alifa d & kamilah kinanti
Tugas atpi 1 dea alifa d & kamilah kinantiTugas atpi 1 dea alifa d & kamilah kinanti
Tugas atpi 1 dea alifa d & kamilah kinanti
 

Rpc, soap,rest

  • 1. Matakuliah Pemrograman 3 TUGAS ESAY RPC, JOAP, REST Di susun oleh : NURIA SARI 1100631005 PROGRAM STUDI MANAJEMEN INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH JEMBER 2013
  • 2. Matakuliah Pemrograman 3 Remote Procedure Call (RPC) 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 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 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. 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.
  • 3. Matakuliah Pemrograman 3 Struktur Protokol Message RPC  Call Message Dilakukan oleh klien, dimana meminta server untuk mengeksekusi suatu prosedur.  Terdapat nilai-nilai unsigned integer yang digunakan untuk mengidentifikasi prosedurremote yang diminta: 1. Nomor Program 2. Nomor Versi dari Program 3. Nomor Prosedur  Reply Message Dikirimkan oleh server jaringan, bervariasi tergantung apakah call messages yang diminta klien diterima atau ditolak.  Mengandung informasi: 1. RPM mengeksekusi call message dengan sukses 2. Implementasi remote tidak sesuai dengan protokol yang digunakan (versi yang lebih tinggi atau lebih rendah 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 1. Batching Calls Mengijinkan klien untuk mengirim message calls ke server dalam jumlah besar secara berurutan. 2. Broadcasting Calls Menijinkan klien untuk mengirimkan paket data ke jaringan dan menunggu balasan dari network.
  • 4. Matakuliah Pemrograman 3 3. Callback Procedures Mengijinkan server untuk bertindak sebagai klien dan melakukan PRC callback ke proses yang dijalankan klien. 4. Select Subrutin Memeriksa deskripsi suatu file dan messages dalamantrian untuk melihat apakah siap dibaca atau ditulis,atau ditahan. (mengijinkan server untuk menginterupsi suatu aktivitas. Kelebihan RPC  Relatif mudah digunakan : Pemanggilan remote procedure tidak jauh berbeda dibandingkan pemanggilan procedure Sehingga pemrogram dapat berkonsentrasi pada software logic, tidak perlu memikirkan low level details seperti socket, marshalling & unmarshalling.  Robust (Sempurna): 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 jaman dibandingkan OOP. programming yang sudah ketinggalan
  • 5. Matakuliah Pemrograman 3 Contoh Sourcecode RPC berikut menggambarkan bagaimana melakukan panggilan dikonfirmasi di Python Simple Object Access Protocol (SOAP) 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. Pesan SOAP mempunyai struktur sebagai berikut :
  • 6. Matakuliah Pemrograman 3 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 Peran SOAP Dalam Teknologi Web Service Peran SOAP di dalam teknologi web service adalah sebagai protocol pemaketan untuk pesan (messages) yang digunakan secara bersama oleh aplikasi-aplikasi penggunanya. Spesifikasi yang digunakan tidak lebih seperti sebuah amplop biasa berbasis XML untuk informasi yang ditransfer, serta sekumpulan aturan bagi translasi aplikasi dan tipe-tipe data platform yang spesifik menjadi bentuk XML. Desain bentuk dari SOAP membuatnya cocok untuk berbagai pertukaran pesan pada aplikasi.
  • 7. Matakuliah Pemrograman 3 Contoh program sederhana Soap Server.php
  • 9. Matakuliah Pemrograman 3 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 bisa 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 resourceresource 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: Flickr API(Application ProgramInterface), YouTube API, Amazon API. Meskipun pada tahun-tahun terakhir ini kita lihat pertumbuhan jumlah web servis, meski publisitas SOAP sudah berkurang. Arsitek internet memiliki alasan bagus telah meminggirkan SOAP, karena ada metode yang lebih baik untuk membangun web servis dalam bentuk Representational State Transfer (REST). REST lebih merupakan filosofi tua ketimbang teknologi baru, tetapi merupakan wujud yang kemudian lahir sebagai teknologi. SOAP terlihat melompat, memulai fase berikutnya dari pengembangan internet dengan sejumlah spesifikasi baru, sedang REST berfilosofi bahwa prinsip-prinsip yang ada dan protokol web sudah cukup untuk membuat web servis yang baik. Ini berarti bahwa pengembang yang paham tentang HTTP dan XML dapat langsung mulai
  • 10. Matakuliah Pemrograman 3 membangun web servis, tanpa perlu ada toolkit yang biasanya tidak mereka gunakan untuk pengembangan aplikasi Internet. Contoh program sederhana REST.