Restlet 2.0 M7 released January 29, 2010
Posted by Jerome Louvel in Restlet, Restlet Releases.4 comments
We were expecting to release 2.0 RC1 next, but we had the opportunity to add some great new features since 2.0 M6 and still need to update an important Restlet extension. So we decided to have this intermediary Restlet 2.0 milestone 7 version, as well as a Restlet 1.1.8 version fixing a single bug.
To celebrate this new release, Manning is having the Restlet in Action book as their Deal of the Day for Jan 29, 2010. The deal is the ebook in early access for just $10, using code dotd0129!
Main changes
- Asynchronous call handling is now available on both on the server-side and the client-side. The callback mechanism used was inspired from GWT and is fully consistent with our Restlet edition for GWT, ensuring a greater portability.
- Replaced the default/internal HTTP connectors with new ones based on a more flexible design. They now support all advanced HTTP features such as persistent connections and pipelining on both client and server side. They are for now the only connectors, beside the GWT edition, supporting the new asynchronous handling capabilities of the Restlet API.
- Requests and responses can now be aborted, useful to save bandwidth where undesired calls are handled.
- Security realms now have a lifecycle allowing the initialization from a relational database, a file or a LDAP directory.
- Component services are now extensible, allowing you to add your own to the chain.
- The Simple, Jetty and Netty extensions were removed from the Java EE edition for size purpose. Download the Java SE edition of the Restlet Framework if you need them.
- New Jackson extension added, offering a nice alternative to the existing XStream extension for JSON object serialization (based on Jettison).
- Converters were added for all relevant Restlet extensions, allowing usage of high-level classes in annotated Restlet interfaces for example.
- The WCF Data Services extension (previously called ADO.NET Data Services) is now also available in the Android edition.
- GWT object serialization support, based on annotated Restlet interfaces was also added for the GWT edition, leveraging GWT’s deferred binding mechanism and GWT-RPC serialization format! See this related post for details.
- Significantly improved the ability to generate dynamic client proxies from annotated Restlet interfaces, while giving them access to the underlying ClientResource instance via a ClientProxy interface automatically implemented, like for the GWT edition. Proxies for child or parent resource can also easily be obtained, reusing the current resource like a prototype resource!
- The component XML configuration has been extended to support all existing properties and features available in the Java API.
Direct contributors
- Ben R. Vesco
- Bruno Harbulot
- Carsten Lohmann
- Cedric Hurst
- David Fogel
- Fabian Mandelbaum
- Iestyn Evans
- Jeff Ramsdale
- John Logdson
- Jonathan Hall
- Laurent Rustuel
- Remi Dewitte
- Sanjay Acharya
- Tal Liron
- Taylor Cowan
- Tim Peierls
Thanks to all others who helped us in various ways!
Additonal resources
Changes log:
http://www.restlet.org/documentation/2.0/jse/changes
Download links:
http://www.restlet.org/downloads/testing
Maven repositories:
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)
Restlet, a RESTful middleware for GWT, GAE and Android December 17, 2009
Posted by Jerome Louvel in Android, Ecosystem, GAE, GWT, Google, Microsoft, REST, Restlet, Restlet General.10 comments
The Web is taking multiple shapes with the Mobile Web, Cloud Computing and RIA being hot topics recently. If you follow this blog frequently, you are certainly aware that the Restlet Framework, the first RESTful web framework for Java developers, is available in five consistent editions since version 2.0 M4. Each edition targets a special development environment:
- Google Web Toolkit (GWT) for AJAX applications deployed in desktop browsers, without any plugin required
- Google App Engine (GAE/J) for deployment on Google’s cloud computing infrastructure
- Android for deployment on compatible smartphones
- Java SE for standalone deployments in regular Java Virtual Machines
- Java EE for deployment in Servlet engines
Each edition is offering the same Restlet Framework, with restrictions and adjustments based on the target environment. For example, the GWT edition only supports the client-side usage of Restlet, while the GAE edition only provides compatible extensions and ensures that we don’t break the security sandbox or use unsupported JRE classes.
As a result, you can easily develop a unified Restlet application with a server-side deployed in GAE, a client version available for Android smartphones and another available for desktop browsers with GWT, fully leveraging the most innovative technologies available from Google for Java developers.
You might wonder what exact value does Restlet brings in the middle of those technologies? The Restlet Framework is all about REST, supporting advanced HTTP features such as content negotiation, caching and conditional processing, allowing for the same URI-addressable resource to expose various representations. Each representation renders the same information in various languages or formats such as JSON, XML or anything else that makes sense for your clients such as binary pictures.
Supporting content negotiation allows your Restlet cloud server to expose the same resources to all its clients, including an Android smartphone client, a GWT desktop client, a Flex client, a programmatic Java SE robot or a basic HTML browser. One Java API and one unified code base gets you covered in all those scenarios, even if you need to serve static files: a Restlet Application truly merges the notion of Web Site, Web App and Web Service!
So, using Restlet as a cloud server gets you much further than a regular Servlet application. Usually, you would use GWT-RPC to communicate between your GWT client and your GAE back-end, and the low-level HTTP client provided by Android to communicate with your GAE custom Servlets. Obviously, the result wouldn’t be very RESTful as GWT-RPC is introducing some strong coupling. You could use the low-level HTTP client provided by GWT as well, but then you would loose the big benefit of using Java proxies in GWT, with transparent serialization of parameters and result object.
This is where the Restlet Framework comes to rescue! For GWT, we provide both a high-level HTTP client, removing the need to manually parse and format HTTP headers thanks to its Restlet API but also a proxy generation mechanism based on GWT deferred binding very similar to GWT-RPC but truly RESTful! Migration of existing GWT-RPC code is straightforward as we also support GWT-RPC AsyncCallback interface in addition to our equivalent Result interface. For our serialization format, we reused the one of GWT-RPC, a special JSON variant, therefore it is fully featured and as robust as GWT-RPC ! In your Restlet cloud server, you just need to add our server-side GWT extension to transparently support this serialization format, thanks to content negotiation.

If you are a Google fan, you should be happily developing with the recent GWT 2.0, Android 2.0 and GAE 1.3.0 releases and the RESTful solution described above should gives you a big smile and to get started, we have written a complete tutorial, with full source code, illustrating a unified Restlet application for GAE, GWT and Android.
But even in this scenario, you wouldn’t be restricted to Google technologies, you could chose to support alternative clients such as regular HTML browsers, Flex or Silverlight clients, or any other HTTP client. On the server-side, you could take the same Restlet application and deploy it locally, or on Amazon EC2 or Microsoft Azure, thanks to our Restlet editions for Java SE and Java EE which can be installed on those major cloud platforms!
In the end, the Restlet Framework offers you, for free, the first comprehensive RESTful middleware for Google technologies and beyond! As a last word, I would like to thank again my friend Didier Girard, for sharing his insights that led us to this post (and a lot of work!)
Towards RESTful Web Content Management December 10, 2009
Posted by Jerome Louvel in CMS, Ecosystem, REST, Restlet, Restlet General.add a comment
The Restlet community is so diverse that it is difficult to cover all related projects and products. Sometimes, it is easier to identify trends and connections. Like for most sectors of the software industry, the Web is exerting a lot of attraction on Content Management Systems (CMS), including Enterprise Content Management (ECM) and Document Management Systems (DMS).
As a result, those products typically offer a mechanism to programmatically interact with their CMS through the Web, by providing a Web Service API. Ideally, those APIs are designed RESTfully such as Nuxeo ECM which leveraged Restlet. This approach was explained in more depth in a CMSWire article covering Alfresco’s RESTful approach and mentioning Restlet has a good candidate for lighter and more RESTful Web frameworks.
Jalios JCMS, a commercial ECM product, also leverages Restlet for their RESTful OpenAPI. Another nice example of a REST API based on Restlet was recently provided by NeoDoc in their Calenco product, a CMS focusing on the collaborative edition of documents such as strategic business documents, technical documentation, user guides, quality manuals or security procedures.
While each of those REST APIs supports the special features of their related CMS, users might prefer for some scenarios to use a more generic REST API, not tightened to a particular vendor or project. This is the purpose of the Content Management Interoperability Services (CMIS) standardization effort. Version 1.0 is currently is final review stages, and seems to be gaining a lot of traction.
However, Roy T. Fielding expressed some critics on the initial draft in this blog post, pointing to its lack of RESTfulness and the fact that it was too focused on document management instead of content management as its name implies. It seems that the RESTfulness concerns were mostly addressed, but not the one of the scope of the specification . Note that Nuxeo already supports CMIS and that Jalios has planned its support as well.
Finally, there is a new trend in CMS called Web Content Management (WCM), focusing on the online edition of Web documents and Web sites in general. This family includes Wiki software like the powerful and open source XWiki which also leverages Restlet for their REST API.
Another illustration of this trend leading to more and more convergence of CMS towards the Web are major online services like Google Docs and Microsoft OfficeLive, enabling the collaborative edition of enterprise content, progressively blurring the line with regular Web content. As a final illustration of how Restlet can successfully support the development of WCM systems, I recommend you to have a look at GoGoEgo, a very promising open source RESTful WCM recently launched by Solertium.
Their solution not only provides a REST API, but is fully designed as a RESTful Web application, with an administrative front-end based on GWT and the ability to be hosted on the cloud with Google AppEngine. Solertium is also a strong supporter and contributor to the Restlet project, as illustrated in this passionate post from their CTO about friendly frameworks!
Update : Mentionned CMIS implementors. Adjusted wording regarding Roy & CMIS based on feed-back from Benoît Dissert of Jalios
Restlet 2.0 M6 available November 20, 2009
Posted by Jerome Louvel in Restlet, Restlet Releases.3 comments
With the release of Restlet 2.0 M6, we are getting close to a feature freeze. This will happen with the next release, Restlet 2.0 RC1, due for the end of the year. In addition, we are also continuing the support of Restlet 1.1 with the release of version 1.1.7, fixing 11 bugs and adding the EPL 1.0 licensing option.
With less than two months since Restlet 2.0 milestone 5, it’s encouraging to see how much work has been accomplished and the number of contributions that we received. As usual, let’s review the main changes.
Main changes
- The Apache HTTP Client extension has been updated from 3.1 to 4.0 version. Note that some parameters have been changed, so be sure to verify your configuration. In addition, it is now possible to specify a different proxy server to use for each Restlet connector.
- The Resource API has been stabilized and enhanced. The Restlet annotations now support “|” and “:” separators to express alternative variants and both input and output variants.
- The Security API has been trimmed down and refactored based on experience in the field. The classes relying on the javax.security.auth package have been moved to a new JAAS extension; and the digest related ones relying on the javax.crypto package moved to a new Crypto extension along with Amazon S3, Azure client HTTP authentication.
- The support for HTTP DIGEST has been vastly improved, especially on the client-side, with proper mapping of its properties to AuthenticationInfo (new), ChallengeMessage (new), ChallengeRequest and ChallengeResponse classes.
- Additional standard HTTP headers are now fully supported by the Restlet API : “Age”, “Authentication-Info”, “Date”, “If-Range”, “Retry-After”, “Warning”, and the frequently asked “Cache-Control” header! For a detailled mapping of those headers to the Restlet API, please consult this page of the user guide.
- The edition for GWT has been stabilized and heavily improved to be closer to the other Restlet editions. For example, the ClientResource class is now available, JSON and XML extensions have been added. The base package has been reverted to “org.restlet.gwt” due to issues with GWT projects combining client-side and server-side usage of Restlet. The remaining task for 2.0 RC is to support annotated interfaces to achieve the same level of productivity than GWT-RPC, in a RESTful way. We will leverage GWT deferred binding for this purpose.
- The edition for Android has been improved, with the port of the Crypto, Apache HTTP Client, JAAS, JSON, Net extension (without FTP client).
- The Servlet extension has been improved to support multiple declarations of the ServerServlet in the same Servlet application.
- The Jetty extension has been updated to leverage the recent Jetty 7.0 version now hosted at Eclipse.
- A new Netty extension has been contributed by Gabriel Ciuloaica, leveraging the new NIO framework from JBoss.
- The Restlet logging, based on JULI (java.util.logging), now has an extension mechanism allowing an efficient redirection to alternate mechanisms like log4j as explained in the wiki. A new SLF4J extension has been added to facilitate the replacement of Restlet’s default logger facade.
- The OAuth extension has been moved to the Restlet Incubator as it would require too much work to get aligned with the new Restlet security and resource APIs in version 2.0. Note that this is temporary and we definitely want to reintroduce this feature in Restlet 2.1.
- Some dependencies have been updated: GWT 1.7.1, Apache Commons Logging 1.1.1 and Simple Framework 4.1.5.
- About 24 bugs have been fixed, including the regression with the deprecated “createRoot” method leading to broken routing in 2.0 M5. Several annoying issues with OSGi and Spring have especially been fixed.
Direct contributors
- Adam Harrison
- Arjohn Kampman
- Ben Vesco
- Bob Resendes
- Bruno Harbulot
- Bryan Hunt
- Carlos Alexandre Moscoso
- Carsten Lohmann
- David Fogel
- Dustin Jenkins
- Emily Toop
- Fabian Mandelbaum
- Gabriel Ciuloaica
- Georges-Etienne Legendre
- Guido Schmidt
- Kelly McLaughlin
- Kevin Pauli
- Patrick Logan
- Paul Austin
- Rickard Oberg
- Simon Guest
- Stefan Maassen
- Tal Liron
- Thierry Templier
- Warren Janssens
Thanks to all others who helped us in various ways!
Additonal resources
Changes log:
http://www.restlet.org/documentation/2.0/jse/changes
Download links:
http://www.restlet.org/downloads/testing
Maven repositories:
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)
Early access to Restlet in Action book November 5, 2009
Posted by Jerome Louvel in Restlet General.1 comment so far
Since the announce of the book last August, we worked hard to write the first chapters, enhance their quality with our development editors and improve the table of contents. In parallel, the Restlet Framework has been quickly moving forward, with Restlet 2.0 M5 released in September and a first release candidate scheduled for the end of the year!
Today, Manning has released the early access version of the book (MEAP is Manning Early Access Program) . It gives you the first chapter for free and lets you buy the book to read the other chapters, as soon as they are released. If you purchase the print book version, you will be able to read the electronic version while the book is being completed and then a printed version will be automatically mailed to you by Manning.
This early access version is a great opportunity to get you started with version 2.0 of the Restlet Framework and with the design of RESTful Web APIs in general. It also gives you an opportunity to exchange with the authors through a dedicated forum on Manning’s site and help us improve the content and structure while we add more chapters.
Restlet bridges ADO.NET Data Services and Java September 28, 2009
Posted by Jerome Louvel in Microsoft, Restlet, Restlet General.7 comments
After a successful collaboration in February with Microsoft, we continued to explore the interoperability opportunities between Microsoft and Java technologies, leveraging REST and Restlet. Today, we are happy to announce the result of several months of hard work: a new interoperability bridge between Java and ADO.NET Data Services!
Microsoft’s strategy
In order to understand how central the Web and REST are becoming for Microsoft, it is enlightening to discover their new strategy elaborated by Ray Ozzie, Microsoft’s Chief Software Architect. It is called Software + Services and recognizes the ubiquity of the Web and the need to mix both locally running software and cloud computing services in a unified way.
From vision to reality, there is often a long way to go, but this time Microsoft is serious about the Web and genuinely embracing REST. For a few years now, they have been progressively building on their strategy, through Windows Azure, a comprehensive cloud computing platform, and through online extensions to their classic products like Office Live, XBox Live or Windows Live.
ADO.NET Data Services
One of the key technologies they leverage to achieve their plans was launched in 2007 under the code name “Astoria”. It drew much attention in the REST community at this time as it was, with Ruby on Rails’s Active Resource technology, the sole way to automatically expose a data models as RESTful Web services.
Since then, it has matured and became an actively maintained technology called ADO.NET Data Services. You can read an overview paper on MSDN and browse their extensive technical documentation for details about their REST API which leverages AtomPub.
Interoperability with Java
As RESTful Web services, you could use any HTTP toolkit to access them, to the exception of the authentication step which relies on a custom scheme, quite similar to the one used by Amazon for its Web services. However, you are not very productive this way, especially when you know that ADO.NET Data Services describe themselves through extensive metadata.
So far, beside client toolkits for Microsoft technologies such as .NET and Silverlight, only the PHP language had an easy solution to interact with those services. Today, with the release of Restlet 2.0 M5, we are proud to announce a similar offer for Java developers, cleanly leveraging the Restlet Framework.
With the support from Microsoft and especially Stève Sfartz, Architect Lead at Microsoft France, we built a high level client that is able to generate client Java classes from exposed metadata and to easily manipulate the remote entities as if they were local. The current feature scope covers most of the use cases, but keep in mind that we don’t cover all the available features available yet.
This new Restlet extension has been extensively covered by Jean-Christophe Cimetiere, Sr. Technical Evangelist from Microsoft Corp Interoperability team, in this new blog post.
Extension documentation
In order to briefly illustrate how the extension works, you can read the dedicated extension page in the Restlet user guide. It shows some simple code to access to a data service, one provided for the Open Government Data Initiative (OGDI), a recent effort launched by Microsoft to expose government data sources as RESTful Web services.
In addition, to the regular Javadocs of the extension, a complete tutorial is also available on the wiki to get you started in minutes with a detailed example. Now, if you have a .NET developer friend, you could ping him and set-up a plug scenario!
Launch coverage
- Infoworld – Java developers get .Net data link
- eWeek – Microsoft, Noelios Bridge Java, .NET with REST
- Stève Sfartz – Extension Restlet pour ADO.NET Data Services (French)
- Mike Flasko – Restlet [...] Now with ADO.NET Data Services Support
- The H Open – REST-based bridge connects Java and .NET
- Visual Studio Mag. – Bridge Connects Java to ADO.NET Data Services
- OakLeaf Systems – Live Windows Azure Apps, Tools and Test Harnesses
- LeMagIT – Noelios utilise REST pour relier les données .Net et Java
- hwsw – Híd a Java és a .NET között (Hungarian)
- IDG.se – Microsoft kopplar ihop Java med Dotnet (Swedish)
- heise – REST-basierte Brücke verbindet Java mit .NET (Dutch)
- Programmez! – Un pont d’interopérabilité [...] (French)
- Le Journal du Net – Le français Noelios relie Java et .Net (French)
- dot net pro – Brücke zwischen Java und .NET (Dutch)
- Peter Galli – New Bridge Broadens Java and .NET Interoperability
- InfoQ – RESTFul Bridge Between Java And .NET Released
- Dave Bost – Interoperability and Open Source efforts at Microsoft
- NetworkWorld – Microsoft, Noelios release new bridge [...]
- SearchSOA – Restlet framework wrestles RESTful Web applications
- RedmondDeveloper – A Dose of Java for ADO.NET Data Services
- Application Servers – Restlet compatible ADO.NET
- Java Posse – Episode 282
- Fryan Valdez – Java Extension for ADO.NET Data Services
Restlet 2.0 M5 now available September 28, 2009
Posted by Jerome Louvel in Restlet, Restlet Releases.10 comments
We have just reached a new milestone on our exciting Restlet 2.0 roadmap! Our main focus was stability and refactoring after the major goals achieved in Restlet 2.0 M4, for example with the automated editions support and some deep API changes.
Summary of the main changes
- About 20 bugs were fixed, including a long standing one related to the integration of Restlet with Tomcat and a blocking issue under Macintosh.
- Most dependencies were updated to their latest version: Grizzly 1.9.18b, Jetty 7.0 RC6 and so on.
- For better API organization, we moved Message, Request and Response classes from the org.restlet.data to the org.restlet package as they are core artifacts of the API used in Uniform interface. We also moved Template and Variable classes from “org.restlet.util” to “org.restlet.routing” package.
- In order to support both inbound and outbound routing and filtering of calls for Restlet applications, we have added two properties: “inboundRoot : Restlet” and “outboundRoot : Restlet” to the Application class and deprecated the “root : Restlet” property. This will allow you to easily provide features such as preemptive authentication with the recently added ClientResource class.
- The ServerResource class has been refactored for a cleaner integration between annotation-based and method-based call processing.
- A new extension for Microsoft ADO.NET Data Services (previously known as “project Astoria”) was added. It provides a high-level client API based on the ClientResource class that lets you access remote Data Services hosted in an ASP.NET servers or on the Windows Azure cloud computing platform. The extension contains both a code generator for the representation beans and a runtime layer. This extension is in the “org.restlet.ext.dataservices” package and depends on “org.restlet.ext.atom” and “org.restlet.ext.xml” extensions.”
- The JAXB extension now has its helper to support transparent conversions
Direct contributors
- Bob Resendes
- Bruno Harbulot
- Carsten Lohmann
- Denys Hryvastov
- Dustin Jenkins
- Evgeny Shepelyuk
- Fabian Mandelbaum
- Guido Schmidt
- John Logsdon
- Marcelo Ochoa
- Olivier Bruchez
- Patrick Logan
- Philippe Mougin
- Remi Dewitte
- Rhett Sutphin
- Rob Heittman
- Sanjay Acharya
- Tal Liron
Thanks to all others who helped us in various ways!
Additonal resources
Changes log:
http://www.restlet.org/documentation/2.0/jse/changes
Download links:
http://www.restlet.org/downloads/testing
Maven repositories:
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)
Announcing Restlet in Action book August 24, 2009
Posted by Jerome Louvel in REST, Restlet, Restlet General.6 comments
We are very happy to announce that we have agreed with Manning to publish a “Restlet in Action” book that will cover in depth the upcoming 2.0 version of the Restlet Framework.
Our goal is to have the book published in fall 2010. However, you will not have to wait so long to start reading it… You will be able to use Manning Early Access Program (MEAP) to get an online access to draft chapters as they are written. This will give you an opportunity to send us feed-back via an online forum.
Even better, you can download the green paper “Rethinking Web Development with REST and Restlet” that was published today on Manning’s site and that is based on the chapter 1. Here is also the expected table contents:
Part 1: Getting Started
- 1. Rethinking Web development
- 2. Designing a RESTful web API
- 3. Beginning a Restlet application
- 4. Deploying a Restlet application on premises
Part 2: Getting Ready To Roll Out
- 5. Exchanging Restlet representations
- 6. Securing a Restlet application
- 7. Documenting a RESTful web API
- 8. Enhancing a Restlet application
Part 3: Further Usage Possibilities
- 9. Deploying a Restlet application in the cloud
- 10. Using Restlet in browsers and mobile devices
- 11. Embracing the semantic Web
- 12. Looking beyond this book
As always, we are looking forward to getting your feed-back on this project, what you expect from it, what you think about the green paper and the overall table of contents.
Update 1: The table of contents has been refreshed to match the latest manuscript version
Update 2: The book is now available in early access !
| Part 1: Getting Started |
| 1 Rethinking Web development |
| 2 Designing your REST API |
| 3 Creating your Restlet application |
| 4 Deploying your Restlet application |
| Part 2: Getting Ready To Roll Out |
| 5 Enhancing your Restlet application |
| 6 Securing your Restlet application |
| 7 Documenting your REST API |
| 8 Embracing the Semantic Web |
| Part 3: Further Usage Possibilities |
| 9 Using Restlet in the cloud with Google App Engine |
| 10 Using Restlet in browsers with Google Web Toolkit |
| 11 Using Restlet on mobile Android devices |
| 12 Looking beyond this book |
Restlet 2.0 M4 released August 6, 2009
Posted by Jerome Louvel in Restlet, Restlet Releases.12 comments
After Restlet 1.2 M2 and 2.0 M3 releases that introduced major API changes for resources and security, we wanted to focus this new milestone on stability and on the automated support of Restlet editions.
Here is a summary of the main changes :
- The packaging has been reworked to provide separate distributions for each edition that we support: Java SE, Java EE (with Servlet support), Google Web Toolkit, Google App Engine and Android. In addition, the porting of the main source code base to each edition is now fully automated, ensuring a constant synchronization in term of features and bug fixes. All extensions and API features aren’t (or can’t be) supported in all editions, but the API is consistent. As a side effect, the “org.restlet.gwt” package has been moved to the regular “org.restlet” one.
- The ConverterService has been improved to automatically serialize POJOs into XML, JSON and other serialization formats such as regular Java serialization or long term bean persistence. We leverage XStream for automatic XML/JSON marshalling and unmarshalling. Note that the JAX-RS extension now also relies on this improved conversion service!
- Content negotiation was rewritten to support all possible dimensions such as media type, language, character set or encoding.
- A new FTP client connector was added in the “org.restlet.ext.net” extension, based on the JDK’s URLConnection class. It is limited and only support GET methods.
- The RDF extension was improved with a new RdfClientResource class facilitating the navigation in the Web of Data.
- A new ROME extension was added to support several versions of RSS and Atom syndication feeds formats. This extension is complementary with the existing Atom extension which is fully based on Restlet API.
- Character sets support was enhanced, fixing an issue with Macintosh and adding new constants in the CharacterSet class for all common ones defined by IANA. Also, the default language used for representation is now dynamically retrieved based on the JVM setting instead of English/US.
- Added client and server RIAP connectors that use a protected singleton unique in the JVM.
- The org.restlet.Uniform abstract class has been refactored into an interface with a single handle(Request, Response) method. Its logic has been moved to the org.restlet.Client class. This allows us to leverage it for asynchronous calls, as we already do in the GWT edition.
- The org.restlet.routing package has been enhanced with new Validator and Extractor filters containing logic found in the new deprecated Route class, replaced with a more specific TemplateRoute class. Those changes should be transparent for most applications using the Router class to attach Restlets and resources using URI templates.
Direct contributors
- Alexander Horn
- Andrew Moore
- Arjohn Kampman
- Aron Roberts
- Avi Flax
- Bob Resendes
- Bruce Cooper
- Bruno Harbulot
- David Fogel
- Dustin N. Jenkins
- Evgeny Shepelyuk
- Florian Georg
- Frank Hellwig
- Gabriel Ciuloaica
- Joe Nellis
- John Logsdon
- John Wismar
- Jonathan Hall
- Martin Krasser
- Matt J. Watson
- Maxence Bernard
- Niall Gallagher
- Nicolas Janicaud
- Nirav Shah
- Olivier Monaco
- Remi Dewitte
- Schley Andrew Kutz
- Serge Ilyn
- Simon Reinhardt
- Stuart MacKay
- Sylvain Pajaud
- Thomas Cozien
Thanks to all others who helped us in various ways!
Additonal resources
Changes log:
http://www.restlet.org/documentation/2.0/jse/changes
Download links:
http://www.restlet.org/downloads/testing
Maven repositories:
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)
Restlet 2.0 M3 released May 27, 2009
Posted by Jerome Louvel in RDF, Restlet, Restlet Releases, XML.5 comments
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.
Direct contributors
- 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!
Additonal resources
Changes log:
http://www.restlet.org/documentation/2.0/changes
Download links:
http://www.restlet.org/downloads/2.0/restlet-2.0m3.zip
http://www.restlet.org/downloads/2.0/restlet-2.0m3.exe
Maven repositories:
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)






