Download - Pemograman3 (RPC,SOAP,REST) 1100631043
RPC (Remote Procedur Call), SOAP (Simple Object Access Protocol), dan
REST (REpresentational State Transfer)
1. 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.
Keuntungan dari SOAP
tidak terbatas pada platform tertentu
-protocol seperti HTTP, JMS, RPC, SMTP, dll.
firewalls sehingga mendukung model HTTP get / reponse
ntrak
Kekurangan dari SOAP
Walaupun sederhana, pesannya dapat panjang karena kebutuhannya untuk
mengemasnya dalam bentuk SOAP envelope
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
2. 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 me-request kepada
sebuah matchmaker pada sebuah RPC port yang tetap. Matchmaker akan
memberikan port apa yang digunakan oleh prosedur yang diminta client.
Kelebihan RPC
a. 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.
b. Robust (Sempurna):
Sejak th 1980-an RPC telah banyak digunakan dlm pengembangan mission
critical application yg memerlukan scalability, fault tolerance, & reliability.
Kekurangan RPC
a. Tidak fleksibel terhadap perubahan:
Static relationship between client & server at run-time. Berdasarkan
prosedural/structured programming yang sudah ketinggalan jaman dibandingkan
OOP.
3. REST (REpresentational State Transfer)
REST merupkan 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 service
yang 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 Program Interface), YouTube API, Amazon API.
Keuntungan REST
bahasa dan platform agnostic
lebih sederhana/simpel untuk dikembangkan ketimbang SOAP
mudah dipelajari, tidak bergantung pada tools
ringkas, tidak membutuhkan layer pertukaran pesan (messaging) tambahan
secara desain dan filosofi lebih dekat dengan web
Kelemahan REST
Mengasumsi model point-to-point komunikasi - tidak dapat digunakan untuk
lingkungan komputasi terdistribusi di mana pesan akan melalui satu atau lebih
perantara
Kurangnya dukungan standar untuk keamanan, kebijakan, keandalan pesan, dll,
sehingga layanan yang mempunyai persyaratan lebih canggih lebih sulit untuk
dikembangkan ("dipecahkan sendiri")
Berkaitan dengan model transport HTTP
contoh program sederhana mengenai penggunaan RPC, SOAP dan REST
a. Contoh Source Code SOAP
SOAP Server
SOAP Client
b. Contoh Source Code REST