2009/4/1 Jecki <jecki...@gmail.com>:
> kelebihan JAX-RS apa nih josh?

Disclaimer: Bagi beberapa orang hal ini memang tidak penting, tetapi
bagi yang peduli dengan arsitektur dan standard.

Yang gw suka dari JAX-RS alasan utamanya adalah RESTful service-nya.
Intinya dari JAX-RS gw bisa panggil resource dengan pretty URL.  Well
gw gak akan ngomongin apa itu REST karena itu adalah satu disertasi
seorang Roy Fielding penjelasannya :-D Nah RESTful yang kek ginian
udah lama ada di Rails, dan Java 'agak' ketinggalan dalam hal seperti
ini. Tapi gpp, karena JAX-RS adalah sebuah standard dan Rails bukan.

Ok dibandingkan dengan Rails untuk men-define sebuah Resource itu jauh
lebih mudah karena cuman pakai annotation aja, sedangkan di Rails kita
harus configure di routes.rb yang bisa ribet kalau banyak nested
resource.

Di JAX-RS kita tinggal bikin Resource object yang kira-kira seperti ini:
@Path("/product")
public class ProductResource {
    @GET
    @Produces("application/json")
    @Path("{id}")
    public String getProduct(@PathParam("id") int id) {
        ...
    }
}

Yang intinya bisa manggil service sbb: http://localhost:9000/product/1

Ya kalau gitu aja di Rails juga bisa ya. Tapi gimana kalau mau panggil
service yang sbb: http://localhost:9000/product/1/cat/1

Di Product kita tinggal kasih resource sbb:
    @GET
    @Path("category/{catId}/")
    public Category getCategory(@PathParam("catId")int catId) {
        ...
    }

In the end kita bisa punya domain driven design. Kalau yang URL
seperti ini gak bisa dilakukan oleh Tapestry 5 sekalipun.

But yang paling ok menurut gw dengan JAX-RS ini benar-benar loosely
coupled. Client yang memanggil tidak harus javascript aware.
Client-nya bisa berupa Flex Client, Console client, Swing client or
whatsoever yang penting bisa memanggil http. Dan kalau mau menggunakan
Javascript framework pun bisa menggunakan framework apapun dan tidak
terikat pada satu framework. Asalkan framework tersebut bisa
mengirimkan XHttpRequest, let that be Dojo, jQuery, Mootools or
Prototype. Selain itu JAX-RS tidak harus di-deploy di sebuah webapp
server karena JAX-RS secara standard ada internal server-nya.

* Loosely coupled
* Pretty URL
* DDD
* Standard
* Less configuration
adalah alasan why IMHO JAX-RS lebih bagus dibanding DWR.

Cheers.

-- 
If you can't believe in God the chances are your God is too small.

Read my blog: http://joshuajava.wordpress.com/
Follow me on twitter: http://twitter.com/jpartogi

Reply via email to