Tugas pemogrman 3_tentang RPC,SOAP DAN REST

6

Click here to load reader

description

RPC,SOAP DAN REST

Transcript of Tugas pemogrman 3_tentang RPC,SOAP DAN REST

Page 1: Tugas pemogrman 3_tentang RPC,SOAP DAN REST

TUGAS

PEMROGRAMAN 3

WAWAN KURNIAWAN

1100631015

FAKULTAS TEKNIK MANAJEMEN INFORMATIKA

UNIVERSITAS MUHAMMADIYAH JEMBER

2013

Page 2: Tugas pemogrman 3_tentang RPC,SOAP DAN REST

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

Page 3: Tugas pemogrman 3_tentang RPC,SOAP DAN REST

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.

Page 4: Tugas pemogrman 3_tentang RPC,SOAP DAN REST

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)

Page 5: Tugas pemogrman 3_tentang RPC,SOAP DAN REST

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

Page 6: Tugas pemogrman 3_tentang RPC,SOAP DAN REST

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)