Thursday, July 14, 2011

RESTful Web Services in WebLogic

WebLogic 11gR1 PS3 (10.3.4) now supports RESTful Services with Java (JAX-RS).  This support is provided through Jersey, which is the reference implementation for JAX-RS.  I didn’t care much about RESTful services until they were supported directly in WebLogic and included in the EE6 specification.  I came from a SOA/SOAP background and REST had too much of a ‘hype’ factor, plus SOAP was giving me everything that I needed at the time, so why change?  Nonetheless, I have started learning about JAX-RS & REST and its quite interesting!  Not only is the programming model fun to play with, the architectural questions that arise on when/how to use it are also enlightening. 

To throw my opinion into the ring, I firmly stand behind the principle that REST should be used for exposing RESOURCES while SOAP should be used for exposing BUSINESS LOGIC.  However, you can choose to blur the lines as much as you want, for example, what does ‘PUT’ really mean?  Is ‘PUT’ a valid action on a Message Queue?  If so, then I should be able to expose a message queue via REST, but that’s quite different from doing a ‘GET’ on a Customer resource, no?

Both SOAP and REST have their rightful places in the toolbox of an Enterprise Architect.  REST doesn’t replace SOAP – they compliment each other…

Here is an excerpt of a webcast where I discuss RESTful vs. SOAP Web Services on our YouTube Channel:

No comments:

Post a Comment