Posted by Jerome Louvel in : RDF, Restlet, Restlet Releases, XML
- no comment
We have just released Restlet 2.0 M3, replacing Restlet 1.2 M2 as our current “testing” release (following Debian terminology). We have also updated our “stable” branch with a 1.1.5 release.
Looking at the amount of new features that we added so far since Restlet 1.1 (with some more coming), the amount of refactoring and reorganization done on the Restlet API (including the core Resource API), on extension packages and with the growing number of special Restlet editions (Java SE/EE, Google Web Toolkit, Google App Engine and Android), it seemed appropriate to rename the Restlet 1.2 branch into Restlet 2.0.
Here is a summary of the main changes :
- New org.restlet.ext.xml extension including XML related classes previously in the core Restlet API. This ensures that the core Restlet API stays as consistent as possible across all editions. In this case, those features weren’t available in Android.
- Improved the org.restlet.ext.rdf extension with Turtle and N-Triples support in addition to RDF/XML and n3 formats.
- FreeMarker templates can now be loaded via the Context’s client dispatcher and relatively to a base URI.
- Added an org.restlet.ext.xstream extension providing transparent serialization between Java objects and XML or JSON.
- Added an ObjectRepresentation class to the GWT edition and to the org.restlet.ext.gwt server extension. This allows transparent serialization of Java objects leveraging GWT-RPC serialization mechanism, but using your REST APIs.
- Greatly improved the support for the recently added ConverterService.
- Improved the ClientResource with support for annotated interfaces via the creation of dynamic proxies. It now also automatically follows redirections when possible.
- Refactored the services to facilitate the addition of new ones by users in their applications.
- Added AppendableRepresentation for dynamic generation of StringRepresentation instances.
- Arjohn Kampman
- Bruno Harbulot
- David Bordoley
- David Fogel
- Davide Angelocola
- Didier Girard
- Eric Hough
- Jean-Yves Cronier
- Lars Heuer
- Marcelo Ochoa
- Michael Berman
- Mikhail Spirydonau
- Paul Davis
- Rémi Dewitte
- Ronny Kwon
- Simon Reinhardt
- Tal Liron
- Thom Nelson
- Tim Peierls
Thanks to all others who helped us in various ways!
http://maven.restlet.org is updated on the 1st and 15th of each month
http://maven.noelios.com is updated daily with new artifacts (access reserved to subscribers)
Posted by Jerome Louvel in : Java, Restlet General, User interface, XML
- no comment
I would like to encourage you to have a look at frevvo, a Web start-up launched by some friends, that provides a full solution to handle complex Web 2.0 forms, right from your browser. One of their strong selling points is the great form designer available as a Web application (AJAX based).
Also, the form can be directly mapped to an XML Schema that you have imported. Their server component will directly generate valid XML instances when you submit the form to it. Currently it is based on a Servlet container but they are experimenting with Restlet (and already provided key feed-back), so I’m hoping that they will migrate when our final 1.0 version comes out
You can see screenshots and sign up for a live test. Congratulations Ashish, Leandro, Nancy and Yuri, and keep up the great work!!
Posted by Jerome Louvel in : Java, Rails, REST, Ruby, Semantic Web, XML
- no comment
InfoQ has done a great interview from Tim Bray (director of Web Technologies at Sun Microsystems, co-inventor of XML). He has a pleasing, enthusiastic and frank tone, which we tend to miss in the Java community. There is also a transcript available. Highly recommended.
Posted by Jerome Louvel in : REST, XML
- no comment
It seems that we have a new friend with WOA. This new acronym nicely connects the REST style with the mainstream SOA (Service-Oriented Architecture) term.
Even though REST is already describing the style that Web-oriented architecture should follow, the WOA term is more concrete and could help us democratize REST in the larger enterprises that tend to follow the “official” SOA trend, and especially the WS-* related specifications.
The term was originally coined by Gartner as a subset of SOA in this post: http://blog.gartner.com/blog/index.php?catid=31&blogid=9
See also the post from Dion Hinchcliffe:
My definition of WOA: an application of the REST style for building Web services based on straight HTTP and XML documents.
- Nicholas Gall provided some precisions as a comment to the original post.
- Ashish Deshpande from frevvo has an interesting follow-up explaining how to combine WOA and frevvo Live Forms to build lightweight Web 2.0 applications (RIA).
- Anne Thomas Manes jumps in: “WOA, ROA, SOA: When will it stop?“
- Interview of Nicholas Gall: “Why WOA vs. SOA Doesn’t Matter“
Posted by Jerome Louvel in : Java, Restlet General, XML
- no comment
I’ve recently met Henry Story who is working for Sun Microsystems on many interesting technologies such as the Semantic Web and the Atom syndication standard. After reviewing the Restlet project, he was kind enough to publish a note about it on his blog: Restlets, the next thing after servlets?
This note started an interesting discussion between Henry, Dave Johnson (author of a book titled “RSS and Atom in action”) and myself which led to the idea of demonstrating the capabilities of Restlets by implementing an Atom publishing client.
Atom is a new syndication standard that aims to overcome the limitations of the RSS 2.0 standard. The first part is the Atom XML-based document format which was released in version 1.0 in December 2005. The second part is the Atom Publication Protocol which allows the remote edition of syndication sources and that is the best application of REST I’ve seen so far.
As a result, an Atom extension was recently added to the Noelios Restlet Engine. It should be a useful basis to write Atom client and server applications, for example to programmatically subscribe to blogs. In addition, it is a good example on how to implement RESTful applications using Restlets.