Thoughts on REST-*

OK, I really need more than 140 characters for this one (plus it’s been a while since I blogged opinions). Of course, this is personal opinion, not my company’s.

Many people have reacted to JBoss’ solo launch of REST-*. What I’m concerned about is the approach, not the technology and specifications (I’m probably not the best person to comment on that part).

For one, having rest-star.org redirect to a jboss.org web site is a “bad thing” ™. JBoss being the only participant is also not giving the underlying technical effort a lot of chance to become a commonly accepted standard, and that’s a pity.

Over on twitter, my colleague Jason sent me this sensible analysis which also questions the approach taken while finding some merits to the technical parts.

Mighty Roy is simply bashing and swinging at the proposal calling for . But then not many people get his blessing from day one.

Rickard Oberg is pointing out that JBoss has a interesting track record in terms driving the project (too bad the last paragraph on his affiliation to JBoss is actually taking some credit off of that assertion).

Contrary to what Haikal says, JBoss is not late to REST with their very decent JAX-RS implementation and their participation in the standardization effort. In fact, I’m not convinced by the SpringSource excuse (SpringMVC legacy) for not implementing this API.

Getting beyond all this criticism, it’s rare enough to have people offer to do actual work to demolish it like Anne Thomas is doing. I’ve been with Sun for too long to throw away the baby with the bath water..

If someone wants to contribute standards, OASIS, W3C, or IETF is where it should happen. Granted you’ll be better off starting from some specification or even better yet from a successful implementation (and you may end up not being able to call it REST-anything), but declaring REST-* to the world and making it a one company thing sounds like a marketing mistake to me.

2 thoughts on “Thoughts on REST-*”

I agree with you about the REST-\* pointing to JBoss thing.
That said, my experience has been that doing contract-first web services with Spring-WS has been a much more straightforward process than using some JAX-WS.
This is on a somewhat green field SOA project, where services need to be published to and consumed from different platforms, and yes, while JAX-WS does boil down to soap/wsdl, I personally found Spring-WS to be a whole lot simpler to work with. (Basically, point at schemas and go; No need to crank wsimport and reimplement interfaces or anything like that every time a spec changes, (and change they did!))
Getting back to REST, spring currently has the capability to route requests to an endpoint based on URI and method, and return a response in the requested format. Isn’t that basically what REST is? Given that it works quite well and slots in to your existing stack (if you use Spring) I just don’t see a need for a REST-\*.
In summary, we’ve been able to build portable web services quickly with Spring-WS, without JAX-WS, and we have the capability to offer REST support with just Spring MVC.

Have you looked at JAX-RS? It’s been out in 1.0 form for while and EE 6 will include JAX-RS 1.1. It does what you say only in a way that people agreed upon and with multiple implementations.
I guess I wish that SpringSource could decide once and for all if standards are good or not.
BTW, REST-\* is not about the basic RESTful features that are already in JAX-RS, it talks about transactions and pub/sub and is not Java-specific AFAIK.