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.3 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.9 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 early in 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. Exposing and consuming 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.11 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)
Restlet available on Android phones May 6, 2009
Posted by Jerome Louvel in Android, GWT, Restlet, Restlet General.7 comments
Our vision is that the Web is becoming ubiquitous and that REST, as the architecture style of the Web, helps you leverage all HTTP features. Restlet, our open source REST framework, is already available on regular computers based on Java SE/EE, in Web browers with our GWT edition and even in the cloud with a new Google AppEngine edition. But, we are still missing the Mobile Web!
With the commodification of smartphones started by the Palm Treo and pushed further by the Apple iPhone, more and more mobile users will have a usable access to the Web from their phone. So far, developers have been stuck with proprietary platforms and where lacking the productivity and portability common in the Java world. But here comes Android!
Android is an open source mobile operating system initiated by Google but now managed by the Open Handset Alliance. This consortium includes prestigious constructors such as HTC, Motorola, Samsung or Sony Ericsson and larger carriers such as Sprint, T-Mobile or Vodaphone. Needless to say that Android has gained a lot of traction recently.
Technically speaking, Android is built on a customized Linux kernel, libraries such as WebKit for the Web browser and an extensible Application Framework developed in the Java language but running on a special Dalvik virtual machine (see a complete overview here). All the built-in applications are written in Java and can accessed or customized via an Android API.
Preparing for an imminent launch of the Android-powered HTC Magic phone in France (also known as the “G2″), the mobile operator SFR, one of the third largest in France, has announced a contest for the best Android application. We thought it was a perfect opportunity to port the Restlet framework to another exciting environment and applied as a “Restlet+FOAF” project.
With some adjustments (see technical details), we were able to port Restlet on Android, with both the client-side and the server-side HTTP connectors! To show the potential of Restlet on Android, we decided to go further and develop a simple extension to the Contacts applications that would retrieve the FOAF (Friend-Of-A-Friend) profile of your contacts, show their friends and let you add some as new local contacts. The source code of this sample application is available and documented in the Restlet User Guide.
With the help of Manning’s “Unlocking Android” book, we also discovered Android’s Intent/Service design pattern, which is quite similar to Eclipse’s plug-ins. This is a powerful way to extend Android applications and share common features. In our case, we developed a FOAF Service that can be reused by other Android applications, without tight coupling on our code.
Finally, with the growing number of Restlet editions, we felt the need to put in place an automatic porting process to keep the code changes synchronized. This effort is underway but you can already read its specifications in our developers wiki. All those new features are available in recent Restlet snapshots. Enjoy!
Update: On May 13, the jury of the SFR-Android contest selected our Restlet project for a special open source prize! Thierry is now the happy owner of a HTC Magic phone
Restlet in the cloud with Google App Engine! April 11, 2009
Posted by Jerome Louvel in Restlet.15 comments
We are living exciting times! This week, Google has released an early version of their widely expected support for Java in Google App Engine (GAE).
GAE is a computing platform that can host your Web applications and offer them massive and flexible scalability. Free accounts are available and you can pay for extra resources (CPU time, bandwidth, storage and mails sent).
Of course, REST is the perfect choice to build your Web applications that will live in the Google cloud. But, GAE achievements come with constraints because you share computing resources with others. So GAE makes you live in a sandbox with a limited set of Java APIs.
The great news is that Restlet has just been adapted to fully work with GAE! This port provides in a single “org.restlet.gar.jar” file:
- Full Restlet API
- HTTP(S) server via the built-in Servlet adapter
- HTTP(S) client via the built-in adapter to java.net.HTTPUrlConnection
- SMTP client via the built-in adapter for JavaMail
- Server-side GWT support via the built-in GwtShellServletWrapper class.
In addition, support for GWT is available in both GAE and Restlet (see this post on our port of Restlet on GWT). The usage instructions are available in our online User Guide.
Google France provided us the early access to GAE after their launch event in Paris last Thursday, in collaboration with Didier Girard, Technical Director at SFEIR and author of the OnGWT web site.
Thanks to all of them and to Guillaume Laforge (who ported Groovy to GAE) for their advices and help making this port a reality so quickly and for sharing their passion for GAE!
Restlet 1.2 M2 released April 1, 2009
Posted by Jerome Louvel in Groovy, Maven, RDF, Restlet Releases, Ruby, Security.1 comment so far
This post isn’t an April Fools’ Day joke! We did released Restlet 1.2 M2 today including major enhancements:
Resource API refactoring
After a long experience with our class-driven Resource API introduced in Restlet 1.0 and the recent introduction of the annotation-driven JAX-RS API (that we support as a special Restlet extension), we felt it was time for us to step-back and propose a better solution, taking the best of both experiences.
We initiated a specification effort in our developers wiki at the beginning of this year, taking into account all the enhancement requests, issues and feed-back made by our community (with a special mention to Tim Peierls). Then, we analyzed those requirements and developped a first implementation for Restlet 1.2 M2. Here is the overall architecture:

The new design uses three foundation classes (UniformResource, ClientResource and ServerResource) which support just four annotations by default: @Get, @Post, @Put and @Delete. New ones can be defined to support extension methods like @Copy and @Move for WebDAV. Note that the support for annotations can be turned off and is not necessary to develop resources.
This new design provides the best of both worlds, the power and flexibility of Restlet 1.1 and the expressivity and additional abstraction offered by JAX-RS. In addition, it goes beyond those existing APIs by offering a uniform support for both server and client resources !
We look forward to your feed-back in order to complete and fully stabilize this work. We have started the adaptation of our traditional first steps, first resource and tutorial documents. It should give you a feeling of how it will simplify your Restlet developments.
RDF extension added
After a specification and design effort initiated for Restlet 1.2 M1, we now have a first usable version of our RDF extension. This extension contains a full RDF API, leveraging the Restlet API, and capable of processing RDF documents either in a DOM-like way or in a SAX-like way.

It is also capable of writing large RDF documents is a SAX-like way. We currently support two serialization formats: RDF/XML and RDF/n3. In the next version we will extend those formats to Turtle and NTriples. We will write later about the potential of the REST and RDF combination !
Security API refactoring
Thanks to a strong collaboration with our community, the new security API introduced in 1.2 M1 has been significantly improved and refactored. We have added support for Roles, Realms and Permissions with a better separation of concern between Components and Applications.
The API was deeply refined and now offers a good foundation for your new security efforts. We will focus on its stabilization and testing in the coming months. If you hadn’t have a chance to look at this effort yet, it is still time to influence its design while before we release the first 1.2 RC version which will freeze the API.
New Script extension
A very complete and powerful Script extension has been contributed by Tal Liron. It allows you to write Restlet resources and dynamic representations in the following script languages: Groovy, Jython, JRuby and PHP thanks to the standard “javax.script” facility and to Three Crickets’s Scripturian library.
This extension has been specified in detailled and has a very complete user documentation as well. Some additional work is planned to adjust it to the new resource API presented above, but we encourage all interested users to start playing with it and to provide feed-back.
The potential for this Script extension is huge as it will let us offer Restlet distributions dedicated to those scripting languages and broaden the usage of Restlet with developers not familiar with Java. Thanks again Tal for your hard work and for this wonderful contribution !
Enhanced Maven support
A long time ago, we offered a Maven distribution via our own Maven repositories and regularly we try to improve its quality, for example working with Buckminster users to adjust our Maven metadata. However, we use a custom forge based on Ant as our official build system and this has been causing some pains to Maven developers and putting some barriers for potential contributors.
Thanks to ideas and contributions from the community, we are now providing Maven POM files in our SVN repository as an alternative way to build Restlet. Of course, those POM files are the same that are distributed in our Maven repository and are consistently synchronized with our main Ant script to ensure that they don’t diverge in term of dependency versions for example.
![]()
For details on building Restlet with Maven, please read this short page on our developers wiki. Note that we have also adjusted our Maven GroupId (only “org.restlet” is used now) are redistributed third-party libraries are now packaged with a “org.restlet.lib.” ArtifactId prefix.
Package restructuring
In order to ensure a cleaner separation between resource and representation artifacts, we have added a new “org.restlet.representation” package and moved all representation classes to it. The “org.restlet.resource” package is now more focused, allowing us to welcome our new resource API and to move in related classes such as Finder and Handler.
We have also added a “org.restlet.routing” package where we moved Filter, Redirector and Router related classes. We plan to refactor the Route class for more extensibility. We encourage you to have a look at the new API as soon as possible to get familiar with it and anticipate the migration of your existing applications when Restlet 1.2 is stable.
When you upgrade, your existing code will look broken as many imports won’t be resolved. However, simply adjusting the package imports (using the dedicated feature of your IDE, like the “Organize Imports” feature in Eclipse) will fix all those issues. Indeed, the classes themselves have either not changed their API at all or have been properly deprecated.
Additional enhancements
But wait there is more! Many other valuable features were added in this release:
- JAX-RS extension now leverages the new Security API
- The TunnelService now supports “X-HTTP-Method-Override” header
- Client connectors for the ZIP and JAR pseudo-protocols were added
- The JsonRepresentation was improved (indentation, conversion)
- Microsoft Shared Key [Lite] HTTP authentication scheme supported
- Eclipse Public License 1.0 is an additional licensing option offered
Direct contributors
- Bruno Dumon
- Cliff Binstock
- David Fogel
- Fabrice Boileau
- Gordon Mohr
- Jean-Yves Cronier
- Jonathan Hall
- Kevin Conaway
- Lars Heuer
- Leigh Klotz
- Marcelo Ochoa
- Nels Nelson
- Niall Gallagher
- Paul Davis
- Raif S. Naffah
- Rémi Dewitte
- Rhett Sutphin
- Scooter Willis
- Sean Sullivan
- Tal Liron
- Tim Peierls
Thanks to all others who helped us in various ways!
Additonal resources
Changes log:
http://www.restlet.org/documentation/1.2/changes
Download links:
http://www.restlet.org/downloads/1.2/restlet-1.2m2.zip
http://www.restlet.org/downloads/1.2/restlet-1.2m2.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)
Microsoft selects Restlet to show REST interoperability February 20, 2009
Posted by Jerome Louvel in Ecosystem, Microsoft, Noelios, REST, Restlet, Restlet General, User interface.9 comments
After a long investment in WS-*/SOAP initiatives, Microsoft has recognized the value of REST. But they didn’t adopt REST only on the surface, they have put in place a comprehensive offer and are actively working to demonstrate and facilitate the interoperability with other platforms such as Java.
Silverlight
Facing a strong competition in the Rich Internet Application area, from Google with GWT, from Adobe with Flex/AIR/Flash and more recently from Sun with JavaFX/Applets, Microsoft has finally reacted with the introduction of their Silverlight 2 technology.
Silverlight requires a browser plug-in (ActiveX available for IE, Firefox and Safari) and provides you with a subset of the .NET Framework. Microsoft supports Windows and Mac while Novell has a Linux version called Moonlight. For the user interface it relies on a declarative language called XAML, not too different from Flex MXML or JavaFX scripts.
Regarding communication, it relies on WCF and offers direct support for HTTP/REST, RSS and Atom, POX/JSON and XML/LINQ. A description of the full architecture is available here.
Now, if you follow this blog, you are probably wondering how Silverlight interoperates with Java on the server-side. Even if its support for HTTP has a few limitations (partially due to its nature of browser plugin), Silverlight allows you to communicate easily with a REST back-end.
To demonstrates this, Microsoft has leveraged our Restlet framework and illustrated this interoperability with several detailled posts in their Silverlight plus Java blog written by Stève Sfartz from Microsoft. Other examples are available on Blog in the Cloud and Cloud it up.
eclipse4SL
If you are a traditional Microsoft developer, you would naturally turn to Visual Studio to develop your Silverlight applications, but what if you are a Java developer?
Well, Microsoft has done an unusual move by supporting the development of a Silverlight IDE for Eclipse! It’s called eclipse4SL and is co-developped with Soyatec, a French software editor specialized in Eclipse products development.
REST interoperability is also covered in eclipse4SL’s user documentation, illustrated by the usage of Restlet on the server-side. See this page for Restlet guidance. This is currently based on Restlet 1.0 and a Tomcat deployment, but work is underway to upgrade to Restlet 1.1.
The eclipse4SL project has even been submitted to the Eclipse foundation. See this post from the executive director of the Eclipse foundation.
TechDays
After meeting with Stève Sfartz, who very enthusiastically introduced us to Microsoft projects for REST, cloud computing and RIA, we worked on a join presentation for the Microsoft TechDays in Paris.
The goal was to present interoperability scenarios around REST. Thierry Boileau did the presentation for Noelios Technologies. A detailled summary (in French) has been posted by Stève Sfartz on his blog.
This presentation gave us the opportunity to show case our recent support for the Shared Key HTTP authentication scheme. This protocol is similar to the one defined for Amazon S3 and allows you to access to Microsoft Azure Data Services from a Restlet Java client.
This new feature is available in recent snapshots of our future Restlet 1.2 release!
Update 1: article from BetaNews covering Eclipse4SL and mentioning Restlet
Update 2: Stève Sfartz has posted a complete article on MSDN detailling the example showcased at the TechDays (in French), including downloadable source code.









