tugas pemogrman 3_tentang rpc,soap dan rest
Post on 28-May-2015
240 Views
Preview:
DESCRIPTION
TRANSCRIPT
TUGAS
PEMROGRAMAN 3
WAWAN KURNIAWAN
1100631015
FAKULTAS TEKNIK MANAJEMEN INFORMATIKA
UNIVERSITAS MUHAMMADIYAH JEMBER
2013
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.
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 dan 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
Contoh source code dari Remote Procedure Call (RPC)
Simple Object Access Protokol (SOAP)
Simple Object Access Protokol (SOAP) adalah singkatan dari Simple Object Access
Protocol, merupakan sebuah protokol komunikasi client server yang mengirim dan menerima
informasi "di atas HTTP". Data yang dikirim dan diterima dalam format XML. SOAP hampir
sama dengan protokol XMLRP, hanya saja SOAP lebih cocok digunakan untuk data kompleks
yang dikirim antar client-server.
Secara konseptual SOAP dapat dianggap sebagai DCOM versi XML. SOAP merupakan
mekanisme lain yang memungkinkan penggunaan remote procedure call. SOAP bersifat netral
platform, netral bahasa dan tidak bergantung pada suatu objek model. Sehingga SOAP-enabled
distributed application dapat menjangkau beragam operating sistem, dimana terdiri dari objek yang
berasal dari vendor yang berbeda, ditulis pada bahasa yang berbeda, dan didasarkan pada objek
model yang berbeda.
SOAP menjadi sangat mudah diterima oleh berbagai pihak – terutama oleh berbagai vendor TI –
dikarenakan protokol ini memanfaatkan berbagai teknologi yang sudah ada sebelumnya dan sudah
banyak digunakan. Misalnya untuk protokol transport, yang paling banyak digunakan adalah
HTTP, walaupun dimungkinkan untuk menggunakan protokol transport lainnya. Sedangkan untuk
format data atau message digunakan XML yang tidak diragukan lagi manfaat dan perannya di
dalam pertukaran data. Dengan demikian, tidaklah terlalu mengherankan bila kemudian SOAP
dianggap sebagai solusi penyelamat untuk mengatasi berbagai masalah yang dihadapi oleh
teknologi – teknologi pendahulunya.
Arsitektur SOAP
Pesan SOAP berbentuk seperti sebuah envelope yang berisi header (optional) dan body (required).
Header berisi blok informasi yang berhubungan dengan bagaimana pesan tersebut diproses. Hal
ini meliputi pe-routingan dan delivery setting, authentication atau authorization assertions, and
transaction contexts. Body berisi pesan sebenarnya yang dikirim dan diproses. Semua yang dapat
ditampilkan dengan sintaks XML dapat dimasukkan dalam pesan body.
Setiap elemen Envelope harus berisi tepat satu elemen Body. Elemen Body dapat berisi sebanyak
mungkin child nodes yang diperlukan. Isi dari elemen Body adalah pesan. Elemen Body ditentukan
dalam suatu cara dimana dapat berisi valid dan wellformed XML yang telah dibatasi oleh suatu
namespace (qualified).
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 Simple Object Access Protokol (SOAP)
Representational State Transfer (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
Contoh source code dari Representational State Transfer (REST)
top related