REST == Architecture Style

Nah dengan demikian kita membuat implementasi detail tidak kelihatan. Nah jadi dimana code yg menangani URL trsebut di server ?? Bagaimana caranya ?? Nah klo misalnya udh familiar dengan web development. Maka kita biasa membuat URL seperti ini

http://www.acme.com/phonebook/UserDetails?id=12345

Nah kita dapat melakukan URL Rewriting sehingga lebih menceriminkan resource dan lebih clean

http://www.acme.com/phonebook/UserDetails/12345


Nah tricknya adalah pada web server. Kita harus mengkonfigurasi web server tersebut. Sehingga request tersebut dapat diformat. Biasanya dilakukan dengan regular expression

Kita menggunakan GET untuk retrival data. GET hanya digunakan untuk operasi2 readonly. Dant tidak mengubah state atau data dari server. Nah jadi klo parameter yg mw dikirim itu banyak gimana ? Yup situ bias diatasin contohnya.

http://www.acme.com/phonebook/UserDetails?firstName=John&lastName=Doe

Nah klo misalnya kita ingin submit data dalam jumlah yg banyak kita dapat menggunakan HTTP POST dan memasukkan parameter tersebut dalam POST body. Untuk membuat atau create kita menggunakan POST request. Tapi bias juga untuk Update dan Delete atau bahkan query read only kalau melibatkan parameter yg complex.

REST dapat menggunakan XML sebagai respon tetapi jarang sekali request menggunakan XML. Karena biasanya data atau parameter yg dilewatkan sederhana.
Kita harus selalu waspada terhadap validitas dari input yg dikirim ke server karena sifatnya yg stateless.

Response REST contohnya dalam XML adalah

<parts-list>
 <part id="3322">
  <name>ACME Boomerang</name>
  <desc>
   Used by Coyote in <i>Zoom at the Top</i>, 1962
  </desc>
  <price currency="usd" quantity="1">17.32</price>
  <uri>http://www.acme.com/parts/3322</uri>
 </part>
 <part id="783">
  <name>ACME Dehydrated Boulders</name>
  <desc>
   Used by Coyote in <i>Scrambled Aches</i>, 1957
  </desc>
  <price currency="usd" quantity="pack">19.95</price>
  <uri>http://www.acme.com/parts/783</uri>
 </part>
</parts-list>

Tapi juga mendukung format lain tidak seperti SOAP yg terbatas pada XML. REST mendkung XML, JSON, CVS. Masing2 memiliki keuntungannya sendiri. Klo make javascript gampangan pake JSON. Apalagi kalo emang kita mw bikin web dengan ajax. Maka clop lah JSON yg jadi pemenang. Dengan ajax kita dapat melakukan pemanggilan ke server dengan mengguakan XmlHTTPRequest. Nah untuk bikin aplikasi AJAX jadi RESTful maka kita harus mengikuti standar rest design principle.

  1. June 24, 2009 at 7:59 am

    namun ajax, apalagi JSON itu rentan terhadap security wel.

    gimana klo URI nya menjadi
    http://www.acme.com/phonebook/UserDetails/firstName/lastName

    Hahaha.. lupakan saja. Itu diatur di dengan url rewriting, seperti yang kau bilang. dengan regular expression. Mantap wel. mantap.. jadi gatal pengen pegang java && (Eclipse || Netbeans)

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: