Rpc, soap,rest
Click here to load reader
-
Upload
universitas-muhammadiyah-jember -
Category
Documents
-
view
148 -
download
3
Transcript of Rpc, soap,rest
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 programming yang sudah ketinggalan
jaman dibandingkan OOP.
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 link-
link yang disediakan sama halnya dengan mengganti state dari halaman web. Begitu pula REST
bekerja, dengan bernavigasi melalui link-link HTTP untuk melakukan aktivitas tertentu, seakan-
akan 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 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: 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.