TUGAS PEMROGRAMAN 3
MEMBUAT ESSAY TENTANG RPC, REST
DAN SOAP

Disusun Oleh :
BRIAN INDRA AGATHA HIA (1100631007)
MI A
TUGAS PEMROGRAMAN 3
MEMBUAT ESSAY TENTANG RPC, REST DAN SOAP

RPC ( Remote Procedure Call )
RPC adalah suatu protokol yang...
Fitur dalam RPC
RPC memiliki fitur - fitur sebagai berikut : batching calls, broadcasting
calls, callback procedures dan u...
 Menggunakan select Subrutin
Fitur ini akan memeriksa deskripsi dari suatu file dan messages dalam
antrian untuk melihata...
REST merupakan collection dari prinsip-prinsip arsitektur network yang menggambarkan
bagaimana mengakses resource yang did...
Contoh SourceCode REST

Simple Object Access Protocol SOAP
Simple Object Access Protocol (SOAP) adalah sebuah standarisasi...
SOAP Messages Structure

Keuntungan dari SOAP







Format yang sederhana dan dapat dikembangkan
Bisa dijalankan di...
Client.php
<?php
require_once('lib/nusoap.php');
// dua bilangan yang akan dijumlahkan
$bil1 = 10;
$bil2 = 25;
// instansi...
Upcoming SlideShare
Loading in...5
×

Tugas pemrograman3 rpc_rest_dan_soap_1100631007

67

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
67
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tugas pemrograman3 rpc_rest_dan_soap_1100631007

  1. 1. TUGAS PEMROGRAMAN 3 MEMBUAT ESSAY TENTANG RPC, REST DAN SOAP Disusun Oleh : BRIAN INDRA AGATHA HIA (1100631007) MI A
  2. 2. TUGAS PEMROGRAMAN 3 MEMBUAT ESSAY TENTANG RPC, REST DAN SOAP RPC ( Remote Procedure Call ) RPC adalah suatu protokol yang menyediakan suatu mekanisme komunikasi antar proses yang mengijinkan suatu program untuk berjalan pada suatu komputer tanpa terasa adanya eksekusi kode pada sistem yang jauh (remote system). RPC mengasumsi keberadaan dari low-level protokol transportasi seperti TCP atau UDP untuk membawa pesan data dalam komunikasi suatu program. Protokol RPC dibangun diatas protokol eXternal Data Representation (XDR), yang merupakan standar dari representasi data dalam komunikasi remote. Protokol XDR mengubah parameter dan hasil dari tiap servis RPC yang disediakan. Protokol RPC mengijinkan pengguna (users) untuk bekerja dengan prosedur remote sebagaimana bekerja dengan prosedur lokal. Prosedur panggilan remote (remote procedure calls) didefinisikan melalui rutin yang terkandung didalam protokol RPC. Tiap message dari panggilan akan disesuaikan dengan message balikan. Protokol RPC sendiri sebenarnya adalah suatu protokol untuk ”meneruskan pesan” yang mengimplemntasikan protokol non-RPC lain seperti panggilan remote batching dan broadcasting. Protokol ini juga mendukung adanya prosedur callback dan select subroutine pada sisi server.
  3. 3. Fitur dalam RPC RPC memiliki fitur - fitur sebagai berikut : batching calls, broadcasting calls, callback procedures dan using the select subroutine.  Batching Calls Fitur Batching calls mengijinkan klien untuk mengirim message calls ke server dalam jumlah besar secara sequence ( berurutan ). Batching menggunakan protokol streaming byte seperti TCP / IP sebagai mediumnya. Pada saat melakukan batching, klien tidak menunggu server untuk memberikan reply terhadap tiap messages yang dikirim, begitu pula dengan server yang tidak pernah mengirimkan messages reply. Fitur inilah yang banyak digunakan klien, karena arsitektur RPC didesain agar pada tiap call message yang dikirimkan oleh klien harus ada proses menunggu balasan dari server. Oleh karena itu maka pihak klien harus dapat mengatasi error yang kemungkinan terjadi karena pihak klien tidak akan menerima peringatan apabila terjadi error pada message yang dikirim.  Broadcasting Calls Fitur Broadcasting mengijinkan klien untuk mengirimkan paket data ke jaringan dan menunggu balasan dari network. FItur ini menggunakan protokol yang berbasiskan paket data seperti UDP/IP sebagai mediumnya. Broadcast RPC membutuhkan layanan port mapper RPC untuk mengimplementasikan fungsinya.  Callback Procedures Fitur Callback Procedures mengijinkan server untuk bertindak sebagai klien dan melakukan RPC callback ke proses yang dijalankan oleh klien.
  4. 4.  Menggunakan select Subrutin Fitur ini akan memeriksa deskripsi dari suatu file dan messages dalam antrian untuk melihatapakah mereka siap untuk dibaca (diterima) atau ditulis (dikirim), atau mereka dalam kondisi ditahan sementara. Prosedur ini mengijinkan server untuk menginterupsi suatu aktivitas, memeriksa datanya, dan kemudian melanjutkan proses aktivitas tersebut. CONTOH SOURCE CODE RPC Respresentational State Transfer (REST) 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. (REST – Respresentational State Transfer) itu, bukanlah spesifikasi standard seperti halnya XML-RPC dan SOAP, tapi desain dan style arsitektural dari arsitektur software berbasis network.
  5. 5. REST merupakan collection dari prinsip-prinsip arsitektur network yang menggambarkan bagaimana mengakses resource yang didefinisikan. REST (Representational State Transfer). Terminologi REST dikemukakan oleh Roy Fielding (salah satu penulis spesifikasi HTTP) dalam disertasi Ph.D. nya untuk menggambarkan sebuah style arsitektur dari sistem network. Ada dua pengartian REST, pertama: REST merupakan collection (saya menggunakan kata tetap collection, bukan koleksi, karena AtomPub menggunakan element untuk mendeskripsikan koleksi service) dari prinsip-prinsip arsitektur network yang menggambarkan bagaimana resource didefinisikan dan dialamati (bagaimana mengakses resource yang didefinisikan). Pengertian kedua: Sebuah interface yang mengirim data (pada domain tertentu) melalui HTTP tanpa menggunakan layer messaging seperti SOAP atau session tracking via HTTP cookies. Kedua pengertian ini dapat saling bertentangan dan saling menimpa. Kita dapat saja mendesain sistem perangkat lunak besar yang sesuai dengan style arsitektur REST tanpa perlu menggunakan HTTP dan tanpa perlu berinteraksi dengan WWW. Kita juga dapat mendesain interface berbasis XML+HTTP yang tidak sesuai dengan prinsip REST, tapi meniru RPC-style. Inilah yang yang membuat bingung, bagaimana sih terminologi REST harus digunakan? Dan sistem seperti apa sih yang sesuai dengan prinsip REST? Sistem yang mengikuti (mengimplementasi) sesuai dengan prinsip REST nya si Roy Fielding ini sering disebut sebagai RESTful. AtomPub (Atom Publishing Protocol) yang digunakan untuk posting blog sering dianggap sebagai standard RESTful protocol (saya akan bahas AtomPub juga, nanti). OK, sampai saat ini pasti konsep RESTful masih belum jelas bagi Anda, kita kembali lagi ke REST. Kenapa si Roy Fielding menyebut style arsitektur miliknya ini sebagai “Representational State Transfer” ? Hmmm.. Ada tiga kata yang perlu di jelaskan disini, yaitu “Representation” (saya akan selalu menggunakan kata representation, tapi tetap berarti suatu representasi, wujud atau bentuk), “State” dan “Transfer“. OK, kita anggap web terdiri atas kumpulan resources. Domaindomain di internet ini memberikan resources baik kepada browser atau aplikasi yang diprogram untuk mengakses resource tersebut. Sebuah resource merupakan sesuatu (dokumen, file atau apapun) yang dinginkan oleh pengakses (client). Browser menginginkan resource tersebut disajikan dalam dokumen HTML, aplikasi lain mengingikan dalam format XML agar bisa diolah lebih lanjut.
  6. 6. Contoh SourceCode REST 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 :
  7. 7. SOAP Messages Structure 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 SOAP Server.php <?php // mengincludekan file berisi class nusoap require_once('lib/nusoap.php'); // instansiasi class soap untuk server $server = new soap_server; // meregistrasi 'method' untuk proses penjumlahan dengan nama 'jumlahkan' $server->register('jumlahkan'); // detil isi method 'jumlahkan' function jumlahkan($x, $y) { return $x + $y; } // memberikan response service $HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : ''; $server->service($HTTP_RAW_POST_DATA); ?> Keterangan: Setiap method yang dibuat, nama method harus diregisterkan dengan perintah $server->register('nama method'); Langkah berikutnya, kita tulis script yang nantinya diletakkan di komputer A di sisi client.
  8. 8. Client.php <?php require_once('lib/nusoap.php'); // dua bilangan yang akan dijumlahkan $bil1 = 10; $bil2 = 25; // instansiasi obyek untuk class nusoap client $client = new nusoap_client('http://nomor_ip_komputerB/../server.php'); // proses call method 'jumlahkan' di script server.php yang ada di komputer B $result = $client->call('jumlahkan', array('x' => $bil1, 'y' => $bil2)); echo "<p>Hasil penjumlahan ".$bil1." dan ".$bil2." adalah ".$result."</p>"; ?> Jika script client.php ini dijalankan di komputer client (dalam hal ini komputer A), maka akan menghasilkan output sbb:

×