<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Noelios Technologies &#187; REST</title>
	<atom:link href="http://blog.noelios.com/feed/?cat=15314" rel="self" type="application/rss+xml" />
	<link>http://blog.noelios.com</link>
	<description>Realize your Web ideas !</description>
	<lastBuildDate>Wed, 28 Jul 2010 09:32:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.noelios.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/c41f0f754b813e7d0e5f9b5e6ea33a5b?s=96&#038;d=http://s2.wp.com/i/buttonw-com.png</url>
		<title>Noelios Technologies &#187; REST</title>
		<link>http://blog.noelios.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.noelios.com/osd.xml" title="Noelios Technologies" />
	<atom:link rel='hub' href='http://blog.noelios.com/?pushpress=hub'/>
		<item>
		<title>Restlet Framework 2.0.0 released !</title>
		<link>http://blog.noelios.com/2010/07/19/restlet-framework-2-0-0-released/</link>
		<comments>http://blog.noelios.com/2010/07/19/restlet-framework-2-0-0-released/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 22:32:54 +0000</pubDate>
		<dc:creator>Jerome Louvel</dc:creator>
				<category><![CDATA[Restlet Releases]]></category>

		<guid isPermaLink="false">http://blog.noelios.com/?p=907</guid>
		<description><![CDATA[Year after year, the Restlet open source project has been growing and maturing, both technically and through its lively community of users and contributors. Today, we are proud to announce the general availability of version 2.0 of the Restlet Framework, representing about 2 years of work since version 1.1! This is truly a major release, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.noelios.com&amp;blog=30093&amp;post=907&amp;subd=noelios&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Year after year, the Restlet open source project has been growing and maturing, both technically and through its lively community of users and contributors.</p>
<p>Today, we are proud to announce the general availability of version 2.0 of the Restlet Framework, representing about 2 years of work since version 1.1! This is truly a major release, equivalent to the initial effort that took us from the project launch to the 1.0.0 release.</p>
<h2>What&#8217;s new ?</h2>
<h3>Restlet editions</h3>
<p>After targeting standalone Java SE virtual machines and Java EE web containers in version 1.0, we introduced a manual port to GWT in version 1.1. During the development of version 2.0, we jumped on two new bandwagons launched by Google:</p>
<ul>
<li>Android for web connected smartphones and tablets</li>
<li>GAE for cloud computing hosted applications</li>
</ul>
<p>As each port required a lot of manual maintenance, we developed <a href="http://wiki.restlet.org/developers/172-restlet/267-restlet.html">a special Restlet forge</a> including a fully automated port mechanism that allows us to work on a single code base while taking into account the specificities of each target environment.</p>
<p><a href="http://www.restlet.org"><img class="aligncenter size-full wp-image-908" title="Restlet editions" src="http://noelios.files.wordpress.com/2010/07/restlet-editions.png?w=309&#038;h=260" alt="" width="309" height="260" /></a></p>
<p>As a result, the framework is now available in five consistent editions  covering the most popular Java-based platforms.</p>
<h3>Package restructuring</h3>
<p>While maintaining an easy <a href="http://wiki.restlet.org/docs_2.0/13-restlet/21-restlet/171-restlet/155-restlet.html">migration path</a> from version 1.1, we took the opportunity of this major release to reorganize Restlet extensions, moving &#8220;com.noelios.restlet.ext&#8221; packages into &#8220;org.restlet.ext&#8221; ones, merging the &#8220;com.noelios.restlet.jar&#8221; into a single core &#8220;org.restlet.jar&#8221; including both the Restlet API and the core engine.</p>
<h3>Enhanced Restlet API</h3>
<p>We completed our support for HTTP headers, mapping almost all standard ones to the Restlet API as illustrated in this <a href="http://wiki.restlet.org/docs_2.0/13-restlet/27-restlet/324-restlet/130-restlet.html">mapping table</a> and also introduced a higher level way to develop Restlet resources that works equally well on both client and server side.</p>
<p>Those new ServerResource and ClientResource classes support the traditional class-oriented approach previously used in Restlet and added on top of it using custom Java annotations, providing the benefits of the JAX-RS API (that we keep supporting as a Restlet extension) but with much less annotations (just 5 currently) and a rich and extensible Java API as a solid foundation.</p>
<p>As a result, you can use representation beans that can get automatically serialized to and from XML, JSON, GWT object, Java object formats thanks to extensions such as Jackson, XStream, JiBX or JAXB.</p>
<p>We also added a brand new <a href="http://wiki.restlet.org/docs_2.0/13-restlet/27-restlet/46-restlet.html">security API </a>that supports HTTP centric authentication and authorization in simple yet extensible way, for example with extensions for the JAAS, jSSLutils and javax.crypto APIs.</p>
<h3>OData extension</h3>
<p>A new <a href="http://wiki.restlet.org/docs_2.0/13-restlet/28-restlet/287-restlet.html">extension for OData</a> technology was added, thanks to a collaboration with Microsoft Interop teams. It provides a high-level client API based on the ClientResource class  that lets you access remote OData services, typically hosted in an ASP.NET  servers or on the Windows Azure cloud computing platform.</p>
<p><a href="http://wiki.restlet.org/docs_2.0/13-restlet/28-restlet/287-restlet.html"><img class="aligncenter size-full wp-image-913" title="OData" src="http://noelios.files.wordpress.com/2010/07/odata.png?w=40&#038;h=40" alt="" width="40" height="40" /></a></p>
<p>The extension contains  both a code generator for the representation beans and a runtime layer. Advanced features such as projections, blobs, server-side paging, row  counts, customizable feeds or version headers are supported.</p>
<h3>RDF extension</h3>
<p>We also want to make Restlet a  great framework for building applications for the Semantic Web. The  relationship between REST and RDF is perfect : the core concept of  resources and their representations with REST and the expression of meaningful links  between them with RDF.</p>
<p style="text-align:center;"><img class="aligncenter" src="http://noelios.files.wordpress.com/2009/04/semantic-web1.png?w=150&amp;h=50&#038;h=50" alt="" width="150" height="50" /></p>
<p>This new 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, RDF/n3, Turtle and N-Triples. Finally, a RdfClientResource class facilitates the hypermedia navigation in the Web of  Data.</p>
<h3>Other changes</h3>
<p>It is impossible to be exhaustive in such a post, but we have  collected <a href="http://wiki.restlet.org/docs_2.0/13-restlet/21-restlet/171-restlet.html">all  major changes</a> in our new user guide. For those interested in a more  exhaustive list, there is always the <a href="http://www.restlet.org/documentation/2.0/jse/changes">changes  log</a>.</p>
<h2>&#8220;Restlet in Action&#8221; book</h2>
<p>Last year we have started writing a book on the Restlet Framework for Manning. It will contain 12 chapters covering all major aspects of Restlet applications development and RESTful web APIs design based on our home-grown ROA/D methodology.</p>
<p style="text-align:center;"><a href="http://www.manning.com/affiliate/idevaffiliate.php?id=1121_217"><img class="aligncenter" title="Restlet in Action" src="http://www.manning.com/louvel/louvel_cover150.jpg" alt="" width="150" height="186" /></a></p>
<p>Today, we released chapter 6 on documenting and versionning web APIs, as well as chapter 7 on Restlet security contributed by <a href="http://www.harbulot.com/">Bruno Harbulot</a>. To celebrate version 2.0.0 release, Manning is offering to Restlet users a time limited 35% discount with the &#8220;<strong>rest35au</strong>&#8221; code. Happy reading!</p>
<h2>What&#8217;s next</h2>
<p>Today is a time to step back and thank our community of users and contributors, all readers providing feed-back on the book in the <a href="http://www.manning-sandbox.com/forum.jspa?forumID=618">authors&#8217; forum</a> or during the external review and of course to our growing list of customers at <a href="http://www.noelios.com/">Noelios Technologies</a>, the commercial entity backing the open source project, making this open source project economically sustainable.</p>
<p>After nearly 5 years after the project launch, the road ahead has never been as exciting. REST is finally recognized as the best way to design web applications and distributed architectures in general.</p>
<p>We have already prepared a <a href="http://wiki.restlet.org/developers/175-restlet.html">roadmap for version 2.1</a> which will add incremental features such as better hypermedia support, enhanced converter service, a pure JavaScript edition, production-ready internal HTTP connectors based on non blocking NIO, support for VoIP via SIP and an even better user documentation.</p>
<p>Your feedback, funding and continuous support will make a difference.</p>
<p>Best regards,</p>
<p>Jérôme Louvel &#8211; Founder and Technical lead<br />
ThierryBoileau &#8211; Core developer and Community manager</p>
<h2>Contributors since 2.0 RC4</h2>
<ul>
<li>Aleskandr Shekhter</li>
<li>Alex Milowski</li>
<li>Alexander J. Perez Tchernov</li>
<li>Alistair Dutton</li>
<li>Bruno Harbulot</li>
<li>Christopher Gokey</li>
<li>David Fogel</li>
<li>Dustin Jenkins</li>
<li>Eric Hough</li>
<li>Felix Leipold</li>
<li>Giovani Pieri</li>
<li>Greg Hengeli</li>
<li>Guillaume Maillard</li>
<li>Guillermo Vega</li>
<li>Iestyn Evans</li>
<li>Jeroen Goubert</li>
<li>Kristoffer Gronowski</li>
<li>Louis Huh</li>
<li>Martin Svensson</li>
<li>Rickard Oberg</li>
<li>Sriram Chavali</li>
<li>Tim Kuntz</li>
<li>Tim Peierls</li>
<li>TK Kocheran</li>
<li>Valdis Rigdon</li>
<li>Vassilis Touloumtzoglou</li>
</ul>
<p>Thanks to all others who helped us in various ways during the 2.0 development!</p>
<h2>Additional resources</h2>
<p>Changes log:<a rel="#someid12" href="http://www.restlet.org/documentation/2.0/changes"><br />
</a> <a href="http://www.restlet.org/documentation/2.0/jse/changes">http://www.restlet.org/documentation/2.0/jse/changes</a></p>
<p>Download links:<br />
<a href="http://www.restlet.org/downloads/testing">http://www.restlet.org/downloads/testing</a></p>
<p>Maven repositories:<br />
<a rel="#someid16" href="http://maven.restlet.org/">http://maven.restlet.org</a> is  updated <strong>on the 1st and 15th of each month</strong><br />
<a rel="#someid17" href="http://maven.noelios.com/">http://maven.noelios.com</a> is  updated daily with new artifacts (access reserved to  subscribers)</p>
<h2>Updates</h2>
<ul>
<li><em>Xebia &#8211; <a href="http://blog.xebia.fr/2010/07/27/revue-de-presse-xebia-169/#SortiedeRestlet">Press review covering release of Restlet Framework 2.0</a> (in French)</em></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/noelios.wordpress.com/907/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/noelios.wordpress.com/907/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/noelios.wordpress.com/907/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/noelios.wordpress.com/907/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/noelios.wordpress.com/907/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/noelios.wordpress.com/907/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/noelios.wordpress.com/907/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/noelios.wordpress.com/907/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/noelios.wordpress.com/907/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/noelios.wordpress.com/907/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/noelios.wordpress.com/907/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/noelios.wordpress.com/907/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/noelios.wordpress.com/907/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/noelios.wordpress.com/907/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.noelios.com&amp;blog=30093&amp;post=907&amp;subd=noelios&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.noelios.com/2010/07/19/restlet-framework-2-0-0-released/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">jlouvel</media:title>
		</media:content>

		<media:content url="http://noelios.files.wordpress.com/2010/07/restlet-editions.png" medium="image">
			<media:title type="html">Restlet editions</media:title>
		</media:content>

		<media:content url="http://noelios.files.wordpress.com/2010/07/odata.png" medium="image">
			<media:title type="html">OData</media:title>
		</media:content>

		<media:content url="http://noelios.files.wordpress.com/2009/04/semantic-web1.png?w=150&#38;h=50" medium="image" />

		<media:content url="http://www.manning.com/louvel/louvel_cover150.jpg" medium="image">
			<media:title type="html">Restlet in Action</media:title>
		</media:content>
	</item>
		<item>
		<title>Restlet Framework 2.0 RC4 released</title>
		<link>http://blog.noelios.com/2010/06/01/restlet-framework-2-0-rc4-released/</link>
		<comments>http://blog.noelios.com/2010/06/01/restlet-framework-2-0-rc4-released/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 06:16:56 +0000</pubDate>
		<dc:creator>Jerome Louvel</dc:creator>
				<category><![CDATA[Restlet]]></category>
		<category><![CDATA[Restlet Releases]]></category>

		<guid isPermaLink="false">http://blog.noelios.com/?p=900</guid>
		<description><![CDATA[Continuing our road towards the 2.0.0 version, the release candidate 4 is ready for testing. Since RC3 released one month ago, about 28 issues were fixed. Main changes Character oriented subclasses of OutputRepresentation now extend WriterRepresentation for consistent character set handling. StringRepresentation now derives from CharacterRepresentation. This fixed several character set issues in extensions such [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.noelios.com&amp;blog=30093&amp;post=900&amp;subd=noelios&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Continuing our road towards the 2.0.0 version, the release candidate 4 is ready for testing. Since RC3 released one month ago, about 28 issues were fixed.</p>
<h2>Main changes</h2>
<ul>
<li>Character oriented subclasses of OutputRepresentation now extend  WriterRepresentation for consistent character set handling. StringRepresentation now derives from CharacterRepresentation. This fixed several character set issues in extensions such as GWT, XStream, Jackson or JAXB.</li>
<li>Status name is now returned to clients for display instead of the  status description, in order to not expose internal information by default for  security reasons. It is also shorter and doesn&#8217;t normally contain line feeds and carriage return forbidden characters.</li>
<li>OData extension issues related to complex types generation, redirection or unnecessary client connector instantiations were fixed.</li>
<li>Engine class was refactored to allow the usage of Restlet in constrained environments (<a href="http://wiki.restlet.org/docs_2.0/13-restlet/333-restlet/338-restlet.html">such as Applets</a>) where it is forbidden to create a new classloader.</li>
<li>Security related classes (JaasVerifier, DigestAuthenticator and DigesterRepresentation) were fixed.</li>
<li>Unecessary log entries under Android were removed, due to usage of BufferedReader without specifying a buffer size.</li>
<li>The design of the Engine class was fixed to allow custom subclasses to be registered without systematically creating a new EngineClassLoader. This is useful when the security manager is activated. A typical use case is for running <a href="http://wiki.restlet.org/docs_2.0/13-restlet/333-restlet/338-restlet.html">Restlet inside Applets</a>.</li>
<li>Deprecated GwtShellServletWrapper and WadlResource classes, SpringBeanFinder#getSpringBeanRouter method.</li>
<li>Javadocs improvements with links to online user guide (wiki) and more detailed description of classes such as ServerResource and Finder.</li>
<li>Optimization of StringRepresentation#getStream() speed by a factor 10 using the ByteArrayInputStream().</li>
<li>Clarified server connector start message by displaying the protocol and the port number they are listening on.</li>
</ul>
<h2><a href="http://www.restlet.org/"><img title="Restlet" src="http://noelios.files.wordpress.com/2009/08/logo150.gif?w=150&amp;h=53&#038;h=53" alt="" width="150" height="53" /></a></h2>
<h2>Direct contributors</h2>
<ul>
<li>Alex Milowski</li>
<li>Bruno Harbulot</li>
<li>George Calm</li>
<li>Jean-Baptiste Dusseaut</li>
<li>Jean-Philippe Steinmetz</li>
<li>Kevin Pauli</li>
<li>Marc Knaup</li>
<li>Martin Krasser</li>
<li>Matthew Drooker</li>
<li>Myriam Leggieri</li>
<li>Pierre-Yves Ricau</li>
<li>Rob Heittman</li>
<li>Roger Heim</li>
<li>Tal Liron</li>
<li>Thierry Templier</li>
<li>Yang Xudong</li>
</ul>
<p>Thanks to all others who helped us in various ways!</p>
<h2>Additional resources</h2>
<p>Changes log:<a rel="#someid12" href="http://www.restlet.org/documentation/2.0/changes"><br />
</a> <a href="http://www.restlet.org/documentation/2.0/jse/changes">http://www.restlet.org/documentation/2.0/jse/changes</a></p>
<p>Download links:<br />
<a href="http://www.restlet.org/downloads/testing">http://www.restlet.org/downloads/testing</a></p>
<p>Maven repositories:<br />
<a rel="#someid16" href="http://maven.restlet.org/">http://maven.restlet.org</a> is  updated <strong>on the 1st and 15th of each month</strong><br />
<a rel="#someid17" href="http://maven.noelios.com/">http://maven.noelios.com</a> is  updated daily with new artifacts (access reserved to  subscribers)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/noelios.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/noelios.wordpress.com/900/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/noelios.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/noelios.wordpress.com/900/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/noelios.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/noelios.wordpress.com/900/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/noelios.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/noelios.wordpress.com/900/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/noelios.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/noelios.wordpress.com/900/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/noelios.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/noelios.wordpress.com/900/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/noelios.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/noelios.wordpress.com/900/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.noelios.com&amp;blog=30093&amp;post=900&amp;subd=noelios&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.noelios.com/2010/06/01/restlet-framework-2-0-rc4-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">jlouvel</media:title>
		</media:content>

		<media:content url="http://noelios.files.wordpress.com/2009/08/logo150.gif?w=150&#38;h=53&#38;h=53" medium="image">
			<media:title type="html">Restlet</media:title>
		</media:content>
	</item>
		<item>
		<title>GSoC and Restlet integration with Equinox</title>
		<link>http://blog.noelios.com/2010/05/06/gsoc-and-restlet-integration-with-equinox/</link>
		<comments>http://blog.noelios.com/2010/05/06/gsoc-and-restlet-integration-with-equinox/#comments</comments>
		<pubDate>Thu, 06 May 2010 10:35:09 +0000</pubDate>
		<dc:creator>Jerome Louvel</dc:creator>
				<category><![CDATA[Ecosystem]]></category>
		<category><![CDATA[Equinox]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[OSGi]]></category>
		<category><![CDATA[Restlet General]]></category>

		<guid isPermaLink="false">http://blog.noelios.com/?p=875</guid>
		<description><![CDATA[Two years ago, we announced that NASA launched Restlet on the OSGi orbit by developing an integration of Restlet 1.1 with OSGi, based on Equinox extension points. This effort was presented at EclipseCon 2008 &#38; 2009, and the code was contributed to the Ensemble project under a special license as explained by Bryan Hunt in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.noelios.com&amp;blog=30093&amp;post=875&amp;subd=noelios&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Two years ago, we announced that <a href="http://blog.noelios.com/2008/05/05/nasa-launch-restlet-on-osgi-orbit/">NASA launched Restlet on the OSGi orbit</a> by developing an integration of Restlet 1.1 with OSGi, based on Equinox extension points. This effort was presented at EclipseCon 2008 &amp; 2009, and the code was contributed to the <a href="http://www.techbriefs.com/component/content/article/5712">Ensemble project</a> under a special license as explained by <a href="http://bryanhunt.wordpress.com/2009/11/23/updating-ensemble-for-restlet-2-0-license-beware/">Bryan Hunt in this post</a>. Also, listening to <a href="http://wiki.restlet.org/developers/172-restlet/124-restlet.html">feed-back</a> on OSGi from Restlet community, version 2.0 of the  Restlet Framework was enhanced to ensure that all its modules and  dependencies were available as good OSGi bundles.</p>
<p><a href="http://wiki.restlet.org/docs_2.0/13-restlet/48-restlet/238-restlet.html"><img class="aligncenter size-full wp-image-574" title="Restlet and OSGi" src="http://noelios.files.wordpress.com/2009/08/logo150.gif?w=150&#038;h=53" alt="" width="150" height="53" /></a></p>
<p>However, even though deploying Restlet components and applications in an OSGi environment is already possible and explained in the <a href="http://wiki.restlet.org/docs_2.0/13-restlet/48-restlet/238-restlet.html">user guide</a>, it doesn&#8217;t take advantage of the dynamic and extensible nature of OSGi. Today, Bryan Hunt pointed me to a great tutorial written by Wolfgang Werner that nicely describes the Restlet Framework, covers its usage with Eclipse&#8217;s Plugin Development Environment (PDE) and explains how to leverage Equinox&#8217;s extension points to dynamically register Restlet components, applications and resources. See the series of posts titled &#8220;Building web services on Equinox and Restlet&#8221;:  <a href="http://blog.wolfgang-werner.net/building-on-equinox-and-restlet-1/">part #1</a>, <a href="http://blog.wolfgang-werner.net/building-web-services-on-equinox-and-restlet-2/">part #2</a> and <a href="http://blog.wolfgang-werner.net/building-web-services-on-equinox-and-restlet-3/">part #3</a>.</p>
<p><a href="http://wiki.eclipse.org/Equinox/Restlet_Integration"><img class="aligncenter size-full wp-image-876" title="Eclipse" src="http://noelios.files.wordpress.com/2010/05/eclipse.png?w=171&#038;h=91" alt="" width="171" height="91" /></a></p>
<p>But wait, there is more good news as a Google Summer of Code 2010 project &#8220;<a href="http://wiki.eclipse.org/Equinox/Restlet_Integration">Restlet integration with Equinox</a>&#8221; was proposed by the Eclipse Foundation and just accepted by Google! Thanks to Bryan Hunt for initiating the effort, to Equinox&#8217;s development team for supporting it, including <a href="http://eclipsesource.com/blogs/author/jeff/">Jeff McAffer</a>, <a href="http://www.eclipsecon.org/2010/sessions/?page=sessions&amp;id=1111">Simon Kaegi</a> and <a href="http://eclipseecf.blogspot.com/">Scott Lewis</a>. We also received a positive review from <a href="http://blog.benjamin-cabe.com/">Benjamin Cabé</a>, an Eclipse contributor. Thanks also to all supporters including Jeff Norris and Khawaja S Shams from NASA, Rob Heittman from Solertium and Thierry Templier.</p>
<p><a href="http://code.google.com/soc/"><img class="aligncenter size-full wp-image-877" title="GSoC 2010" src="http://noelios.files.wordpress.com/2010/05/gsoc2010-e1273140805198.jpg?w=200&#038;h=178" alt="" width="200" height="178" /></a></p>
<p>Two students proposals were submitted, one from Rajeev Sampath and another one from Samrat Dhillon. The first one was finally selected but Samrat has offered to contribute to the project. Rajeev is a Computer Science undergraduate student from <a href="http://www.mrt.ac.lk/">University of Moratuwa</a>, Sri  Lanka, with good Java and distributed system experience as illustrated by his participation to the <a href="http://www.epzilla.net/">Epzilla project</a> on Complex Event Processing (CEP).</p>
<p>I&#8217;m very happy to see this project, initiated by the Restlet community, taking shape and wish it full success. At Noelios Technologies, we will support it as co-mentor and encourage other interested parties to join and contribute. The project web site at Google Code is <a href="http://code.google.com/a/eclipselabs.org/p/restlet-integration-with-equinox/">here</a>&#8230; stay tuned!</p>
<p><em>Updates:</em></p>
<ul>
<li><em>EclipseSource &#8211; <a href="http://eclipsesource.com/blogs/2010/04/27/google-summer-of-code-2010-is-on/">Google Summer of Code 2010 is on!</a></em></li>
<li><em>EclipseLabs &#8211; <a href="http://code.google.com/a/eclipselabs.org/p/restlet-integration-with-equinox/">Restlet integration with Equinox</a><br />
</em></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/noelios.wordpress.com/875/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/noelios.wordpress.com/875/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/noelios.wordpress.com/875/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/noelios.wordpress.com/875/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/noelios.wordpress.com/875/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/noelios.wordpress.com/875/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/noelios.wordpress.com/875/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/noelios.wordpress.com/875/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/noelios.wordpress.com/875/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/noelios.wordpress.com/875/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/noelios.wordpress.com/875/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/noelios.wordpress.com/875/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/noelios.wordpress.com/875/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/noelios.wordpress.com/875/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.noelios.com&amp;blog=30093&amp;post=875&amp;subd=noelios&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.noelios.com/2010/05/06/gsoc-and-restlet-integration-with-equinox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">jlouvel</media:title>
		</media:content>

		<media:content url="http://noelios.files.wordpress.com/2009/08/logo150.gif" medium="image">
			<media:title type="html">Restlet and OSGi</media:title>
		</media:content>

		<media:content url="http://noelios.files.wordpress.com/2010/05/eclipse.png" medium="image">
			<media:title type="html">Eclipse</media:title>
		</media:content>

		<media:content url="http://noelios.files.wordpress.com/2010/05/gsoc2010-e1273140805198.jpg" medium="image">
			<media:title type="html">GSoC 2010</media:title>
		</media:content>
	</item>
		<item>
		<title>Restlet Framework 2.0 RC3 released</title>
		<link>http://blog.noelios.com/2010/04/23/restlet-framework-2-0-rc3-released/</link>
		<comments>http://blog.noelios.com/2010/04/23/restlet-framework-2-0-rc3-released/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 14:45:11 +0000</pubDate>
		<dc:creator>Jerome Louvel</dc:creator>
				<category><![CDATA[Restlet Releases]]></category>

		<guid isPermaLink="false">http://blog.noelios.com/?p=867</guid>
		<description><![CDATA[About one month after RC2, here comes a new release candidate. We fixed about 20 issues, including bugs and API problems. Final 2.0.0 version is still scheduled for the end of June 2010 and we are already quite happy about the overall stability. In addition, Restlet Framework version 1.1.10 was released, fixing three bugs (unwanted [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.noelios.com&amp;blog=30093&amp;post=867&amp;subd=noelios&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div>
<p>About one month after RC2, here comes a new release candidate. We fixed about 20 issues, including bugs and API problems. Final 2.0.0 version is still scheduled for the end of June 2010 and we are already quite happy about the overall stability.</p>
<p>In addition, Restlet Framework version 1.1.10 was released, fixing three bugs (unwanted console trace, WADL &#8220;Resource&#8221; element order and &#8220;content-length&#8221; header for range requests).</p>
<h2>Main changes</h2>
<ul>
<li>Thread blocking issues with the internal HTTP client connector were fixed.</li>
<li>The internal HTTP client works again on the Android edition.</li>
<li>Fixed issues preventing multi-threaded usage of ClientResource and dynamic client proxies.</li>
<li>Fixed concurrency bug with annotated interfaces causing<br />
405 errors (method not allowed).</li>
<li>HTTP proxy configuration was added to internal HTTP client connector.</li>
<li>Removed lesser used MediaType constants in the GWT edition to reduce the compiled size by 6 Kb. Now using Restlet in your GWT application only adds 159 Kb of JavaScript. If you GZip your HTTP traffic, this even gets down to 65 Kb. See <a href="http://restlet.tigris.org/issues/show_bug.cgi?id=965">this issue</a> for more optimizations ideas.</li>
<li>Fixed several bugs related to HTTP DIGEST authentication.</li>
<li>Fixed support of conditional processing for non-GET methods and allowed entity headers to be returned if conditions were not matched.</li>
<li>&#8220;onSent&#8221; and &#8220;onResponse&#8221; callbacks now also work with synchronous HTTP connectors (Net and HttpClient extensions).</li>
<li>XStream annotations are now detected and allow customization of XML and JSON representation from the representation beans.</li>
<li>ServletUtils class introduced in RC2 was moved into the org.restlet.ext.servlet package. It also the easy retrieval of Servlet request and response objects from the Restlet equivalents.</li>
</ul>
<h2><a href="http://www.restlet.org/"><img title="Restlet" src="http://noelios.files.wordpress.com/2009/08/logo150.gif?w=150&amp;h=53&#038;h=53" alt="" width="150" height="53" /></a></h2>
<h2>Direct contributors</h2>
<ul>
<li>Antonio Fiestas</li>
<li>Bruno Harbulot</li>
<li>Carsten  Lohmann</li>
<li>Dan Simpson</li>
<li>Graham Smith</li>
<li>Leigh Klotz</li>
<li>Mark  Drew</li>
</ul>
<p>Thanks to all others who helped us in various ways!</p>
<h2>Additional resources</h2>
<p>Changes log:<a rel="#someid12" href="http://www.restlet.org/documentation/2.0/changes"><br />
</a> <a href="http://www.restlet.org/documentation/2.0/jse/changes">http://www.restlet.org/documentation/2.0/jse/changes</a></p>
<p>Download links:<br />
<a href="http://www.restlet.org/downloads/testing">http://www.restlet.org/downloads/testing</a></p>
<p>Maven repositories:<br />
<a rel="#someid16" href="http://maven.restlet.org/">http://maven.restlet.org</a> is  updated <strong>on the 1st and 15th of each month</strong><br />
<a rel="#someid17" href="http://maven.noelios.com/">http://maven.noelios.com</a> is  updated daily with new artifacts (access reserved to  subscribers)</p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/noelios.wordpress.com/867/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/noelios.wordpress.com/867/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/noelios.wordpress.com/867/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/noelios.wordpress.com/867/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/noelios.wordpress.com/867/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/noelios.wordpress.com/867/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/noelios.wordpress.com/867/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/noelios.wordpress.com/867/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/noelios.wordpress.com/867/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/noelios.wordpress.com/867/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/noelios.wordpress.com/867/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/noelios.wordpress.com/867/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/noelios.wordpress.com/867/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/noelios.wordpress.com/867/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.noelios.com&amp;blog=30093&amp;post=867&amp;subd=noelios&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.noelios.com/2010/04/23/restlet-framework-2-0-rc3-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">jlouvel</media:title>
		</media:content>

		<media:content url="http://noelios.files.wordpress.com/2009/08/logo150.gif?w=150&#38;h=53" medium="image">
			<media:title type="html">Restlet</media:title>
		</media:content>
	</item>
		<item>
		<title>Restlet Framework 2.0 RC2 released</title>
		<link>http://blog.noelios.com/2010/03/30/restlet-framework-2-0-rc2-released/</link>
		<comments>http://blog.noelios.com/2010/03/30/restlet-framework-2-0-rc2-released/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 21:26:50 +0000</pubDate>
		<dc:creator>Jerome Louvel</dc:creator>
				<category><![CDATA[Restlet Releases]]></category>

		<guid isPermaLink="false">http://blog.noelios.com/?p=858</guid>
		<description><![CDATA[Here is the second release candidate of version 2.0 of the Restlet Framework. Two weeks after RC1, the goal was to fix the blocking issues that were reported due to numerous tests from the community. In addition, Restlet Framework version 1.1.9 was released, fixing two bugs (setting of custom server name and ISO latin 1 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.noelios.com&amp;blog=30093&amp;post=858&amp;subd=noelios&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Here is the second release candidate of version 2.0 of the Restlet Framework. Two weeks after <a href="http://blog.noelios.com/2010/03/15/restlet-framework-2-0-rc1-released/">RC1</a>, the goal was to fix the blocking issues that were reported due to numerous tests from the community.</p>
<p>In addition, Restlet Framework version 1.1.9 was released, fixing two bugs (setting of custom server name and ISO latin 1 parsing for HTTP BASIC credentials).</p>
<h2>Main changes</h2>
<ul>
<li>SSL keystores configuration was adjusted for simplicity purpose</li>
<li>User and Role classes now implement java.security.Principal interface. The UserPrincipal and RolePrincipal classes were removed from the JAAS extension and JaasUtils#createSubject() now also adds the ClientInfo#principals entries.</li>
<li>A ServletUtils class was added to the Servlet extension with two methods to easily retrieve the Servlet request/response.</li>
<li>13 bugs were fixed including one regression with cookie headers handling, WADL/HTML generation, ResourceException not correctly propagating the status code, local conversions between representations and objects, or GWT serialization issues with nested generic types and arrays.</li>
<li>Simple Framework libary was updated to version 4.1.20, fixing an SSL issue reported by Restlet users</li>
</ul>
<h2><a href="http://www.restlet.org"><img title="Restlet" src="http://noelios.files.wordpress.com/2009/08/logo150.gif?w=150&#038;h=53" alt="" width="150" height="53" /></a></h2>
<h2>Direct contributors</h2>
<ul>
<li>Bruno Harbulot</li>
<li>Carsten Lohmann</li>
<li>Kelly McLaughlin</li>
<li>Rob Heittman</li>
<li>Sirthias</li>
<li>Tal Liron</li>
<li>Thomas Conté</li>
<li>Valdis Rigdon</li>
</ul>
<p>Thanks to all others who helped us in various ways!</p>
<h2>Additional resources</h2>
<p>Changes log:<a rel="#someid12" href="http://www.restlet.org/documentation/2.0/changes"><br />
</a> <a href="http://www.restlet.org/documentation/2.0/jse/changes">http://www.restlet.org/documentation/2.0/jse/changes</a></p>
<p>Download links:<br />
<a href="http://www.restlet.org/downloads/testing">http://www.restlet.org/downloads/testing</a></p>
<p>Maven repositories:<br />
<a rel="#someid16" href="http://maven.restlet.org/">http://maven.restlet.org</a> is  updated <strong>on the 1st and 15th of each month</strong><br />
<a rel="#someid17" href="http://maven.noelios.com/">http://maven.noelios.com</a> is  updated daily with new artifacts (access reserved to  subscribers)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/noelios.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/noelios.wordpress.com/858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/noelios.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/noelios.wordpress.com/858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/noelios.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/noelios.wordpress.com/858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/noelios.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/noelios.wordpress.com/858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/noelios.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/noelios.wordpress.com/858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/noelios.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/noelios.wordpress.com/858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/noelios.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/noelios.wordpress.com/858/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.noelios.com&amp;blog=30093&amp;post=858&amp;subd=noelios&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.noelios.com/2010/03/30/restlet-framework-2-0-rc2-released/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">jlouvel</media:title>
		</media:content>

		<media:content url="http://noelios.files.wordpress.com/2009/08/logo150.gif" medium="image">
			<media:title type="html">Restlet</media:title>
		</media:content>
	</item>
		<item>
		<title>Restlet supports OData, the Open Data Protocol</title>
		<link>http://blog.noelios.com/2010/03/15/restlet-supports-odata-the-open-data-protocol/</link>
		<comments>http://blog.noelios.com/2010/03/15/restlet-supports-odata-the-open-data-protocol/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 22:53:07 +0000</pubDate>
		<dc:creator>Jerome Louvel</dc:creator>
				<category><![CDATA[GData]]></category>
		<category><![CDATA[OData]]></category>
		<category><![CDATA[RDF]]></category>
		<category><![CDATA[Restlet]]></category>

		<guid isPermaLink="false">http://blog.noelios.com/?p=801</guid>
		<description><![CDATA[OData adoption Since the release of our Restlet extension for ADO.NET Data Services in September 2009, many changes happened on this front. Microsoft has been busy enhancing their technology, splitting it into an open specification for the REST API called OData, for Open Data Protocol, and using WCF Data Services for the server-side framework. This [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.noelios.com&amp;blog=30093&amp;post=801&amp;subd=noelios&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>OData adoption</h2>
<p>Since the release of our Restlet extension for ADO.NET Data Services in <a href="http://blog.noelios.com/2009/09/28/restlet-bridges-ado-net-data-services-and-java/">September 2009</a>, many changes happened on this front. Microsoft has been busy enhancing their technology, splitting it into an open specification for the REST API called <a href="http://www.odata.org/">OData</a>, for Open Data Protocol, and using WCF Data Services for the server-side framework. <a href="http://msdn.microsoft.com/en-us/data/aa937697.aspx">This article</a> gives an overview of the technology, and <a href="http://www.odata.org/developers/protocols" target="_blank">this page</a> the full specifications of the protocol.</p>
<p>The OData protocol has also been embraced by IBM in its Java-based <a href="http://www.ibm.com/developerworks/websphere/downloads/xs_rest_service.html">WebSphere eXtreme Scale</a> product and Microsoft has leveraged it in several of its products like Excel PowerPivot, SharePoint Server, Windows Azure Table Storage and SQL Server Reporting. Other recent initiatives are the project code-named &#8220;<a href="http://pinpoint.microsoft.com/en-US/Dallas">Dallas</a>&#8220;, which offers a market place for data services with full support for access control and billing, and the <a href="http://blogs.msdn.com/astoriateam/archive/2009/11/17/introducing-the-microsoft-open-data-protocol-visualizer.aspx">OData visualizer</a> part of Visual Studio 2010.</p>
<p>In addition, public OData services are starting to pop-up, like the one to access <a href="http://odata.netflix.com/">Netflix&#8217;s media catalog</a>. Microsoft has been providing examples via the <a href="http://ogdisdk.cloudapp.net/">OGDI initiative </a>and for the <a href="http://api.visitmix.com/">MIX&#8217;10 conference</a>. Here is a longer <a href="http://www.odata.org/producers">list of producers</a>.</p>
<h2>Enhanced Restlet extension</h2>
<p>While preparing our recent <a href="http://blog.noelios.com/2010/03/15/restlet-framework-2-0-rc1-released">Restlet Framework 2.0 RC1 release</a>, we enhanced our Restlet extension for OData, moving it from the &#8220;org.restlet.ext.dataservices&#8221; to the &#8220;org.restlet.ext.odata&#8221; package and adding support for those advanced features:</p>
<ul>
<li>Projections, similar to database views</li>
<li>Transparent server-side paging</li>
<li>Blobs, to expose media resources</li>
<li>Row counts retrieval</li>
<li>Customizable Atom feeds</li>
<li>Version headers</li>
<li>Operations, to expose stored procedures</li>
</ul>
<p>The extension is also available on the Restlet edition for Android, allowing you to directly access OData services, for example hosted on Azure cloud computing platform, from a smart phone.</p>
<p><a href="http://www.restlet.org"><img title="restlet-odata" src="http://noelios.files.wordpress.com/2010/03/restlet-odata2.png?w=450&#038;h=276" alt="" width="450" height="276" /></a></p>
<p>The diagram above illustrates how useful the Restlet extension for OData is becoming, as a high-level client for data services powered by a growing number of server-side technologies. For explanation on how to use this extension, read the Restlet <a href="http://wiki.restlet.org/docs_2.0/13-restlet/28-restlet/287-restlet.html">user guide page</a> for the extension as well as a <a href="http://wiki.restlet.org/docs_2.0/13-restlet/28-restlet/287-restlet/288-restlet.html">detailed tutorial</a>.</p>
<h2>Towards standardization</h2>
<p>All those initiatives have caught attention with articles and posts like:</p>
<ul>
<li><a href="http://www.infoq.com/news/2009/11/OData-GData-Microsoft-Google">InfoQ &#8211; Microsoft Proposes OData as de facto Web Data Protocol</a></li>
<li><a href="http://www.infoq.com/news/2010/02/odata-protocol-collaboration">InfoQ &#8211; Is OData The Ubiquitous Language For Application Collaboration?</a></li>
<li><a href="http://blog.jonudell.net/2010/01/29/odata-for-collaborative-sense-making/">Jon Udell &#8211; OData for collaborative sense-making</a></li>
<li><a href="http://blog.jonudell.net/2010/02/09/producing-and-consuming-odata-feeds-an-end-to-end-example/">Jon Udell &#8211; Producing and consuming OData feeds</a></li>
<li><a href="http://www.stephenforte.net/PermaLink,guid,28df55a8-8811-4c4b-b319-75c5c58d1444.aspx">Stephen Forte &#8211; The Open Data Protocol</a></li>
</ul>
<p>An interesting thing to watch going forward is how this technology will be compared with <a href="http://code.google.com/intl/fr/apis/gdata/">Google Data Protocol</a> (GData) alternative. In his <a href="http://msdn.microsoft.com/en-us/data/ee844254.aspx">OData Q&amp;A page</a>, Microsoft hopes for a collaboration with Google on an official set of extension to the Atom suite of standards.</p>
<p>Yahoo! has also worked on a similar technology called <a href="http://developer.yahoo.com/searchmonkey/smguide/understand_datarss.html">DataRSS</a>, and finally the W3C is pushing the <a href="http://en.wikipedia.org/wiki/Linked_Data">Linked Data</a>, an application of the Semantic Web, as a way to transform the Web of documents into a Web of data, with technologies like RDF and SPARQL.</p>
<p><em>Updates:</em></p>
<ul>
<li><em>Thomas Conté (Microsoft) &#8211; <a href="http://blogs.msdn.com/thomasconte/archive/2010/03/19/consommer-des-services-odata-en-java-avec-restlet.aspx">Consommer des services OData en Java avec Restlet</a> (French)</em></li>
<li><em>Jean-Christophe Cimetière (Microsoft) &#8211; </em><a href="http://blogs.msdn.com/interoperability/archive/2010/03/16/odata-interoperability-with-net-java-php-iphone-and-more.aspx"><em>OData interoperability with .NET, Java, PHP, iPhone and more</em></a></li>
</ul>
<p style="text-align:center;"> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/noelios.wordpress.com/801/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/noelios.wordpress.com/801/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/noelios.wordpress.com/801/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/noelios.wordpress.com/801/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/noelios.wordpress.com/801/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/noelios.wordpress.com/801/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/noelios.wordpress.com/801/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/noelios.wordpress.com/801/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/noelios.wordpress.com/801/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/noelios.wordpress.com/801/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/noelios.wordpress.com/801/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/noelios.wordpress.com/801/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/noelios.wordpress.com/801/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/noelios.wordpress.com/801/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.noelios.com&amp;blog=30093&amp;post=801&amp;subd=noelios&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.noelios.com/2010/03/15/restlet-supports-odata-the-open-data-protocol/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">jlouvel</media:title>
		</media:content>

		<media:content url="http://noelios.files.wordpress.com/2010/03/restlet-odata2.png" medium="image">
			<media:title type="html">restlet-odata</media:title>
		</media:content>
	</item>
		<item>
		<title>Restlet Framework 2.0 RC1 released</title>
		<link>http://blog.noelios.com/2010/03/15/restlet-framework-2-0-rc1-released/</link>
		<comments>http://blog.noelios.com/2010/03/15/restlet-framework-2-0-rc1-released/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 22:46:25 +0000</pubDate>
		<dc:creator>Jerome Louvel</dc:creator>
				<category><![CDATA[Restlet]]></category>
		<category><![CDATA[Restlet Releases]]></category>

		<guid isPermaLink="false">http://blog.noelios.com/?p=805</guid>
		<description><![CDATA[The first release candidate of version 2.0 of the Restlet Framework has just been released. This is an important step toward our 2.0.0 version as the features scope has been completed and critical bugs have been fixed. We can now enter the stabilization phase, fixing as many issues as possible to reach the  level of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.noelios.com&amp;blog=30093&amp;post=805&amp;subd=noelios&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The first release candidate of version 2.0 of the Restlet Framework has just been released. This is an important step toward our 2.0.0 version as the features scope has been completed and critical bugs have been fixed.</p>
<p>We can now enter the <strong>stabilization phase</strong>, fixing as many issues as possible to reach the  level of quality for production applications. We encourage all Restlet developers to review <a href="http://restlet.tigris.org/issues/buglist.cgi?Submit+query=Submit+query&amp;issue_status=NEW&amp;issue_status=STARTED&amp;issue_status=REOPENED&amp;target_milestone=2.0+RC">the list of open issues</a> and contribute by entering new issues, adding comments to help fixing them and even better to contribute patches!</p>
<p>Another effort has been started to update the <strong><a href="http://wiki.restlet.org/docs_2.0/2-restlet.html">user guide</a></strong> to match the API changes and new features in version 2.0. For example, the table of contents has been simplified, <a href="http://wiki.restlet.org/docs_2.0/13-restlet/21-restlet/171-restlet.html">changes since version 1.1</a> have been summarized and an <a href="http://wiki.restlet.org/docs_2.0/13-restlet/275-restlet/313-restlet.html">extensions matrix</a> has been added. This is a collaborative effort and new authors are also encouraged to participate.</p>
<h2>Main changes</h2>
<ul>
<li>Various cleanings to the <strong>Restlet API</strong>. Added Expectation and RecipientInfo classes in org.restlet.data to support the HTTP Expect and Via headers.</li>
<li>Refactoring and cleaning of all the <strong>XML extensions</strong>. The dependency from JAXB and JiBX extensions to org.restlet.ext.xml has been removed.</li>
<li>Enhanced the <strong>CLAP connector</strong> to support a default authority (&#8220;class&#8221;) for shorter URIs (ex: &#8220;clap:///org/restlet/Uniform.class&#8221;). Added LocalReference#createClapReference(int, Package) and createClapReference(Package) methods to help building shorter CLAP URIs.</li>
<li>The <strong>Data Services</strong> extension for Microsoft ADO.NET/WCF has been renamed to <strong>OData</strong> as the protocol specification has recently been opened up. Added support for new features such as projections, blobs, server-side paging, row counts, customizable feeds or version headers. See <a href="http://blog.noelios.com/2010/03/15/restlet-supports-odata-the-open-data-protocol/">related blog post</a>.</li>
<li>20 bugs have been fixed including one preventing the compilation of annotated interfaces in the GWT edition and another annoying one eating the query part of URIs with the default connector.</li>
<li>All the library dependencies have been updated, for example Spring to 3.0.1, Jackson to 1.4.3, Jettison to 1.2, Apache Lucene to 2.9 or Apache Velocity to 1.6.3.</li>
</ul>
<h2><a href="http://www.restlet.org"><img class="aligncenter size-full wp-image-574" title="Restlet" src="http://noelios.files.wordpress.com/2009/08/logo150.gif?w=150&#038;h=53" alt="" width="150" height="53" /></a></h2>
<h2>Direct contributors</h2>
<ul>
<li>Andreas Schneider</li>
<li>Bryan Hunt</li>
<li>Carsten Lohmann</li>
<li>Daniel Truemper</li>
<li>Fabian Mandelbaum</li>
<li>Harald Pehl</li>
<li>John Wismar</li>
<li>Laszlo Megyer</li>
<li>Laurent Rustuel</li>
<li>Martin Kubincanek</li>
<li>Masaki Sudo</li>
<li>Nicolas Rinaudo</li>
<li>Nirav Shah</li>
<li>Rhett Sutphin</li>
<li>Rickard Oberg</li>
<li>Tal Liron</li>
<li>Tim Peierls</li>
<li>Xavier Mehaut</li>
<li>Zsolt Czinkos</li>
</ul>
<p>Thanks to all others who helped us in various ways!</p>
<h2>Additional resources</h2>
<p>Changes log:<a rel="#someid12" href="http://www.restlet.org/documentation/2.0/changes"><br />
</a> <a href="http://www.restlet.org/documentation/2.0/jse/changes">http://www.restlet.org/documentation/2.0/jse/changes</a></p>
<p>Download links:<br />
<a href="http://www.restlet.org/downloads/testing">http://www.restlet.org/downloads/testing</a></p>
<p>Maven repositories:<br />
<a rel="#someid16" href="http://maven.restlet.org/">http://maven.restlet.org</a> is updated <strong>on the 1st and 15th of each month</strong><br />
<a rel="#someid17" href="http://maven.noelios.com/">http://maven.noelios.com</a> is updated daily with new artifacts (access reserved to  subscribers)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/noelios.wordpress.com/805/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/noelios.wordpress.com/805/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/noelios.wordpress.com/805/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/noelios.wordpress.com/805/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/noelios.wordpress.com/805/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/noelios.wordpress.com/805/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/noelios.wordpress.com/805/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/noelios.wordpress.com/805/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/noelios.wordpress.com/805/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/noelios.wordpress.com/805/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/noelios.wordpress.com/805/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/noelios.wordpress.com/805/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/noelios.wordpress.com/805/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/noelios.wordpress.com/805/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.noelios.com&amp;blog=30093&amp;post=805&amp;subd=noelios&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.noelios.com/2010/03/15/restlet-framework-2-0-rc1-released/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">jlouvel</media:title>
		</media:content>

		<media:content url="http://noelios.files.wordpress.com/2009/08/logo150.gif" medium="image">
			<media:title type="html">Restlet</media:title>
		</media:content>
	</item>
		<item>
		<title>Restlet 2.0 M7 released</title>
		<link>http://blog.noelios.com/2010/01/29/restlet-2-0-m7-released/</link>
		<comments>http://blog.noelios.com/2010/01/29/restlet-2-0-m7-released/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 18:56:34 +0000</pubDate>
		<dc:creator>Jerome Louvel</dc:creator>
				<category><![CDATA[Restlet]]></category>
		<category><![CDATA[Restlet Releases]]></category>

		<guid isPermaLink="false">http://blog.noelios.com/?p=785</guid>
		<description><![CDATA[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 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.noelios.com&amp;blog=30093&amp;post=785&amp;subd=noelios&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<p>To celebrate this new release, Manning is having the <a href="http://www.manning.com/affiliate/idevaffiliate.php?id=1121_217"><strong>Restlet in Action</strong> book</a> as their Deal of the Day for Jan 29, 2010. The deal is the ebook in early access for just  $10, using code <strong>dotd0129</strong>!</p>
<h2>Main changes</h2>
<ul>
<li><strong>Asynchronous call handling </strong>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.</li>
<li><strong>Replaced the default/internal HTTP connectors </strong>with new ones based on a <a href="http://wiki.restlet.org/developers/172-restlet/297-restlet.html">more flexible design</a>. They now support all advanced HTTP features such as <strong>persistent connections </strong>and <strong>pipelining </strong>on both client and server side. They are for now the only connectors, beside the GWT edition, supporting the new <strong>asynchronous</strong> handling capabilities of the Restlet API.</li>
<li>Requests and responses can now be aborted, useful to save bandwidth where undesired calls are handled.</li>
<li><strong>Security realms </strong>now have a lifecycle allowing the initialization from a relational database, a file or a LDAP directory.</li>
<li><strong>Component services </strong>are now extensible, allowing you to add your own to the chain.</li>
<li>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.</li>
<li><strong>New <a href="http://jackson.codehaus.org/">Jackson</a> extension </strong>added, offering a nice alternative to the existing XStream extension for JSON object serialization (based on Jettison).</li>
<li><strong>Converters </strong>were added for all relevant Restlet extensions, allowing usage of high-level classes in annotated Restlet interfaces for example.</li>
<li>The <strong>WCF Data Services </strong>extension (previously called ADO.NET Data Services) is now also available in the Android edition.</li>
<li><strong>GWT object serialization </strong>support, based on annotated Restlet interfaces was also added for the GWT edition, leveraging GWT&#8217;s deferred binding mechanism and GWT-RPC serialization format! <a href="http://blog.noelios.com/2009/12/17/restlet-a-restful-middleware-for-gwt-gae-and-android/">See this related post for details</a>.</li>
<li>Significantly improved the ability to generate <strong>dynamic client proxies </strong>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!</li>
<li>The <strong>component XML </strong>configuration has been extended to support all existing properties and features available in the Java API.</li>
</ul>
<p><a href="http://www.restlet.org"><img class="aligncenter size-full wp-image-574" title="Restlet" src="http://noelios.files.wordpress.com/2009/08/logo150.gif?w=150&#038;h=53" alt="" width="150" height="53" /></a></p>
<h2>Direct contributors</h2>
<ul>
<li>Ben R. Vesco</li>
<li>Bruno Harbulot</li>
<li>Carsten Lohmann</li>
<li>Cedric Hurst</li>
<li>David Fogel</li>
<li>Fabian Mandelbaum</li>
<li>Iestyn Evans</li>
<li>Jeff Ramsdale</li>
<li>John Logdson</li>
<li>Jonathan Hall</li>
<li>Laurent Rustuel</li>
<li>Remi Dewitte</li>
<li>Sanjay Acharya</li>
<li>Tal Liron</li>
<li>Taylor Cowan</li>
<li>Tim Peierls</li>
</ul>
<p>Thanks to all others who helped us in various ways!</p>
<h2>Additonal resources</h2>
<p>Changes log:<a rel="#someid12" href="http://www.restlet.org/documentation/2.0/changes"><br />
</a> <a href="http://www.restlet.org/documentation/2.0/jse/changes">http://www.restlet.org/documentation/2.0/jse/changes</a></p>
<p>Download links:<br />
<a href="http://www.restlet.org/downloads/testing">http://www.restlet.org/downloads/testing</a></p>
<p>Maven repositories:<br />
<a rel="#someid16" href="http://maven.restlet.org/">http://maven.restlet.org</a> is updated <strong>on the 1st and 15th of each month</strong><br />
<a rel="#someid17" href="http://maven.noelios.com/">http://maven.noelios.com</a> is updated daily with new artifacts (access reserved to  subscribers)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/noelios.wordpress.com/785/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/noelios.wordpress.com/785/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/noelios.wordpress.com/785/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/noelios.wordpress.com/785/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/noelios.wordpress.com/785/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/noelios.wordpress.com/785/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/noelios.wordpress.com/785/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/noelios.wordpress.com/785/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/noelios.wordpress.com/785/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/noelios.wordpress.com/785/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/noelios.wordpress.com/785/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/noelios.wordpress.com/785/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/noelios.wordpress.com/785/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/noelios.wordpress.com/785/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.noelios.com&amp;blog=30093&amp;post=785&amp;subd=noelios&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.noelios.com/2010/01/29/restlet-2-0-m7-released/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">jlouvel</media:title>
		</media:content>

		<media:content url="http://noelios.files.wordpress.com/2009/08/logo150.gif" medium="image">
			<media:title type="html">Restlet</media:title>
		</media:content>
	</item>
		<item>
		<title>Restlet, a RESTful middleware for GWT, GAE and Android</title>
		<link>http://blog.noelios.com/2009/12/17/restlet-a-restful-middleware-for-gwt-gae-and-android/</link>
		<comments>http://blog.noelios.com/2009/12/17/restlet-a-restful-middleware-for-gwt-gae-and-android/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 19:46:32 +0000</pubDate>
		<dc:creator>Jerome Louvel</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Ecosystem]]></category>
		<category><![CDATA[GAE]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[Restlet]]></category>
		<category><![CDATA[Restlet General]]></category>

		<guid isPermaLink="false">http://blog.noelios.com/?p=751</guid>
		<description><![CDATA[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 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.noelios.com&amp;blog=30093&amp;post=751&amp;subd=noelios&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>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 <a href="http://www.restlet.org">Restlet Framework</a>, 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:</p>
<ul>
<li><a href="http://blog.noelios.com/2008/07/25/restlet-ported-to-gwt/">Google Web Toolkit</a> (GWT) for AJAX applications deployed in desktop browsers, without any plugin required</li>
<li><a href="http://blog.noelios.com/2009/04/11/restlet-in-the-cloud-with-google-app-engine/">Google App Engine</a> (GAE/J) for deployment on Google&#8217;s cloud computing infrastructure</li>
<li><a href="http://blog.noelios.com/2009/05/06/restlet-available-on-android-phones/">Android</a> for deployment on compatible smartphones</li>
<li>Java SE for standalone deployments in regular Java Virtual Machines</li>
<li>Java EE for deployment in Servlet engines</li>
</ul>
<p>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&#8217;t break the security sandbox or use unsupported JRE classes.</p>
<p>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.</p>
<p style="text-align:center;"><a href="http://wiki.restlet.org/docs_2.0/13-restlet/181-restlet/303-restlet.html"><img class="aligncenter wp-image-760" title="google" src="http://noelios.files.wordpress.com/2009/12/google4.png?w=460" alt="" /></a></p>
<p>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.</p>
<p>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!</p>
<p>So, using Restlet as a cloud server gets you much further than a regular Servlet application. Usually, you would use <a href="http://code.google.com/intl/fr/webtoolkit/doc/latest/DevGuideServerCommunication.html">GWT-RPC</a> 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&#8217;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.</p>
<p>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.</p>
<p><img class="aligncenter size-full wp-image-762" title="cloud" src="http://noelios.files.wordpress.com/2009/12/cloud.png?w=300&#038;h=230" alt="" width="300" height="230" /></p>
<p>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, <a href="http://wiki.restlet.org/docs_2.0/13-restlet/181-restlet/303-restlet.html">we have written a complete tutorial</a>, with full source code, illustrating a unified Restlet application for GAE, GWT and Android.</p>
<p>But even in this scenario, you wouldn&#8217;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 <a href="http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/concepts-flow.html">Amazon EC2</a> or <a href="http://www.microsoft.com/windowsazure/interop/">Microsoft Azure</a>, thanks to our Restlet editions for Java SE and Java EE which can be installed on those major cloud platforms!</p>
<p>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 <a href="http://www.ongwt.com/">Didier Girard</a>, for sharing his insights that led us to this post (and a lot of work!) <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/noelios.wordpress.com/751/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/noelios.wordpress.com/751/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/noelios.wordpress.com/751/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/noelios.wordpress.com/751/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/noelios.wordpress.com/751/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/noelios.wordpress.com/751/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/noelios.wordpress.com/751/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/noelios.wordpress.com/751/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/noelios.wordpress.com/751/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/noelios.wordpress.com/751/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/noelios.wordpress.com/751/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/noelios.wordpress.com/751/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/noelios.wordpress.com/751/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/noelios.wordpress.com/751/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.noelios.com&amp;blog=30093&amp;post=751&amp;subd=noelios&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.noelios.com/2009/12/17/restlet-a-restful-middleware-for-gwt-gae-and-android/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">jlouvel</media:title>
		</media:content>

		<media:content url="http://noelios.files.wordpress.com/2009/12/google4.png" medium="image">
			<media:title type="html">google</media:title>
		</media:content>

		<media:content url="http://noelios.files.wordpress.com/2009/12/cloud.png" medium="image">
			<media:title type="html">cloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Towards RESTful Web Content Management</title>
		<link>http://blog.noelios.com/2009/12/10/towards-restful-web-content-management/</link>
		<comments>http://blog.noelios.com/2009/12/10/towards-restful-web-content-management/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 14:16:46 +0000</pubDate>
		<dc:creator>Jerome Louvel</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[Ecosystem]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[Restlet]]></category>
		<category><![CDATA[Restlet General]]></category>

		<guid isPermaLink="false">http://blog.noelios.com/?p=598</guid>
		<description><![CDATA[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 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.noelios.com&amp;blog=30093&amp;post=598&amp;subd=noelios&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>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 (<a href="http://en.wikipedia.org/wiki/Content_management_system">CMS</a>), including Enterprise Content Management  (<a href="http://en.wikipedia.org/wiki/Enterprise_Content_Management">ECM</a>) and Document Management Systems (<a href="http://en.wikipedia.org/wiki/Document_management_system">DMS</a>).</p>
<p style="text-align:center;"><a href="http://www.nuxeo.com"><img class="aligncenter size-full wp-image-719" title="nuxeo" src="http://noelios.files.wordpress.com/2009/12/nuxeo.png?w=140&#038;h=58" alt="" width="140" height="58" /></a></p>
<p>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 <a href="http://blog.noelios.com/2007/10/23/nuxeo-ecm-adds-a-rest-support/">Nuxeo ECM which leveraged Restlet</a>. This approach was explained in more depth in a <a href="http://www.cmswire.com/cms/enterprise-cms/alfresco-goes-light-with-web-scripts-pattern-001622.php">CMSWire article </a>covering Alfresco&#8217;s RESTful approach and mentioning Restlet has a good candidate for lighter and more RESTful Web frameworks.</p>
<p><a href="http://www.jalios.com"><img class="aligncenter size-full wp-image-718" title="jalios" src="http://noelios.files.wordpress.com/2009/12/jalios.png?w=150&#038;h=37" alt="" width="150" height="37" /></a></p>
<p><a href="http://www.jalios.com">Jalios JCMS</a>, a commercial ECM product, also <a href="http://support.jalios.com/jcms/jx_59631/jcms-60-services-web-restful-avec-jcms-open-api">leverages Restlet for their RESTful OpenAPI</a>. <a href="http://trac.calenco.com/wiki/CalencoRestApi">Another nice example</a> of a REST API based on Restlet was recently provided by <a href="http://www.neodoc.biz/">NeoDoc</a> in their <a href="http://www.calenco.com/">Calenco</a> product, a CMS focusing on the collaborative edition of documents such as strategic business documents, technical documentation, user guides, quality manuals or security procedures.</p>
<p><a href="http://www.calenco.com/"><img class="aligncenter size-full wp-image-722" title="calenco" src="http://noelios.files.wordpress.com/2009/12/calenco.png?w=112&#038;h=86" alt="" width="112" height="86" /></a></p>
<p>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 <a href="http://en.wikipedia.org/wiki/Content_Management_Interoperability_Services">Content Management Interoperability Services</a> (CMIS) standardization effort. Version 1.0 is currently is final review stages, and seems to be gaining a <a href="http://www.cmswire.com/news/topic/cmis">lot of traction</a>.</p>
<p><a href="http://www.oasis-open.org/committees/cmis/"><img class="aligncenter size-full wp-image-716" title="cmis" src="http://noelios.files.wordpress.com/2009/12/cmis.png?w=125&#038;h=34" alt="" width="125" height="34" /></a></p>
<p>However, Roy T. Fielding expressed some critics on the initial draft in <a href="http://roy.gbiv.com/untangled/2008/no-rest-in-cmis">this blog post</a>, 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.</p>
<p>Finally, there is a new trend in CMS called Web Content Management (<a href="http://en.wikipedia.org/wiki/Web_Content_Management_System">WCM</a>), focusing on the online edition of Web documents and Web sites in general. This family includes Wiki software like the powerful and open source <a href="http://www.xwiki.com/">XWiki </a>which also leverages Restlet for <a href="http://platform.xwiki.org/xwiki/bin/view/Features/XWikiRESTfulAPI">their REST API</a>.</p>
<p><a href="http://www.xwiki.com/"></a><a href="http://www.xwiki.com"><img class="aligncenter size-full wp-image-747" title="xwiki" src="http://noelios.files.wordpress.com/2009/12/xwiki1.png?w=135&#038;h=50" alt="" width="135" height="50" /></a></p>
<p>Another illustration of this trend leading to more and more convergence of CMS towards the Web are major online services like <a href="http://docs.google.com/">Google Docs</a> and <a href="http://www.officelive.com/">Microsoft OfficeLive</a>, 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 <a href="http://code.google.com/p/gogoego/">GoGoEgo</a>, a very promising open source RESTful WCM recently launched by <a href="http://www.solertium.com/">Solertium</a>.</p>
<p><a href="http://code.google.com/p/gogoego/"><img class="aligncenter size-full wp-image-726" title="gogoego" src="http://noelios.files.wordpress.com/2009/12/gogoego.png?w=150&#038;h=45" alt="" width="150" height="45" /></a></p>
<p>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 <a href="http://www.solertium.com/blog/friendlyframeworks">friendly frameworks</a>!</p>
<p><em>Update : Mentionned CMIS implementors. Adjusted wording regarding Roy &amp; CMIS based on feed-back from Benoît Dissert of Jalios<br />
</em></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/noelios.wordpress.com/598/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/noelios.wordpress.com/598/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/noelios.wordpress.com/598/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/noelios.wordpress.com/598/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/noelios.wordpress.com/598/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/noelios.wordpress.com/598/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/noelios.wordpress.com/598/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/noelios.wordpress.com/598/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/noelios.wordpress.com/598/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/noelios.wordpress.com/598/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/noelios.wordpress.com/598/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/noelios.wordpress.com/598/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/noelios.wordpress.com/598/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/noelios.wordpress.com/598/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.noelios.com&amp;blog=30093&amp;post=598&amp;subd=noelios&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.noelios.com/2009/12/10/towards-restful-web-content-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">jlouvel</media:title>
		</media:content>

		<media:content url="http://noelios.files.wordpress.com/2009/12/nuxeo.png" medium="image">
			<media:title type="html">nuxeo</media:title>
		</media:content>

		<media:content url="http://noelios.files.wordpress.com/2009/12/jalios.png" medium="image">
			<media:title type="html">jalios</media:title>
		</media:content>

		<media:content url="http://noelios.files.wordpress.com/2009/12/calenco.png" medium="image">
			<media:title type="html">calenco</media:title>
		</media:content>

		<media:content url="http://noelios.files.wordpress.com/2009/12/cmis.png" medium="image">
			<media:title type="html">cmis</media:title>
		</media:content>

		<media:content url="http://noelios.files.wordpress.com/2009/12/xwiki1.png" medium="image">
			<media:title type="html">xwiki</media:title>
		</media:content>

		<media:content url="http://noelios.files.wordpress.com/2009/12/gogoego.png" medium="image">
			<media:title type="html">gogoego</media:title>
		</media:content>
	</item>
	</channel>
</rss>