jump to navigation

Restlet API and JSR-311 API April 25, 2007

Posted by Jerome Louvel in JSR 311, Restlet General.
trackback

Alexis Moussine-Pouchkine, a Java architect at Sun and a fellow at the OSSGTP (Open Source Get Together Paris), from Sun, has a nice post about the launch of Restlet 1.0.

He underlines some good synergy between the Restlet project and the Glassfish project led by Sun, in term of licensing and partnership with the Grizzly NIO framework led by Jean-François Arcand.

He also draws a flattering parallel between Restlet and Hibernate projects, especially in the light of the JSR-311 effort to standardize a high-level, annotation-centric API for RESTful Web Services.

As an active member of the expert group for this JSR, I would like to mention that the Restlet API is only one source of inspiration but not a proposal. The initial API proposition was actually made by Sun, based on its SWDP prototype. There were also previous annotation-based initiatives made by third parties.

Actually, as underlined in this previous post, both APIs will end-up being complementary rather than competitors. To clarify the scopes of those various efforts, I have drawn some illustrations based on two axis:

  • the level of abstraction regarding the REST/HTTP semantics, from raw HTTP headers to high-level representation negotiation.
  • the processing flow abstraction, from the raw network socket to the JSR-311 resources context.

Here is the expected positioning of the JSR-311 as implemented over the Servlet AP. Note that the gap between the Servlet API and the JSR-311 will have to be filled by an adapter:

Now, here is the expected positioning of the JSR-311 API as implemented over the Restlet API:

Finally, we also plan to submit a Restlet API 2.0 to the JCP, probably in 2008. The best parallel is between the Restlet API and the Servlet API that we clearly aim to replace in the long term, as an API giving full control on the container and its connectors, fully leveraging NIO API and asynchronous request processing, while providing full support for all REST/HTTP semantics from the ground up. The API also has a unique ability to support client-side applications, without requiring direct usage of APIs such as JDK’s HttpURLConnection or Apache HTTP Client.

[Update 1] The JAX-RS extension for Restlet has been added to release 1.1 M3. See the announcement and the documentation about the extension.

[Update 2] Marc Hadley, JSR-311 spec lead, has blogged about the Restlet implementation of JAX-RS.

Advertisements

Comments»

1. Coverage of the Restlet 1.0 launch « Noelios Consulting - April 25, 2007

[…] Is Restlets the new Hibernate? by Alexis Moussine-Pouchkine (Sun Microsystems) . Make sure to also read my follow-up post. […]

2. Stephan - March 10, 2008

Information about the JAX-RS extension you find on http://wiki.restlet.org/docs_1.1/g1/13-restlet/28-restlet/57-restlet.html

3. RESTlet and JSR-311 « {} succ(succ(zero())) C << - March 12, 2008

[…] framework was. Today I serendipitously found a mention of RESTlet and JSR-311 on the Noelios site here. If you’re looking for an example to get your feet wet, then try the RESTlet wiki, which has […]


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s