Thursday, November 22, 2012

Web Service - RESTful web api

Setelah bersabun ria, mari kita beristirahat. (*dibaca REST). Yup, itu translate.google.com yang mengartikan seperti itu. Tapi, sebenarnya REST sendiri bukan berarti istirahat. Jadi apa itu REST?

REST(REpresentational State Transfer) merupakan sebuah teknik di arsitektur software untuk sistem terdistribusi seperti World Web Wide . REST tidak memerlukan parsing XML dan tidak memerlukan sebuah header pesan ke dan dari penyedia layanan. Hal ini pada akhirnya menggunakan mengurangi penggunaan bandwidth.

RESTful web service atau juga dikenal dengan nama RESTful Web API merupakan sebuah web service yang di implemantasikan dengan menggunakan http dengan menggunakan prinsip-prinsip REST. Service yang digunakan menggunakan method milik http antara lain GET, PUT, POST or DELETE.

Mungkin secara teori seperti itu. Bagaimana biar tahu penggunaan method yang ada? apakah itu GET, PUT, POST atau DELETE? Cara yang paling gampang adalah gunakan perintah ini di php: 

<?php
  print_r($_SERVER);
?>

Maka nanti yang akan keluar data array dari constanta $_SERVER. Dan perhatikan pada bagian :

[REQUEST_METHOD] => GET

Bagian tersebut yang mendefinisikan bahwa request dari client ke server itu berupa method apa. Dengan begitu pihak server bisa mendefinisikan perintah2 yang akan di gunakan untuk meresponse GET tersebut. 

Untuk library simple RESTful bisa menggunakan Simple-Rest. Tinggal di custome sesuai kebutuhan. Untuk client, bisa menggunakan salah satu extensi dari google chrome ini: Simple-Rest-Client-Chrome

Untuk penggunaan method GET, POST, PUT, atau DELETE bisa sesuai kebutuhan.

  1. GET: bisa digunakan apabila request ke server merupakan data yang sedikit. Karena GET ada keterbatasan data. Contoh pengguanan URL di browser
  2. POST: bisa di gunakan apabila pengiriman data dengan data yang banyak. Contoh: data yang ada di form dengan method post.
  3. PUT: bisa di gunakan untuk pengiriman file melalui service. Contoh: upload file
  4. DELETE: Untuk yang satu ini sangat jarang digunakan. Karena terkadang bisa di wakili oleh GET. Tapi, ada baiknya digunakan untuk proses penghapusan di data diserver.
Untuk hasil response dari server, RESTful dapat mengeluarkan data berupa json, xml dan text format. Sehingga penggunaannya sesuai kesepakatan. Apakah akan menggunakan xml, json atau text sebagai pesan yang di kirim kan.

Untuk RESTful ini memiliki kelemahan, yaitu tidak ada standarisasi format pesan. Jadi untuk format pesan akan di buat sesuai kebutuhan atau kesepakatan bersama.

*Semoga Bermanfaat*

Share this