Tuesday Feb 27, 2007

Why would I need to be reliable?

Hopefully, this is not going to start a REST vs. WS-\* debate, but there are a few arguments from the WS-\* side which usually RESTafarians agree to:

•  WSDL is good if you need a contract-fist approach (although WADL can help define contracts for REST endpoints).
•  WS-Security provides end-to-end message-level security (vs. point-to-point with HTTPS).
•  HTTP is unreliable and WS-ReliableMessaging has no equivalent in the REST world (reliability needs to live at the application level). I am not aware of any work in that area for REST, but if there is, I'd like to hear about it.

You may not need any of the above (in which case a RESTful approach may be more appropriate), but you if think you need reliability, Mike Grogan has a nice and short explanation on why you would want to use WS-ReliableMessaging and how the developer is impacted when using WSIT, the JAX-WS extension for many WS-\* specifications.

WSIT is now in Milestone 3 which works with GlassFish 2 b33c. Install is described here. WSIT M3 is also the build that will be part of the upcoming GlassFish v2 beta release.

Note also that Arun is running a series of nice ScreenCasts for GlassFish JAX-WS and WSIT. The latest one is also about WS-ReliableMessaging.