Rpc, soap,rest

25

Click here to load reader

Transcript of Rpc, soap,rest

Page 1: 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

Page 2: Rpc, soap,rest

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.

Page 3: Rpc, soap,rest

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.

Page 4: Rpc, soap,rest

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.

Page 5: Rpc, soap,rest

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 :

Page 6: Rpc, soap,rest

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.

Page 7: Rpc, soap,rest

Matakuliah Pemrograman 3

Contoh program sederhana Soap

Server.php

Page 8: Rpc, soap,rest

Matakuliah Pemrograman 3

Client.php

Output

Page 9: Rpc, soap,rest

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

Page 10: Rpc, soap,rest

Matakuliah Pemrograman 3

membangun web servis, tanpa perlu ada toolkit yang biasanya tidak mereka gunakan untuk

pengembangan aplikasi Internet.

Contoh program sederhana REST.