Platinum Partner
java,server-side

Bill Burke's Interesting Perspective on Java EE Standards

A well known Spring biased / anti Java EE personality wrote the following comment in an article comparing Spring MVC's RESTful web service API with the Java EE 6 standardized JAX-RS API:

Spring MVC REST annotations caught up, and may have surpassed the JAX-RS annotations. I'm looking forward to new and exciting features that a single entity like SpringSource can pump out; a JSR committee can't have as quick feature turn around.

A well known proponent of Java EE standards, Bill Burke of JBoss, responded with:

I think that's a bit unfair. JAX-RS is a specification not a product. I'm sure JAX-RS implementations like Jersey, RESTEasy, and CXF can innovate just as fast, probably faster, than anything SpringSource comes up with. The difference is of course, that these projects will bring back their innovations to a future JAX-RS revision so that all can share and so that such an important API isn't controlled by one commercial company.

IMO, its just sad that SpringSource has the inherent need to do their own thing for something as trivial as JAX-RS.

When another commenter listed a handful of features that the Jersey implementation has built in addition to the standard API, Bill writes:

Yeah, RESTEasy supports same kinda stuff, but additionally asynchronous HTTP, client and server caching, interceptors, and an annotation-driven client framework. I know a lot of the stuff in Jersey, RESTEasy etc. will be in the next revision of the spec. IMO, specs aren't for innovation, they are for consolidation.

Bill made very good points, and I'm glad he helped to balance the view for readers. Hopefully insightful comments like these help to undo the damage from years of venomous anti-Java EE propaganda that the Spring community has been subjected to.

Other good examples of consolidation are the JAX-WS, CDI, JPA, Bean Validation, and JSF 2.0 specifications.

From http://www.ryandelaplante.com

{{ tag }}, {{tag}},

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}
{{ parent.authors[0].realName || parent.author}}

{{ parent.authors[0].tagline || parent.tagline }}

{{ parent.views }} ViewsClicks
Tweet

{{parent.nComments}}