<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>restlet &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/restlet/</link>
	<description>Feed of posts on WordPress.com tagged "restlet"</description>
	<pubDate>Sat, 05 Dec 2009 15:08:51 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Restlet 2.0 M6 available]]></title>
<link>http://blog.noelios.com/2009/11/20/restlet-2-0-m6-available/</link>
<pubDate>Fri, 20 Nov 2009 19:44:12 +0000</pubDate>
<dc:creator>Jerome Louvel</dc:creator>
<guid>http://blog.noelios.com/2009/11/20/restlet-2-0-m6-available/</guid>
<description><![CDATA[With the release of Restlet 2.0 M6, we are getting close to a feature freeze. This will happen with ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>With the release of Restlet 2.0 M6, we are getting close to a feature freeze. This will happen with the next release, Restlet 2.0 RC1, due for the end of the year. In addition, we are also continuing the support of Restlet 1.1 with the release of version 1.1.7, fixing 11 bugs and adding the EPL 1.0 licensing option.</p>
<p>With less than two months since <a href="http://blog.noelios.com/2009/09/28/restlet-2-0-m5-now-available/">Restlet 2.0 milestone 5</a>, it&#8217;s encouraging to see how much work has been accomplished and the number of contributions that we received. As usual, let&#8217;s review the main changes.</p>
<h2>Main changes</h2>
<ul>
<li>The <strong>Apache HTTP Client extension</strong> has been updated from 3.1 to 4.0 version. Note that some parameters have been changed, so be sure to verify your configuration. In addition, it is now possible to specify a different proxy server to use for each Restlet connector.</li>
<li>The <strong>Resource API </strong>has been stabilized and enhanced. The Restlet annotations now support &#8220;&#124;&#8221; and &#8220;:&#8221; separators to express alternative variants and both input and output variants.</li>
<li>The <strong>Security API</strong> has been trimmed down and refactored based on experience in the field. The classes relying on the javax.security.auth package have been moved to a new <strong>JAAS extension</strong>; and the digest related ones relying on the javax.crypto package moved to a new <strong>Crypto extension</strong> along with Amazon S3, Azure client HTTP authentication.</li>
<li>The support for <strong>HTTP DIGEST</strong> has been vastly improved, especially on the client-side, with proper mapping of its properties to AuthenticationInfo (new), ChallengeMessage (new), ChallengeRequest and ChallengeResponse classes.</li>
<li>Additional standard <strong>HTTP headers </strong>are now fully supported by the Restlet API : &#8220;Age&#8221;, &#8220;Authentication-Info&#8221;, &#8220;Date&#8221;, &#8220;If-Range&#8221;, &#8220;Retry-After&#8221;, &#8220;Warning&#8221;, and the frequently asked &#8220;<strong>Cache-Control</strong>&#8221; header! For a detailled mapping of those headers to the Restlet API, please consult <a href="http://wiki.restlet.org/docs_2.0/13-restlet/27-restlet/130-restlet.html">this page of the user guide</a>.</li>
<li>The <strong>edition for GWT</strong> has been stabilized and heavily improved to be closer to the other Restlet editions. For example, the ClientResource class is now available, JSON and XML extensions have been added. The base package has been reverted to &#8220;<strong>org.restlet.gwt</strong>&#8221; due to issues with GWT projects combining client-side and server-side usage of Restlet. The remaining task for 2.0 RC is to support annotated interfaces to achieve the same level of productivity than GWT-RPC, in a RESTful way. We will leverage GWT deferred binding for this purpose.</li>
<li>The <strong>edition for Android </strong>has been improved, with the port of the Crypto, Apache HTTP Client, JAAS, JSON, Net extension (without FTP client).</li>
<li>The <strong>Servlet extension</strong> has been improved to support multiple declarations of the ServerServlet in the same Servlet application.</li>
<li>The <strong>Jetty extension</strong> has been updated to leverage the recent Jetty 7.0 version now hosted at Eclipse.</li>
<li>A new <strong>Netty extension </strong>has been contributed by Gabriel Ciuloaica, leveraging the new NIO framework from JBoss.</li>
<li>The <strong>Restlet logging</strong>, based on JULI (java.util.logging), now has an extension mechanism allowing an efficient redirection to alternate mechanisms like log4j as <a href="http://wiki.restlet.org/docs_2.0/13-restlet/48-restlet/101-restlet.html">explained in the wiki</a>. A new <strong>SLF4J extension</strong> has been added to facilitate the replacement of Restlet&#8217;s default logger facade.</li>
<li>The <strong>OAuth extension</strong> has been moved to the Restlet Incubator as it would require too much work to get aligned with the new Restlet security and resource APIs in version 2.0. Note that this is temporary and we definitely want to reintroduce this feature in Restlet 2.1.</li>
<li>Some dependencies have been updated: GWT 1.7.1, Apache Commons Logging 1.1.1 and Simple Framework 4.1.5.</li>
<li>About <strong>24 bugs have been fixed</strong>, including the regression with the deprecated &#8220;createRoot&#8221; method leading to broken routing in 2.0 M5. Several annoying issues with OSGi and Spring have especially been fixed.</li>
</ul>
<p><a href="http://www.restlet.org"><img class="aligncenter size-full wp-image-574" title="Restlet" src="http://noelios.wordpress.com/files/2009/08/logo150.gif" alt="" width="150" height="53" /></a></p>
<h2>Direct contributors</h2>
<ul>
<li>Adam Harrison</li>
<li>Arjohn Kampman</li>
<li>Ben Vesco</li>
<li>Bob Resendes</li>
<li>Bruno Harbulot</li>
<li>Bryan Hunt</li>
<li>Carlos Alexandre Moscoso</li>
<li>Carsten Lohmann</li>
<li>David Fogel</li>
<li>Dustin Jenkins</li>
<li>Emily Toop</li>
<li>Fabian Mandelbaum</li>
<li>Gabriel Ciuloaica</li>
<li>Georges-Etienne Legendre</li>
<li>Guido Schmidt</li>
<li>Kelly McLaughlin</li>
<li>Kevin Pauli</li>
<li>Patrick Logan</li>
<li>Paul Austin</li>
<li>Rickard Oberg</li>
<li>Simon Guest</li>
<li>Stefan Maassen</li>
<li>Tal Liron</li>
<li>Thierry Templier</li>
<li>Warren Janssens</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>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Integrating Restlet with Spring]]></title>
<link>http://bitsofinfo.wordpress.com/2009/10/07/integrating-restlet-with-spring/</link>
<pubDate>Thu, 08 Oct 2009 02:01:21 +0000</pubDate>
<dc:creator>bitsofinfo</dc:creator>
<guid>http://bitsofinfo.wordpress.com/2009/10/07/integrating-restlet-with-spring/</guid>
<description><![CDATA[For those of you out there who would like to get Restlet 2.0 (currently the M5) release up integrate]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>For those of you out there who would like to get Restlet 2.0 (currently the M5) release up integrated with your existing Spring application, hopefully this post will be of some help. I recently had to do this and unfortunately the documentation related to Spring integration on the Restlet site is scattered across various docs and some of it appears out of date. What I am describing below worked with source code straight from the Restlet SVN trunk just before the M5 release so you should be good to go if you use the M5 release (JEE edition)</p>
<p>First off, I am assuming you have an existing web application with a web.xml file and are using Spring. Secondly I am just trying to give you some working web.xml and the corresponding Spring configuration to get up and running. I am not explaining the details of how Restlet works as you can find that on the Restlet site.</p>
<p>First you will want to make sure you have the <a target="new" href="http://www.restlet.org/downloads/2.0/restlet-jee-2.0m5.zip">Restlet JEE 2.0 M5</a> edition. Make sure you grab the JEE version and not the JSE version as the latter does not include the Spring integration extension. Once downloaded extract the ZIP to a location on your drive. The JEE zip package contains a ton of Restlet Jar files. The three we care about are <code>org.restlet.jar, org.restlet.ext.spring.jar, org.restlet.ext.servlet.jar</code></p>
<p> If you are using Maven you can add the following repository and dependencies to your POM by using the <a href="http://www.restlet.org/downloads/maven">repository instructions on the Restlet site</a>. <strong>NOTE as of today: the Restlet repository currently does NOT have the M5 release up there so you are going to manually have to add the M5 jar to your repository by doing the following for each of the 3 jars.</strong></p>
<p><code>mvn install:install-file -Dfile=/PATH/TO/RESTLET-m5-ZIP-EXTRACT-DIR/lib/org.restlet.jar -DgroupId=org.restlet -DartifactId=org.restlet -Dversion=2.0-SNAPSHOT-M5 -Dpackaging=jar</code></p>
<p><code>mvn install:install-file -Dfile=/PATH/TO/RESTLET-m5-ZIP-EXTRACT-DIR/lib/org.restlet.ext.spring.jar -DgroupId=org.restlet -DartifactId=org.restlet.ext.spring -Dversion=2.0-SNAPSHOT-M5 -Dpackaging=jar</code></p>
<p><code>mvn install:install-file -Dfile=/PATH/TO/RESTLET-m5-ZIP-EXTRACT-DIR/lib/org.restlet.ext.servlet.jar -DgroupId=org.restlet -DartifactId=org.restlet.ext.servlet -Dversion=2.0-SNAPSHOT-M5 -Dpackaging=jar</code></p>
<p>The above 3 commands will manually install the three Jars into your Maven repository. Next you can configure your POM to add the official Maven repository plus the dependencies to the 3 Jars you installed above. Note that the repository entry is sort of meaningless at this point because you manually installed the jars above. It is IMPORTANT that the <code>version<code> elements in your dependencies below MATCH exactly the versions you specified in the commands above!</p>
<pre class="brush: java;">
	&#60;repository&#62;
    	&#60;id&#62;maven-restlet&#60;/id&#62;
    	&#60;name&#62;Public online Restlet repository&#60;/name&#62;
    	&#60;url&#62;http://maven.restlet.org&#60;/url&#62;
	&#60;/repository&#62;

	&#60;dependency&#62;
    	&#60;groupId&#62;org.restlet&#60;/groupId&#62;
    	&#60;artifactId&#62;org.restlet&#60;/artifactId&#62;
    	&#60;version&#62;2.0-SNAPSHOT-M5&#60;/version&#62;
	&#60;/dependency&#62;

	&#60;dependency&#62;
    	&#60;groupId&#62;org.restlet&#60;/groupId&#62;
    	&#60;artifactId&#62;org.restlet.ext.spring&#60;/artifactId&#62;
    	&#60;version&#62;2.0-SNAPSHOT-M5&#60;/version&#62;
	&#60;/dependency&#62;

	&#60;dependency&#62;
    	&#60;groupId&#62;org.restlet&#60;/groupId&#62;
    	&#60;artifactId&#62;org.restlet.ext.servlet&#60;/artifactId&#62;
    	&#60;version&#62;2.0-SNAPSHOT-M5&#60;/version&#62;
	&#60;/dependency&#62;
</pre>
<p>Ok, great. Next we need to configure your <code>web.xml</code>, open it up and add the following entries in the appropriate spots:</p>
<pre class="brush: java;">
  	&#60;servlet&#62;
      	&#60;servlet-name&#62;myRESTApi&#60;/servlet-name&#62;
      	&#60;servlet-class&#62;org.restlet.ext.spring.SpringServerServlet&#60;/servlet-class&#62;
      	 &#60;init-param&#62;
                &#60;param-name&#62;org.restlet.component&#60;/param-name&#62;
                 &#60;!-- this value must match the bean id of the Restlet component you will configure in Spring (below) --&#62;
                &#60;param-value&#62;restletComponent&#60;/param-value&#62;
         &#60;/init-param&#62;
  	&#60;/servlet&#62;

  	&#60;servlet-mapping&#62;
        &#60;servlet-name&#62;myRESTApi&#60;/servlet-name&#62;
        &#60;url-pattern&#62;/my/REST/api/*&#60;/url-pattern&#62;
  	&#60;/servlet-mapping&#62;
</pre>
<p>Now your web.xml is configured to take all requests to <code>/my/REST/api/*</code> and send those to a Restlet Component which you will wire up in your Spring configuration. So... bring up your applicationContext.xml or whatever you have it named and add the following entries:</p>
<pre class="brush: java;">

&#60;!-- our SpringComponent which binds us to the Restlet servlet configured above --&#62;
&#60;bean id=&#34;restletComponent&#34; class=&#34;org.restlet.ext.spring.SpringComponent&#34;&#62;
         &#60;!-- the defaultTarget for this component is our Restlet Application --&#62;
	&#60;property name=&#34;defaultTarget&#34; ref=&#34;myRestletApplication&#34; /&#62;
&#60;/bean&#62;

&#60;!-- your Restlet application. This class extends &#34;org.restlet.Application&#34; --&#62;
&#60;bean id=&#34;myRestletApplication&#34; class=&#34;my.restlet.MyRestletApplication&#34;&#62;
         &#60;!-- all requests to this Application will be sent to myPath2BeanRouter --&#62;
	&#60;property name=&#34;root&#34; ref=&#34;myPath2BeanRouter&#34;/&#62;
&#60;/bean&#62;

&#60;!-- This router automagically routes requests to beans that extend org.restlet.resource.ServerResource or org.restlet.Restlet who's name starts with a &#34;/&#34; slash which matches the request--&#62;
&#60;bean name=&#34;myPath2BeanRouter&#34; class=&#34;org.restlet.ext.spring.SpringBeanRouter&#34;/&#62;

&#60;!-- This extension of org.restlet.resource.ServerResource bean will handle all requests to made to /my/REST/api/myResource (GET/POST/PUT etc)
This class extends &#34;org.restlet.Restlet&#34; or &#34;org.restlet.resource.ServerResource&#34; --&#62;
 &#60;bean name=&#34;/myResource&#34; autowire=&#34;byName&#34; scope=&#34;prototype&#34;
    		class=&#34;my.restlet.package.resources.MyResourceBean&#34;&#62;

    	&#60;property name=&#34;somePropertyOfMine&#34; ref=&#34;someOtherSpringBean&#34;/&#62;
 &#60;/bean&#62;
</pre>
<p>Ok, well if you were having trouble trying to get Spring working with Restlet I hope this helped get you rolling. Restlet is a cool project that works great and can get a REST API up and running pretty quickly (granted you are good at crawling through somewhat scattered documentation) Here are a few other links which you may want to reference:</p>
<p><a href="http://www.restlet.org/documentation/2.0/jee/ext/">Restlet 2.0 Extensions API</a><br />
<a href="http://www.restlet.org/documentation/2.0/jee/api/">Restlet 2.0 JEE API</a></p>
<p>Also, I am posting the following error messages that troubled me when trying to get this to work. The configuration I show above was the result of getting beyond the below errors by using the correct fixed releases. To AVOID the errors below, <strong>ENSURE you are using Restlet 2.0 M5 or a custom build from the trunk. Prior to 9/25/09 people were getting the errors below.</strong></p>
<p><code>Message ID<br />
No target class was defined for this finder<br />
Complete Message org.restlet.ext.spring.SpringFinder $$ EnhancerByCGLIB</code></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Restlet Extension for Astoria]]></title>
<link>http://willyxoft.wordpress.com/2009/10/01/restlet-extension-for-adonet-data-services/</link>
<pubDate>Thu, 01 Oct 2009 22:43:53 +0000</pubDate>
<dc:creator>Willy Mejía</dc:creator>
<guid>http://willyxoft.wordpress.com/2009/10/01/restlet-extension-for-adonet-data-services/</guid>
<description><![CDATA[Interoperabilidad RESTful entre Java y .NET La firma francesa Noelios a liberado el Milestone 5 de R]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>Interoperabilidad RESTful entre Java y .NET</strong></p>
<p>La firma francesa <strong>Noelios</strong> a <a href="http://blog.noelios.com/2009/09/28/restlet-2-0-m5-now-available/" target="_blank">liberado el Milestone 5</a> de <a href="http://www.restlet.org/about/roadmap" target="_blank">Restlet 2.0</a>, la nueva versión de su proyecto de código abierto <a href="http://www.restlet.org/" target="_blank">Restlet</a>, la cual incluye al <a href="http://wiki.restlet.org/docs_2.0/13-restlet/28-restlet/287-restlet.html" target="_blank"><strong>Restlet Extension for ADO.NET Data Services</strong></a>.</p>
<p><a href="http://www.restlet.org/" target="_blank">Restlet</a> es un framework ligero que ayuda a desarrollar clientes y servicios REST en la plataforma Java. Mientras que <a href="http://msdn.microsoft.com/en-us/data/bb931106.aspx" target="_blank">ADO.NET Data Services</a> (aka Astoria) permite la creación de servicios REST que exponen datos, así como los clientes que los consumen, dentro de la plataforma .NET de Microsoft. <a href="http://blog.noelios.com/2009/09/28/restlet-bridges-ado-net-data-services-and-java/" target="_blank">Restlet Extension for ADO.NET Data Services es el puente entre ambos</a>.</p>
<p><a href="http://blogs.msdn.com/astoriateam/archive/2009/09/29/restlet-java-framework-now-with-ado-net-data-services-support.aspx" target="_blank">Restlet Extension for ADO.NET Data Services es el resultado de la colaboración entre Microsoft y las tecnologías Noelios</a> que facilita a los desarrolladores Java el aprovechar los servicios brindados por ADO.NET Data Services. Para ello <a href="http://blog.noelios.com/2009/02/20/microsoft-selects-restlet-to-show-rest-interoperability/" target="_blank">Restlet Extension for ADO.NET Data Services</a> brinda una API de alto nivel que extiende las capacidades básicas del Restlet Framework para proporcionando acceso a datos remotos que son hospedados en servidores ASP.NET o la plataforma de Windows Azure.</p>
<p>La arquitectura general se puede describir a través del siguientes diagrama de componentes:</p>
<p><a href="http://www.interoperabilitybridges.com/projects/restlet-extension-for-adonet-data-services.aspx" target="_blank"><img alt="Reslet Extention for ADO.NET Data Services Architecture" src="http://www.infoq.com/resource/news/2009/09/restlet-extension-micorosoft/en/resources/ResletExtentionforADONETDataServicesArchitecture.png" width="500" height="587" /></a></p>
<p>Jean-Christophe Cimetiére <a href="http://blogs.msdn.com/interoperability/archive/2009/09/28/new-bridge-broadens-java-and-net-interoperability.aspx" target="_blank">escribió un artículo</a> detallando los esfuerzos de colaboración, y el que menciona que los desarrolladores Java utilizarán un generador de código para crear clases Java que se corresponden a las entidades de datos expuestos a través de ADO.NET Data Services. La aplicación Java puede entonces acceder a los datos a través de una simple llamada a un método. Los componentes de tiempo de ejecución en el motor de Restlet y la extensión cuidan la comunicación entre la aplicación cliente Java y ADO.NET Data Services.</p>
<p>Otros esfuerzos de interoperabilidad con Java dirigidos por Microsoft incluyen <a href="http://incubator.apache.org/stonehenge/index.html" target="_blank">Apache Stonehenge</a>, <a href="http://www.jdotnetservices.com/" target="_blank">Azure. NET Services SDK for Java</a>. Más información acerca de los esfuerzos de interoperabilidad entre Java y .NET se pueden encontrar en <a href="http://www.interoperabilitybridges.com/projects/tag/Java.aspx" target="_blank">Microsoft&#8217;s Interoperability Bridges &#38; Labs Center</a>.</p>
<h5>Mayor información:</h5>
<ul>
<li><a href="http://blogs.msdn.com/interoperability/archive/2009/09/28/new-bridge-broadens-java-and-net-interoperability.aspx">New bridge broadens Java and .NET interoperability</a> </li>
<li><a href="http://blogs.msdn.com/astoriateam/archive/2009/09/29/restlet-java-framework-now-with-ado-net-data-services-support.aspx">‘Restlet’ Java Framework Now with ADO.NET Data Services Support</a> </li>
<li><a href="http://blog.noelios.com/2009/09/28/restlet-bridges-ado-net-data-services-and-java/" target="_blank">Noelios Technologies: Restlet bridges ADO.NET Data Services and Java</a> </li>
<li><a href="http://www.interoperabilitybridges.com/projects/restlet-extension-for-adonet-data-services.aspx" target="_blank">Interoperability Bridges: Restlet Extension for ADO.NET Data Services</a> </li>
<li><a href="http://wiki.restlet.org/docs_2.0/13-restlet/28-restlet/287-restlet.html" target="_blank">Restlet Wiki: ADO.NET Data Services extension</a> </li>
</ul>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Restlet bridges ADO.NET Data Services and Java]]></title>
<link>http://blog.noelios.com/2009/09/28/restlet-bridges-ado-net-data-services-and-java/</link>
<pubDate>Mon, 28 Sep 2009 15:46:17 +0000</pubDate>
<dc:creator>Jerome Louvel</dc:creator>
<guid>http://blog.noelios.com/2009/09/28/restlet-bridges-ado-net-data-services-and-java/</guid>
<description><![CDATA[After a successful collaboration in February with Microsoft, we continued to explore the interoperab]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>After a <a href="http://blog.noelios.com/2009/02/20/microsoft-selects-restlet-to-show-rest-interoperability/">successful collaboration</a> 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 <a href="http://www.interoperabilitybridges.com">new interoperability bridge</a> between Java and ADO.NET Data Services!</p>
<h3>Microsoft&#8217;s strategy</h3>
<p>In order to understand how central the Web and REST are becoming for Microsoft, it is enlightening to discover their new strategy elaborated by <a href="http://en.wikipedia.org/wiki/Ray_Ozzie">Ray Ozzie</a>, Microsoft&#8217;s Chief Software Architect. It is called <a href="http://www.microsoft.com/softwareplusservices/software-plus-services-full-story.aspx">Software + Services</a> and recognizes the ubiquity of the Web and the need to mix both locally running software and cloud computing services in a unified way.</p>
<p><a href="http://www.microsoft.com/softwareplusservices/"><img class="aligncenter size-full wp-image-624" title="Software + Services" src="http://noelios.wordpress.com/files/2009/09/sps.png" alt="Software + Services" width="231" height="48" /></a></p>
<p>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 <a href="http://www.microsoft.com/azure/">Windows Azure</a>, a comprehensive cloud computing platform, and through online extensions to their classic products like Office Live, XBox Live or Windows Live.</p>
<h3>ADO.NET Data Services</h3>
<p>One of the key technologies they leverage to achieve their plans was <a href="http://www.infoq.com/news/2007/05/astoria">launched in 2007 </a>under the code name &#8220;Astoria&#8221;. It drew much attention in the REST community at this time as it was, with Ruby on Rails&#8217;s <a href="http://api.rubyonrails.org/files/vendor/rails/activeresource/README.html">Active Resource</a> technology, the sole way to automatically expose a data models as RESTful Web services.</p>
<p><a href="http://en.wikipedia.org/wiki/.NET_Framework"><img class="aligncenter size-full wp-image-638" title="net" src="http://noelios.wordpress.com/files/2009/09/net.png" alt="net" width="100" height="95" /></a></p>
<p>Since then, it has matured and became an actively maintained technology called <a href="http://msdn.microsoft.com/en-us/data/bb931106.aspx">ADO.NET Data Services</a>. You can read an <a href="http://msdn.microsoft.com/en-us/data/bb931106.aspx">overview paper on MSDN</a> and browse their extensive technical documentation for details about their REST API which leverages AtomPub.</p>
<h3>Interoperability with Java</h3>
<p>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.</p>
<p>So far, beside client toolkits for Microsoft technologies such as .NET and Silverlight, only the PHP language had an <a href="http://phpdataservices.codeplex.com/">easy solution</a> to interact with those services. Today, with the <a href="http://blog.noelios.com/2009/09/28/restlet-2-0-m5-now-available/">release of Restlet 2.0 M5</a>, we are proud to announce a similar offer for Java developers, cleanly leveraging the Restlet Framework.</p>
<p><a href="http://www.restlet.org"><img class="aligncenter size-full wp-image-574" title="Restlet" src="http://noelios.wordpress.com/files/2009/08/logo150.gif" alt="Restlet" width="150" height="53" /></a></p>
<p>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&#8217;t cover all the available features available yet.</p>
<p>This new Restlet extension has been extensively covered by Jean-Christophe Cimetiere, Sr. Technical Evangelist from Microsoft Corp Interoperability team, <a href="http://blogs.msdn.com/interoperability/archive/2009/09/28/new-bridge-broadens-java-and-net-interoperability.aspx">in this new blog post</a>.</p>
<h3>Extension documentation</h3>
<p>In order to briefly illustrate how the extension works, you can read the <a href="http://wiki.restlet.org/docs_2.0/287-restlet.html">dedicated extension page</a> in the Restlet user guide. It shows some simple code to access to a data service, one provided for the <a href="http://ogdisdk.cloudapp.net/Default.aspx">Open Government Data Initiative</a> (OGDI), a recent effort launched by Microsoft to expose government data sources as RESTful Web services.</p>
<p>In addition, to the regular <a href="http://www.restlet.org/documentation/snapshot/jse/ext/index.html?org/restlet/ext/dataservices/package-summary.html">Javadocs of the extension</a>, a <a href="http://wiki.restlet.org/docs_2.0/288-restlet.html">complete tutorial</a> 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!</p>
<h3>Launch coverage</h3>
<ul>
<li>Infoworld &#8211; <a href="http://www.infoworld.com/d/developer-world/java-developers-get-net-data-link-562">Java developers get .Net data link</a></li>
<li>eWeek &#8211; <a href="http://www.eweek.com/c/a/Application-Development/Microsoft-Noelios-Bridge-Java-and-NET-with-REST-191960/">Microsoft, Noelios Bridge Java, .NET with REST</a></li>
<li>Stève Sfartz &#8211; <a href="http://blog.sfartz.com/post/2009/09/29/Interop-Java-%3A-Extension-Restlet-pour-ADO.NET-Data-Services">Extension Restlet pour ADO.NET Data Services</a> (French)</li>
<li>Mike Flasko &#8211; <a href="http://blogs.msdn.com/astoriateam/archive/2009/09/29/restlet-java-framework-now-with-ado-net-data-services-support.aspx">Restlet [...] Now with ADO.NET Data Services Support</a></li>
<li>The H Open &#8211; <a href="http://www.h-online.com/open/REST-based-bridge-connects-Java-and-NET--/news/114351">REST-based bridge connects Java and .NET</a></li>
<li>Visual Studio Mag. &#8211; <a href="http://visualstudiomagazine.com/articles/2009/09/29/bridge-connects-java-to-adonet-data-services.aspx">Bridge Connects Java to ADO.NET Data Services</a></li>
<li>OakLeaf Systems &#8211; <a href="http://oakleafblog.blogspot.com/2009/09/windows-azure-and-cloud-computing-posts_29.html#Live">Live Windows Azure Apps, Tools and Test Harnesses</a></li>
<li>LeMagIT &#8211; <a href="http://www.lemagit.fr/article/microsoft-java-developpement-net/4385/1/noelios-utilise-rest-pour-relier-les-donnees-net-java/">Noelios utilise REST pour relier les données .Net et Java</a></li>
<li>hwsw &#8211; <a href="http://www.hwsw.hu/hirek/43089/microsoft-ado-net-java-rest-restlet-noellos.html">Híd a Java és a .NET között</a> (Hungarian)</li>
<li>IDG.se &#8211; <a href="http://www.idg.se/2.1085/1.255389/microsoft-kopplar-ihop-java-med-dotnet">Microsoft kopplar ihop Java med Dotnet</a> (Swedish)</li>
<li>heise &#8211; <a href="http://www.heise.de/open/REST-basierte-Bruecke-verbindet-Java-mit-NET--/news/meldung/146072">REST-basierte Brücke verbindet Java mit .NET</a> (Dutch)</li>
<li>Programmez! &#8211; <a href="http://www.programmez.com/actualites.php?titre_actu=Un-pont-d-interoperabilite-en-PHP-Java-et-ADONET&#38;id_actu=5854">Un pont d&#8217;interopérabilité [...]</a> (French)</li>
<li>Le Journal du Net &#8211; <a href="http://www.journaldunet.com/developpeur/breve/42200/le-francais-noelios-relie-java-et--net.shtml">Le français Noelios relie Java et .Net</a> (French)</li>
<li>dot net pro &#8211; <a href="http://dotnetpro.de/news3158.aspx">Brücke zwischen Java und .NET</a> (Dutch)</li>
<li>Peter Galli &#8211; <a href="http://port25.technet.com/archive/2009/09/29/new-bridge-broadens-java-and-net-interoperability.aspx">New Bridge Broadens Java and .NET Interoperability</a></li>
<li>InfoQ &#8211; <a href="http://www.infoq.com/news/2009/09/restlet-extension-micorosoft">RESTFul Bridge Between Java And .NET Released</a></li>
<li>Dave Bost &#8211; <a href="http://davebost.com/blog/2009/09/30/interoperability-and-open-source-efforts-at-microsoft/">Interoperability and Open Source efforts at Microsoft</a></li>
<li>NetworkWorld &#8211; <a href="http://www.networkworld.com/community/node/45790">Microsoft, Noelios release new bridge [...]</a></li>
<li>SearchSOA &#8211; <a href="http://searchsoa.techtarget.com/tip/0,289483,sid26_gci1369881,00.html">Restlet framework wrestles RESTful Web applications</a></li>
<li>RedmondDeveloper &#8211; <a href="http://reddevnews.com/blogs/data-driver/2009/10/a-dose-of-java-for-adonet-data-services.aspx">A Dose of Java for ADO.NET Data Services</a></li>
<li>Application Servers &#8211; <a href="http://www.application-servers.com/post/2009/10/02/Restlet-compatible-ADO.NET">Restlet compatible ADO.NET</a></li>
<li>Java Posse &#8211; <a href="http://www.javaposse.com/index.php?post_id=536012">Episode 282</a></li>
<li>Fryan Valdez &#8211; <a href="http://www.fryan0911.com/2009/10/java-extension-for-adonet-data-services.html">Java Extension for ADO.NET Data Services</a></li>
</ul>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Restlet 2.0 M5 now available]]></title>
<link>http://blog.noelios.com/2009/09/28/restlet-2-0-m5-now-available/</link>
<pubDate>Mon, 28 Sep 2009 14:55:17 +0000</pubDate>
<dc:creator>Jerome Louvel</dc:creator>
<guid>http://blog.noelios.com/2009/09/28/restlet-2-0-m5-now-available/</guid>
<description><![CDATA[We have just reached a new milestone on our exciting Restlet 2.0 roadmap! Our main focus was stabili]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>We have just reached a new milestone on our exciting <a href="http://www.restlet.org/about/roadmap">Restlet 2.0 roadmap</a>! Our main focus was stability and refactoring after the major goals achieved in <a href="http://blog.noelios.com/2009/08/06/restlet-2-0-m4-released/">Restlet 2.0 M4</a>, for example with the automated editions support and some deep API changes.</p>
<h2>Summary of the main changes</h2>
<ul>
<li><strong>About </strong><strong>20 bugs were fixed</strong>, including a long standing one related to the integration of Restlet with Tomcat and a blocking issue under Macintosh.</li>
<li><strong>Most </strong><strong>dependencies were updated </strong>to their latest version: Grizzly 1.9.18b, Jetty 7.0 RC6 and so on.</li>
<li>For <strong>better API organization</strong>, 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 &#8220;org.restlet.util&#8221;  to &#8220;org.restlet.routing&#8221; package.</li>
<li>In order to support both <strong>inbound and outbound routing and filtering </strong>of calls for Restlet applications, we have added two properties: &#8220;inboundRoot : Restlet&#8221; and &#8220;outboundRoot : Restlet&#8221; to the Application class and deprecated the &#8220;root : Restlet&#8221; property. This will allow you to easily provide features such as preemptive authentication with the recently added ClientResource class.</li>
<li>The <strong>ServerResource </strong>class has been refactored for a cleaner integration between annotation-based and method-based call processing.</li>
<li><a href="http://blog.noelios.com/2009/09/28/restlet-bridges-ado-net-data-services-and-java/">A new extension for </a><strong><a href="http://blog.noelios.com/2009/09/28/restlet-bridges-ado-net-data-services-and-java/">Microsoft ADO.NET Data Services</a> </strong>(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.”</li>
<li>The <strong>JAXB extension </strong>now has its helper to support transparent conversions</li>
</ul>
<p><a href="http://www.restlet.org"><img class="aligncenter size-full wp-image-574" title="Restlet" src="http://noelios.wordpress.com/files/2009/08/logo150.gif" alt="Restlet" width="150" height="53" /></a></p>
<h2>Direct contributors</h2>
<ul>
<li>Bob Resendes</li>
<li>Bruno Harbulot</li>
<li>Carsten Lohmann</li>
<li>Denys Hryvastov</li>
<li>Dustin Jenkins</li>
<li>Evgeny Shepelyuk</li>
<li>Fabian Mandelbaum</li>
<li>Guido Schmidt</li>
<li>John Logsdon</li>
<li>Marcelo Ochoa</li>
<li>Olivier Bruchez</li>
<li>Patrick Logan</li>
<li>Philippe Mougin</li>
<li>Remi Dewitte</li>
<li>Rhett Sutphin</li>
<li>Rob Heittman</li>
<li>Sanjay Acharya</li>
<li>Tal Liron</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>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Announcing Restlet in Action book]]></title>
<link>http://blog.noelios.com/2009/08/24/announcing-restlet-in-action-book/</link>
<pubDate>Mon, 24 Aug 2009 15:59:27 +0000</pubDate>
<dc:creator>Jerome Louvel</dc:creator>
<guid>http://blog.noelios.com/2009/08/24/announcing-restlet-in-action-book/</guid>
<description><![CDATA[We are very happy to announce that we have agreed with Manning to publish a &#8220;Restlet in Action]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>We are very happy to announce that we have agreed with Manning to publish a &#8220;Restlet in Action&#8221; book that will cover in depth the upcoming 2.0 version of the <a href="http://www.restlet.org">Restlet Framework</a>.</p>
<p>Our goal is to have the book published early in 2010. However, you will not have to wait so long to start reading it&#8230; You will be able to use <a href="http://www.manning.com/about/meap">Manning Early Access Program</a> (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.</p>
<p><a href="http://www.manning.com/free/green_louvel.html"><img class="aligncenter size-full wp-image-562" title="Restlet in Action" src="http://noelios.wordpress.com/files/2009/08/cover-250.jpg" alt="Restlet in Action" width="250" height="314" /></a></p>
<p>Even better, you can download the green paper &#8220;<a href="http://www.manning.com/free/green_louvel.html"><span class="greencolH">Rethinking Web Development with REST and Restlet</span></a>&#8221; that was published today on Manning&#8217;s site and that is based on the chapter 1. Here is also the expected table contents:</p>
<h3>Part 1: Getting Started</h3>
<ul>
<li>1. Rethinking Web development</li>
<li>2. Designing a RESTful Web API</li>
<li>3. Beginning a Restlet application</li>
<li>4. Deploying a Restlet application on premises</li>
</ul>
<h3>Part 2: Getting Ready To Roll Out</h3>
<ul>
<li>5. Exposing and consuming Restlet representations</li>
<li>6. Securing a Restlet application</li>
<li>7. Documenting a RESTful Web API</li>
<li>8. Enhancing a Restlet application</li>
</ul>
<h3>Part 3: Further Usage Possibilities</h3>
<ul>
<li>9. Deploying a Restlet application in the cloud</li>
<li>10. Using Restlet in browsers and mobile devices</li>
<li>11. Embracing the Semantic Web</li>
<li>12. Looking beyond this book</li>
</ul>
<p>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.</p>
<p><em><span style="text-decoration:underline;">Update 1:</span> The table of contents has been refreshed to match the latest manuscript version</em></p>
<p><em><span style="text-decoration:underline;">Update 2:</span> The book is now <a href="http://blog.noelios.com/2009/11/05/early-access-to-restlet-in-action-book/">available in early access !</a><br />
</em></p>
<div id="_mcePaste" style="overflow:hidden;position:absolute;left:-10000px;top:231px;width:1px;height:1px;">
<table style="border-collapse:collapse;width:620pt;" border="0" cellspacing="0" cellpadding="0" width="827">
<col style="width:620pt;" width="827"></col>
<tbody>
<tr style="height:19.5pt;">
<td class="xl66" style="height:19.5pt;width:620pt;" width="827" height="26">Part 1:   Getting Started</td>
</tr>
<tr style="height:12.75pt;">
<td class="xl65" style="height:12.75pt;width:620pt;" width="827" height="17"></td>
</tr>
<tr style="height:15pt;">
<td class="xl67" style="height:15pt;width:620pt;" width="827" height="20">1   Rethinking Web development</td>
</tr>
<tr style="height:15pt;">
<td class="xl67" style="height:15pt;width:620pt;" width="827" height="20">2   Designing your REST API</td>
</tr>
<tr style="height:15pt;">
<td class="xl67" style="height:15pt;width:620pt;" width="827" height="20">3   Creating your Restlet application</td>
</tr>
<tr style="height:15pt;">
<td class="xl67" style="height:15pt;width:620pt;" width="827" height="20">4   Deploying your Restlet application</td>
</tr>
<tr style="height:12.75pt;">
<td class="xl65" style="height:12.75pt;width:620pt;" width="827" height="17"></td>
</tr>
<tr style="height:12.75pt;">
<td class="xl65" style="height:12.75pt;width:620pt;" width="827" height="17"></td>
</tr>
<tr style="height:19.5pt;">
<td class="xl66" style="height:19.5pt;width:620pt;" width="827" height="26">Part 2:   Getting Ready To Roll Out</td>
</tr>
<tr style="height:12.75pt;">
<td class="xl65" style="height:12.75pt;width:620pt;" width="827" height="17"></td>
</tr>
<tr style="height:15pt;">
<td class="xl67" style="height:15pt;width:620pt;" width="827" height="20">5   Enhancing your Restlet application</td>
</tr>
<tr style="height:15pt;">
<td class="xl67" style="height:15pt;width:620pt;" width="827" height="20">6   Securing your Restlet application</td>
</tr>
<tr style="height:15pt;">
<td class="xl67" style="height:15pt;width:620pt;" width="827" height="20">7   Documenting your REST API</td>
</tr>
<tr style="height:15pt;">
<td class="xl67" style="height:15pt;width:620pt;" width="827" height="20">8   Embracing the Semantic Web</td>
</tr>
<tr style="height:12.75pt;">
<td class="xl65" style="height:12.75pt;width:620pt;" width="827" height="17"></td>
</tr>
<tr style="height:12.75pt;">
<td class="xl65" style="height:12.75pt;width:620pt;" width="827" height="17"></td>
</tr>
<tr style="height:19.5pt;">
<td class="xl66" style="height:19.5pt;width:620pt;" width="827" height="26">Part 3:   Further Usage Possibilities</td>
</tr>
<tr style="height:12.75pt;">
<td class="xl65" style="height:12.75pt;width:620pt;" width="827" height="17"></td>
</tr>
<tr style="height:15pt;">
<td class="xl67" style="height:15pt;width:620pt;" width="827" height="20">9 Using   Restlet in the cloud with Google App Engine</td>
</tr>
<tr style="height:15pt;">
<td class="xl67" style="height:15pt;width:620pt;" width="827" height="20">10 Using   Restlet in browsers with Google Web Toolkit</td>
</tr>
<tr style="height:15pt;">
<td class="xl67" style="height:15pt;width:620pt;" width="827" height="20">11 Using   Restlet on mobile Android devices</td>
</tr>
<tr style="height:15pt;">
<td class="xl67" style="height:15pt;width:620pt;" width="827" height="20">12   Looking beyond this book</td>
</tr>
</tbody>
</table>
</div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Restlet 2.0 M4 released]]></title>
<link>http://blog.noelios.com/2009/08/06/restlet-2-0-m4-released/</link>
<pubDate>Thu, 06 Aug 2009 16:40:35 +0000</pubDate>
<dc:creator>Jerome Louvel</dc:creator>
<guid>http://blog.noelios.com/2009/08/06/restlet-2-0-m4-released/</guid>
<description><![CDATA[After Restlet 1.2 M2 and 2.0 M3 releases that introduced major API changes for resources and securit]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>After Restlet <a href="http://blog.noelios.com/2009/04/01/restlet-12-m2-released/">1.2 M2</a> and <a href="http://blog.noelios.com/2009/05/27/restlet-2-0-m3-released/">2.0 M3</a> 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.</p>
<p>Here is a summary of the main changes :</p>
<ul>
<li>The packaging has been reworked to provide <strong>separate distributions for each edition</strong> that we support: Java SE, Java EE (with Servlet support), <a href="http://blog.noelios.com/2008/07/25/restlet-ported-to-gwt/">Google Web Toolkit</a>, <a href="http://blog.noelios.com/2009/04/11/restlet-in-the-cloud-with-google-app-engine/">Google App Engine</a> and <a href="http://blog.noelios.com/2009/05/06/restlet-available-on-android-phones/">Android</a>. 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&#8217;t (or can&#8217;t be) supported in all editions, but the API is consistent. As a side effect, the &#8220;org.restlet.gwt&#8221; package has been moved to the regular &#8220;org.restlet&#8221; one.</li>
<li>The <strong>ConverterService</strong> 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!</li>
<li><strong>Content negotiation </strong>was rewritten to support all possible dimensions such as media type, language, character set or encoding.</li>
<li>A new <strong>FTP client </strong>connector was added in the &#8220;org.restlet.ext.net&#8221; extension, based on the JDK&#8217;s URLConnection class. It is limited and only support GET methods.</li>
<li>The <strong>RDF extension </strong>was improved with a new RdfClientResource class facilitating the navigation in the Web of Data.</li>
<li>A new <strong>ROME extension</strong> 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.</li>
<li><strong>Character sets </strong>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.</li>
<li>Added <strong>client and server RIAP connectors </strong>that use a protected singleton unique in the JVM.</li>
<li>The <strong>org.restlet.Uniform </strong>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.</li>
<li>The <strong>org.restlet.routing </strong>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.</li>
</ul>
<p><a href="http://www.restlet.org/"><img class="aligncenter size-full wp-image-574" title="Restlet" src="http://noelios.wordpress.com/files/2009/08/logo150.gif" alt="Restlet" width="150" height="53" /></a></p>
<h2>Direct contributors</h2>
<ul>
<li>Alexander Horn</li>
<li>Andrew Moore</li>
<li>Arjohn Kampman</li>
<li>Aron Roberts</li>
<li>Avi Flax</li>
<li>Bob Resendes</li>
<li>Bruce Cooper</li>
<li>Bruno Harbulot</li>
<li>David Fogel</li>
<li>Dustin N. Jenkins</li>
<li>Evgeny Shepelyuk</li>
<li>Florian Georg</li>
<li>Frank Hellwig</li>
<li>Gabriel Ciuloaica</li>
<li>Joe Nellis</li>
<li>John Logsdon</li>
<li>John Wismar</li>
<li>Jonathan Hall</li>
<li>Martin Krasser</li>
<li>Matt J. Watson</li>
<li>Maxence Bernard</li>
<li>Niall Gallagher</li>
<li>Nicolas Janicaud</li>
<li>Nirav Shah</li>
<li>Olivier Monaco</li>
<li>Remi Dewitte</li>
<li>Schley Andrew Kutz</li>
<li>Serge Ilyn</li>
<li>Simon Reinhardt</li>
<li>Stuart MacKay</li>
<li>Sylvain Pajaud</li>
<li>Thomas Cozien</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 on the 1st and 15th of each month<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>]]></content:encoded>
</item>
<item>
<title><![CDATA[Restlet 2.0 M3 released]]></title>
<link>http://blog.noelios.com/2009/05/27/restlet-2-0-m3-released/</link>
<pubDate>Wed, 27 May 2009 09:43:46 +0000</pubDate>
<dc:creator>Jerome Louvel</dc:creator>
<guid>http://blog.noelios.com/2009/05/27/restlet-2-0-m3-released/</guid>
<description><![CDATA[We have just released Restlet 2.0 M3, replacing Restlet 1.2 M2 as our current &#8220;testing” releas]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>We have just released Restlet 2.0 M3, replacing Restlet 1.2 M2 as our current &#8220;testing” release (following Debian terminology). We have also updated our &#8220;stable&#8221; branch with a 1.1.5 release.</p>
<p>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, <a href="http://blog.noelios.com/2008/07/25/restlet-ported-to-gwt/">Google Web Toolkit</a>, <a href="http://blog.noelios.com/2009/04/11/restlet-in-the-cloud-with-google-app-engine/">Google App Engine</a> and <a href="http://blog.noelios.com/2009/05/06/restlet-available-on-android-phones/">Android</a>), it seemed appropriate to rename the Restlet 1.2 branch into Restlet 2.0.</p>
<p><a href="http://www.restlet.org"><img class="aligncenter size-full wp-image-114" title="Restlet" src="http://noelios.files.wordpress.com/2009/08/logo150.gif?w=150&#038;h=53" alt="Restlet" width="150" height="53" /></a></p>
<p>Here is a summary of the main changes :</p>
<ul>
<li>New <strong>org.restlet.ext.xml</strong> 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&#8217;t available in Android.</li>
<li>Improved the <strong>org.restlet.ext.rdf</strong> extension with Turtle and N-Triples support in addition to RDF/XML and n3 formats.</li>
<li>FreeMarker templates can now be loaded via the Context&#8217;s client dispatcher and relatively to a base URI.</li>
<li>Added an <strong>org.restlet.ext.xstream</strong> extension providing transparent serialization between Java objects and XML or JSON.</li>
<li>Added an ObjectRepresentation class to the GWT edition and to the <strong>org.restlet.ext.gwt</strong> server extension. This allows transparent serialization of Java objects leveraging GWT-RPC serialization mechanism, but using your REST APIs.</li>
<li>Greatly improved the support for the recently added ConverterService.</li>
<li>Improved the ClientResource with support for annotated interfaces via the creation of dynamic proxies. It now also automatically follows redirections when possible.</li>
<li>Refactored the services to facilitate the addition of new ones by users in their applications.</li>
<li>Added AppendableRepresentation for dynamic generation of StringRepresentation instances.</li>
</ul>
<h2>Direct contributors</h2>
<ul>
<li>Arjohn Kampman</li>
<li>Bruno Harbulot</li>
<li>David Bordoley</li>
<li>David Fogel</li>
<li>Davide Angelocola</li>
<li>Didier Girard</li>
<li>Eric Hough</li>
<li>Jean-Yves Cronier</li>
<li>Lars Heuer</li>
<li>Marcelo Ochoa</li>
<li>Michael Berman</li>
<li>Mikhail Spirydonau</li>
<li>Paul Davis</li>
<li>Rémi Dewitte</li>
<li>Ronny Kwon</li>
<li>Simon Reinhardt</li>
<li>Tal Liron</li>
<li>Thom Nelson</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 rel="#someid13" href="http://www.restlet.org/documentation/1.2/changes">http://www.restlet.org/documentation/2.0/changes</a></p>
<p>Download links:<br />
<a href="http://www.restlet.org/downloads/2.0/restlet-2.0m3.zip">http://www.restlet.org/downloads/2.0/restlet-2.0m3.zip</a><br />
<a href="http://www.restlet.org/downloads/2.0/restlet-2.0m3.exe">http://www.restlet.org/downloads/2.0/restlet-2.0m3.exe</a></p>
<p>Maven repositories:<br />
<a rel="#someid16" href="http://maven.restlet.org/">http://maven.restlet.org</a> is updated on the 1st and 15th of each month<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>]]></content:encoded>
</item>
<item>
<title><![CDATA[Creating a Restful Web Service Part 1]]></title>
<link>http://rantincsharp.wordpress.com/2009/05/07/creating-a-restful-web-service-part-1/</link>
<pubDate>Thu, 07 May 2009 15:15:42 +0000</pubDate>
<dc:creator>Simon</dc:creator>
<guid>http://rantincsharp.wordpress.com/2009/05/07/creating-a-restful-web-service-part-1/</guid>
<description><![CDATA[Objective: To develop a web service that is to be used internally by applications to retrieve and wr]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>Objective</strong>: To develop a web service that is to be used internally by applications to retrieve and write data to an Oracle database.</p>
<p>I wanted to develop a web service that was designed with the REST framework in mind, SOAP is just too &#8220;noisy&#8221;, and overly complex.   The web service had to be able connect and interact with an Oracle database, it also had to return any data from the database as XML.  You can view the results directly from a web browser if it&#8217;s XML, but it is not really necessary as a web service is mostly a non-human readable resource.</p>
<p>So, I was developing with Java &#8211; and had to try an work out what the best tools, APIs would be, bearing in mind the myriad of tools out there on the web.  It took quite a while looking at all the various API&#8217;s out there (Spring, Hibernate, iBATIS, EclipseLink, Toplink &#8211; the list goes on), but I chose ones that matched the following criteria:<br />
a) if a technology was already in use at work, then that had to be adopted &#8211; in order to stop a proliferation of different technologies being used, supported and maintained.</p>
<p>b) easy to use and understand.</p>
<p>c) have decent community support behind them &#8211; so if problems arise then at least someone out there may be able to lend a hand.</p>
<p>d) look likely to be well supported in the future without fading into obscurity in the next couple of weeks/months.</p>
<h2>Choosing the Right Tools &#8211; My Software Stack</h2>
<ul>
<li>Java IDE &#8211; is Eclipse Europa v3.3.2</li>
</ul>
<ul>
<li>Apache Tomcat Application Server v5.5.17</li>
</ul>
<ul>
<li>For the REST web service I chose &#8211; <a href="http://www.restlet.org/">Restlet v1.1.4</a>.</li>
</ul>
<p style="padding-left:60px;">A really nice and clean well supported framework.  Some of the tutorials were a bit raw but they have improved of recent and the documentation is getting better all the time.  They are constantly improving the API and stable releases are issued on a resonably regular basis.  They are keen to adopt good standards and it was pleasing to see that WADL is supported in their extended APIs for Restlet.</p>
<ul>
<li>For Object Relational Mapping (ORM) with Oracle I chose <a href="http://download.oracle.com/otn/nt/ias/10131/toplink_101310.zip">Toplink  (version 10g Release 3 10.1.3.3.0) </a>and the Workbench software- don&#8217;t even think about using raw JDBC API&#8217;s &#8211; it&#8217;s much less work to use Toplink rather than code everything from scratch.</li>
</ul>
<ul>
<li>For XML to Object ORM, I chose Sun&#8217;s <a href="https://jaxb.dev.java.net/">JAXB v2.0</a> implemenation &#8211; so, so, so much better than Toplinks crummy efforts (so I am saying Toplink is good for database ORM but not for XML ORM) &#8211; I spent so many wasted development hours on this piece of crud &#8211; so don&#8217;t use it unless you want to a miserable life as a developer.  JAXB is nice, its from Sun so it should conform to some form of standard.  The docs are good and it takes seconds to run the JAXB compiler from a command line along with your XSD schema and generate your Java classes.  Pretty good all round.</li>
</ul>
<p>In my next post I explain how I used the above to create my REST web service.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Restlet available on Android phones]]></title>
<link>http://blog.noelios.com/2009/05/06/restlet-available-on-android-phones/</link>
<pubDate>Wed, 06 May 2009 15:18:36 +0000</pubDate>
<dc:creator>Jerome Louvel</dc:creator>
<guid>http://blog.noelios.com/2009/05/06/restlet-available-on-android-phones/</guid>
<description><![CDATA[Our vision is that the Web is becoming ubiquitous and that REST, as the architecture style of the We]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>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. <a href="http://www.restlet.org/">Restlet</a>, our open source REST framework, is already available on regular computers based on Java SE/EE, in Web browers with our <a href="http://blog.noelios.com/2008/07/25/restlet-ported-to-gwt/">GWT edition</a> and even in the cloud with a new <a href="http://blog.noelios.com/2009/04/11/restlet-in-the-cloud-with-google-app-engine/">Google AppEngine edition</a>. But, we are still missing the Mobile Web!</p>
<p>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!</p>
<p><a href="http://www.android.com/"><img class="aligncenter size-full wp-image-492" title="android" src="http://noelios.wordpress.com/files/2009/05/android.png" alt="android" width="100" height="121" /></a></p>
<p>Android is an open source mobile operating system initiated by Google but now managed by the <a href="http://www.openhandsetalliance.com/">Open Handset Alliance</a>. 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.</p>
<p>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 <a href="http://developer.android.com/guide/basics/what-is-android.html">complete overview here</a>). All the built-in applications are written in Java and can accessed or customized via an <a href="http://developer.android.com/reference/packages.html">Android API</a>.</p>
<p><a href="http://www.sfr.fr/"><img class="aligncenter size-full wp-image-496" title="sfr" src="http://noelios.wordpress.com/files/2009/05/sfr.png" alt="sfr" width="74" height="74" /></a></p>
<p>Preparing for an imminent launch of the Android-powered HTC Magic phone in France (also known as the &#8220;G2&#8243;), 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 <a href="http://www.sfrjtd.fr/en/content/restlet">&#8220;Restlet+FOAF&#8221; project</a>.</p>
<p>With some adjustments (see <a href="http://wiki.restlet.org/developers/172-restlet/271-restlet.html">technical details</a>), 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 (<a href="http://en.wikipedia.org/wiki/FOAF_(software)">Friend-Of-A-Friend</a>) 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 <a href="http://wiki.restlet.org/docs_2.0/13-restlet/275-restlet/266-restlet/269-restlet.html">documented in the Restlet User Guide</a>.</p>
<p><a href="http://wiki.restlet.org/docs_2.0/13-restlet/275-restlet/266-restlet/269-restlet.html"><img class="aligncenter size-full wp-image-507" title="restlet-android2" src="http://noelios.wordpress.com/files/2009/05/restlet-android2.png" alt="restlet-android2" width="272" height="113" /></a></p>
<p>With the help of Manning&#8217;s &#8220;<a href="http://www.manning.com/ableson/">Unlocking Android</a>&#8221; book, we also discovered Android&#8217;s Intent/Service design pattern, which is quite similar to Eclipse&#8217;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.</p>
<p>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 <a href="http://wiki.restlet.org/developers/261-restlet/267-restlet.html">read its specifications</a> in our developers wiki. All those new features are available in recent <a href="http://www.restlet.org/downloads/">Restlet snapshots</a>. Enjoy!</p>
<p><em>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 <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Restlet in the cloud with Google App Engine!]]></title>
<link>http://blog.noelios.com/2009/04/11/restlet-in-the-cloud-with-google-app-engine/</link>
<pubDate>Sat, 11 Apr 2009 13:00:54 +0000</pubDate>
<dc:creator>Jerome Louvel</dc:creator>
<guid>http://blog.noelios.com/2009/04/11/restlet-in-the-cloud-with-google-app-engine/</guid>
<description><![CDATA[We are living exciting times! This week, Google has released an early version of their widely expect]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>We are living exciting times! This week, <a href="http://googleappengine.blogspot.com/2009/04/seriously-this-time-new-language-on-app.html">Google has released</a> an early version of their widely expected support for Java in Google App Engine (GAE).</p>
<p>GAE is a computing platform that can host your Web applications and offer them  massive and flexible scalability. Free accounts are available and <a href="http://code.google.com/intl/fr/appengine/docs/billing.html">you can pay</a> for extra resources (CPU time, bandwidth, storage and mails sent).</p>
<p>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.</p>
<p><a href="http://wiki.restlet.org/docs_1.2/13-restlet/252-restlet.html"><img class="aligncenter size-full wp-image-476" title="gae-gwt-restlet" src="http://noelios.wordpress.com/files/2009/04/gae-gwt-restlet.png" alt="gae-gwt-restlet" width="200" height="160" /></a></p>
<p>The great news is that Restlet has just been adapted to fully work with GAE! This port provides in a single &#8220;org.restlet.gar.jar&#8221; file:</p>
<ul>
<li> Full Restlet API</li>
<li>HTTP(S) server via the built-in Servlet adapter</li>
<li>HTTP(S) client via the built-in adapter to java.net.HTTPUrlConnection</li>
<li>SMTP client via the built-in adapter for JavaMail</li>
<li>Server-side GWT support via the built-in GwtShellServletWrapper class.</li>
</ul>
<p>In addition, support for GWT is available in both GAE and Restlet (<a href="http://blog.noelios.com/2008/07/25/restlet-ported-to-gwt/">see this post</a> on our port of Restlet on GWT). The <a href="http://wiki.restlet.org/docs_2.0/13-restlet/275-restlet/252-restlet.html">usage instructions</a> are available in our online User Guide.</p>
<p>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 <a href="http://www.sfeir.com/index.htm">SFEIR</a> and author of the <a href="http://www.ongwt.com/">OnGWT</a> web site.</p>
<p>Thanks to all of them and to Guillaume Laforge (who <a href="http://docs.codehaus.org/display/GROOVY/2009/04/08/Write+Groovy+apps+on+Google+App+Engine">ported Groovy to GAE</a>) for their advices and help making this port a reality so quickly and for sharing their passion for <a href="http://code.google.com/appengine/">GAE</a>!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft selects Restlet to show REST interoperability]]></title>
<link>http://blog.noelios.com/2009/02/20/microsoft-selects-restlet-to-show-rest-interoperability/</link>
<pubDate>Fri, 20 Feb 2009 10:25:46 +0000</pubDate>
<dc:creator>Jerome Louvel</dc:creator>
<guid>http://blog.noelios.com/2009/02/20/microsoft-selects-restlet-to-show-rest-interoperability/</guid>
<description><![CDATA[After a long investment in WS-*/SOAP initiatives, Microsoft has recognized the value of REST. But th]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>After a long investment in WS-*/SOAP initiatives, Microsoft has recognized the value of REST. But they didn&#8217;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.</p>
<h2>Silverlight</h2>
<p>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.</p>
<p><a href="http://msdn.microsoft.com/en-us/library/bb404700(VS.95).aspx">Silverlight</a> requires a browser plug-in (ActiveX available for IE, Firefox and Safari) and provides you with a <a href="http://msdn.microsoft.com/en-us/library/cc838194(VS.95).aspx">subset</a> of the .NET Framework. Microsoft supports Windows and Mac while Novell has a Linux version called <a href="http://www.mono-project.com/Moonlight">Moonlight</a>. For the user interface it relies on a declarative language called XAML, not too different from Flex MXML or JavaFX scripts.</p>
<p><a href="http://silverlight.net"><img class="aligncenter size-full wp-image-385" title="silverlight" src="http://noelios.wordpress.com/files/2009/02/silverlight.png" alt="silverlight" width="200" height="79" /></a></p>
<p>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 <a href="http://msdn.microsoft.com/en-us/library/bb404713(VS.95).aspx">available here</a>.</p>
<p>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.</p>
<p>To demonstrates this, Microsoft has leveraged our <a href="http://www.restlet.org/">Restlet framework </a>and illustrated this interoperability with several detailled posts in their <a href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/30/How_2D00_To-_3A00_-Silverlight-accessing-Java-REST-services-_2800_Part-1-_2D00_-Cross-Domain-_3A00_-IIS-_2B00_-Tomcat_2900_.aspx">Silverlight plus Java</a> blog written by Stève Sfartz from Microsoft. Other examples are available on <a href="http://www.bloginthecloud.com/2008/12/15/architecture/service-web-rest-une-histoire-dadresse/">Blog in the Cloud</a> and <a href="http://clouditup.blogspot.com/2009/01/utiliser-lapi-silverlight-streaming.html">Cloud it up</a>.</p>
<h2>eclipse4SL</h2>
<p>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?</p>
<p>Well, Microsoft has done an unusual move by supporting the development of a Silverlight IDE for Eclipse! It&#8217;s called <a href="http://www.eclipse4sl.org/">eclipse4SL</a> and is co-developped with <a href="http://www.soyatec.fr">Soyatec</a>, a French software editor specialized in Eclipse products development.</p>
<p><a href="http://www.eclipse4sl.org/"><img class="aligncenter size-full wp-image-388" title="eclipse4sl" src="http://noelios.wordpress.com/files/2009/02/eclipse4sl.png" alt="eclipse4sl" width="200" height="69" /></a></p>
<p>REST interoperability is also covered in eclipse4SL&#8217;s user documentation, illustrated by the usage of Restlet on the server-side. See <a href="http://www.eclipse4sl.org/documentation/userdoc/html/webservice/restlet/">this page</a> 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.</p>
<p>The eclipse4SL project has even been submitted to the Eclipse foundation. See <a href="http://dev.eclipse.org/blogs/mike/2008/10/13/interesting-times-indeed/">this post</a> from the executive director of the Eclipse foundation.</p>
<h2>TechDays</h2>
<p>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.</p>
<p>The goal was to present interoperability scenarios around REST. Thierry Boileau did the presentation for Noelios Technologies. A <a href="http://blogs.msdn.com/ssfartz/archive/2009/02/17/techdays-2009-rest-interop-java-restlet-wcf-starter-kit-ado-net-data-services.aspx">detailled summary</a> (in French) has been posted by Stève Sfartz on his blog.</p>
<p><a href="http://galilee.microsoft.fr/TechDays2009/"><img class="aligncenter size-full wp-image-398" title="techdays09" src="http://noelios.wordpress.com/files/2009/02/techdays09.png" alt="techdays09" width="207" height="65" /></a></p>
<p>This presentation gave us the opportunity to show case our recent support for the <a href="http://msdn.microsoft.com/en-us/library/dd179428.aspx">Shared Key</a> 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.</p>
<p>This new feature is available in <a href="http://www.restlet.org/downloads/">recent snapshots</a> of our future Restlet 1.2 release!</p>
<p><em>Update 1:  <a href="http://www.betanews.com/article/New-toolkit-makes-Eclipse-into-a-Silverlight-IDE/1236813333">article from BetaNews</a> covering Eclipse4SL and mentioning Restlet</em></p>
<p><em>Update 2: Stève Sfartz has posted a <a href="http://msdn.microsoft.com/fr-fr/dd547976.aspx">complete article on MSDN</a> detailling the example showcased at the TechDays (in French), including downloadable source code.<br />
</em></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Mule ESB integrates Restlet 1.1]]></title>
<link>http://blog.noelios.com/2009/01/16/mule-esb-integrates-restlet-11/</link>
<pubDate>Fri, 16 Jan 2009 16:47:54 +0000</pubDate>
<dc:creator>Jerome Louvel</dc:creator>
<guid>http://blog.noelios.com/2009/01/16/mule-esb-integrates-restlet-11/</guid>
<description><![CDATA[Last year, MuleSource released RESTpack, an extension for their leading open source Mule ESB product]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Last year, MuleSource released <a href="http://mulesource.org/display/MULE/Mule+RESTpack">RESTpack</a>, an extension for their leading open source <a href="http://mulesource.com/products/mule.php">Mule ESB</a> product. This pack has just been updated and now includes support for the latest <a href="http://blog.noelios.com/2008/10/28/restlet-110-released/">Restlet 1.1</a> version.</p>
<p>The Restlet transport provides  a deep integration, both on the server and the client side, between Restlet and Mule ESB. For more information, you can read the <a href="http://mule.mulesource.org/display/RESTLET/User%27s+Guide">dedicated documentation page</a>.</p>
<p style="text-align:center;"><a href="http://mulesource.com/"><img class="aligncenter size-full wp-image-358" title="Mule" src="http://noelios.wordpress.com/files/2009/01/mule-copie.png" alt="Mule" width="216" height="70" /></a></p>
<p>We had the opportunity to talk with <a href="http://netzooid.com/blog/">Dan Diephouse</a>, the software architect and REST expert who is leading this effort.</p>
<p>We asked him what are the benefits that Mule RESTpack and Restlet transport bring to existing  Restlet users and, more generally, <span>how do ESB and REST fit together conceptually?</span></p>
<blockquote><p>The big benefit is that you can start to build integration applications that not  only utilize RESTful HTTP services, but JMS, email, BPM, etc. In addition to  just hosting Restlet services in a container like fashion, you can do things  like:</p>
<div>
<ul>
<li>Route messages to different services and transports (e.g. using URI  templates to route to different JMS queues)</li>
<li>Kick of other process flows when an HTTP Response is sent</li>
<li>Utilize all the built in capabilities for transformations, routing, and  message filtering that Mule has to offer.</li>
</ul>
</div>
</blockquote>
<p>If you are looking for an ESB solution with strong REST support, this is a great opportunity to leverage two mature open source technologies. We already had a report of a successful usage of Restlet with Mule ESB in a large project in France!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Silverlight Streaming - Procédure Upload &amp; REST]]></title>
<link>http://epsicloudcomputing.wordpress.com/2009/01/07/silverlight-streaming-procedure-rest/</link>
<pubDate>Wed, 07 Jan 2009 11:52:20 +0000</pubDate>
<dc:creator>Guillaume Gas</dc:creator>
<guid>http://epsicloudcomputing.wordpress.com/2009/01/07/silverlight-streaming-procedure-rest/</guid>
<description><![CDATA[Concernant l&#8217;application &#8220;Video On Demand&#8221; que nous avons présentée précédemment, ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Concernant l&#8217;application &#8220;Video On Demand&#8221; que nous avons présentée précédemment, nous avons évoqué l&#8217;utilisation de la technologie Silverlight Streaming. Ce service, développé par Microsoft, permet aux développeurs de diffuser leurs fichiers vidéos ou leurs applications Silverlight afin de les rendre accessibles à tous. Dans cet article, je vais tâcher de présenter son fonctionnement pour les fichiers vidéo.</p>
<p>Silverlight Streaming nécessite un compte LiveID, et permet un stockage gratuit de streaming de 10 Go maximum. Il faut savoir qu&#8217;en cas de dépassement de stockage, il faudra passer par une option payante.</p>
<h2><span style="text-decoration:underline;"><strong>Procédure</strong></span></h2>
<p>Pour uploader un fichier vidéo, la première étape consiste d&#8217;abord à récupérer un identifiant (numéro de compte SLS) et une clé. Pour cela, il suffit de s&#8217;inscrire sur le site suivant : <a href="http://silverlight.live.com">http://silverlight.live.com</a>.</p>
<p><img class="aligncenter size-full wp-image-64" title="streaming-id-key" src="http://epsicloudcomputing.wordpress.com/files/2009/01/streaming-id-key.jpg" alt="streaming-id-key" width="500" height="244" /></p>
<p>Une fois l&#8217;identifiant et la clé récupérés, il est possible d&#8217;uploader une vidéo en cliquant sur l&#8217;option &#8220;Manage Video&#8221;. A noter que l&#8217;option &#8220;Manage Applications&#8221; fait de même pour les applications Silverlight.</p>
<p><img class="aligncenter size-full wp-image-65" title="streaming-uploadvideo-1" src="http://epsicloudcomputing.wordpress.com/files/2009/01/streaming-uploadvideo-1.jpg" alt="streaming-uploadvideo-1" width="500" height="262" /></p>
<p>L&#8217;upload d&#8217;un fichier (au format &#8220;.wmv&#8221;, &#8220;.avi&#8221;, &#8220;.mpeg&#8221;, &#8220;.mov&#8221;&#8230;) nécessite l&#8217;emplacement du fichier, ainsi qu&#8217;un titre. Une fois que le fichier est uploadé, une URL statique est fournie pour accéder au fichier vidéo.</p>
<p><img class="aligncenter size-full wp-image-66" title="streaming-uploadvideo-2" src="http://epsicloudcomputing.wordpress.com/files/2009/01/streaming-uploadvideo-2.jpg" alt="streaming-uploadvideo-2" width="500" height="218" /></p>
<h2><span style="text-decoration:underline;"><strong>Procédure avec communication REST</strong></span></h2>
<p>Je vais aborder ici la procédure d&#8217;authentification sur Silverlight Streaming par requête REST. Notons qu&#8217;il est indispensable pour cela d&#8217;avoir les identifiants (Account ID et Account Key).</p>
<p>Le code suivant (en C#) présente la procédure d&#8217;authentification (par souci de simplicité, j&#8217;ai choisi le mot &#8220;foo&#8221; en guise d&#8217;Account ID) :</p>
<p><img class="aligncenter size-full wp-image-71" title="streaming-identificationc" src="http://epsicloudcomputing.wordpress.com/files/2009/01/streaming-identificationc.jpg" alt="streaming-identificationc" width="500" height="307" /></p>
<p>Concernant la gestion des vidéos avec REST, nous allons recourir aux requêtes HTTP suivantes :</p>
<ul>
<li><strong>PUT</strong>, pour l&#8217;ajout d&#8217;une vidéo</li>
<li><strong>DELETE</strong>, pour la suppression d&#8217;une vidéo</li>
<li><strong>COPY</strong>, pour la duplication d&#8217;une vidéo</li>
</ul>
<p>Pour la procédure d&#8217;identification (vue ci-dessus) et l&#8217;ajout de fichiers sur la plateforme Silverlight Streaming, nous allons nous appuyer sur les librairies du framework Restlet (<a href="http://www.restlet.org">www.restlet.org</a>). Ses librairies sont directement téléchargeables sur le site, et devront ensuite être implémentées parmi les librairies de l&#8217;application Java (Back Office).</p>
<h2><span style="text-decoration:underline;"><strong>Uploader un fichier avec PUT.</strong></span></h2>
<p>A partir de là, nous allons voir comment uploader un fichier sur Silverlight Streaming.</p>
<p>La procédure présentée au sommet de cet article donnait les indications suivantes : il s&#8217;agit avant tout de s&#8217;identifier sur la plateforme, de donner un nom à sa vidéo (qui correspondera au répertoire qui contiendra la vidéo) et de valider l&#8217;upload. Il faut également savoir qu&#8217;une fois présente sur le site, la vidéo sera appelée &#8220;video.wmv&#8221;.</p>
<p>Pour effectuer l&#8217;upload de fichier de façon logicielle, nous allons effectuer une requête de type PUT, basée sur les librairies de Restlet, au sein d&#8217;une application Java.</p>
<p>Dans un premier temps, il convient de recenser et d&#8217;initialiser les données utiles :</p>
<p><img class="aligncenter size-full wp-image-83" title="phase_11" src="http://epsicloudcomputing.wordpress.com/files/2009/01/phase_11.jpg" alt="phase_11" width="567" height="162" /></p>
<p>Ensuite, après avoir initialisé les données, il s&#8217;agit de concevoir le répertoire (ou FileSet) qui contiendra la vidéo sur la plateforme. On utilise pour cela la méthode MKCOL. Le code se présente de la façon suivante :</p>
<p><img class="aligncenter size-full wp-image-84" title="phase_2" src="http://epsicloudcomputing.wordpress.com/files/2009/01/phase_2.jpg" alt="phase_2" width="500" height="146" /></p>
<p>Enfin, il ne reste plus qu&#8217;à envoyer la requête PUT pour l&#8217;upload de la vidéo :</p>
<p><img class="aligncenter size-full wp-image-85" title="phase_3" src="http://epsicloudcomputing.wordpress.com/files/2009/01/phase_3.jpg" alt="phase_3" width="582" height="187" /></p>
<p>De cette façon, il est possible d&#8217;uploader facilement une vidéo sur l&#8217;interface Silverlight Streaming. Tout ce code sera implémenté dans notre application Back Office et exécuté lorsque l&#8217;utilisateur souhaitera uploader une vidéo sur la plateforme Silverlight Streaming.</p>
<p>Par la suite, il va s&#8217;agir d&#8217;effectuer une requête HTTP avec les méthodes DELETE et COPY.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Octo Technology recommends Restlet to increase productivity]]></title>
<link>http://blog.noelios.com/2008/12/30/octo-technology-recommends-restlet-to-increase-productivity/</link>
<pubDate>Tue, 30 Dec 2008 11:50:24 +0000</pubDate>
<dc:creator>Jerome Louvel</dc:creator>
<guid>http://blog.noelios.com/2008/12/30/octo-technology-recommends-restlet-to-increase-productivity/</guid>
<description><![CDATA[On the French IT market, Octo Technology is a top consulting company, specialized in software archit]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>On the French IT market, Octo Technology is a top consulting company, specialized in software architecture. Since its creation in 1998, it has regularly shaped the technology landscape through their famous white papers.</p>
<p><a href="http://www.octo.com/"><img class="aligncenter size-full wp-image-329" title="Octo Technology" src="http://noelios.wordpress.com/files/2008/12/octo.gif" alt="Octo Technology" width="221" height="96" /></a></p>
<p>In 2007, they showed a clear understanding of REST by publishing &#8220;<a href="http://www.octo.com/com/download/cahier_servicesweb.pdf">Web Services: Architectural Choices</a>&#8221; (in French) by Philippe Mougin. The latest in the series is  a &#8220;<a href="http://www.octo.com/com/com_Java-Productivity-Primer-white-paper-octo.html">Java Productivity Primer</a>&#8221; (in English) detailing &#8220;Twelve guidelines to boost your productivity with a software factory&#8221;.</p>
<p>In their first guideline, &#8220;Adopt a productive Java platform that’s tailored for your project(s)&#8221;, they warn against bloated commercial platforms and propose an example of a state-of-the-art, low-cost Java platform which includes Restlet to develop their Web services.</p>
<p><img class="aligncenter size-full wp-image-335" title="octo-stack" src="http://noelios.wordpress.com/files/2008/12/octo-stack1.png" alt="octo-stack" width="372" height="200" /></p>
<p>They say they really like Restlet because the &#8220;framework is built for the REST architectural style, which is HTTP’s native architectural style. It lets you leverage the Web’s intrinsic qualities (scalability, loose coupling, etc.) much better than RPC- and/or SOAP-oriented frameworks&#8221;.</p>
<p><em>PS: Thanks to Charles Gay, from <a href="http://jguard.net/">jGuard</a>, for first pointing me to this document.</em></p>
<p><em>Update 1: See <a href="http://pmougin.wordpress.com/2008/12/07/java-productivity-primer/">related blog post</a> from Philippe Mougin<br />
</em></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Cartoon presents Restlet]]></title>
<link>http://blog.noelios.com/2008/11/25/cartoon-presents-restlet/</link>
<pubDate>Tue, 25 Nov 2008 08:53:14 +0000</pubDate>
<dc:creator>Jerome Louvel</dc:creator>
<guid>http://blog.noelios.com/2008/11/25/cartoon-presents-restlet/</guid>
<description><![CDATA[On the 4th of November, I presented a session on REST, Restlet and our port to GWT at the local JUG ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>On the 4th of November, I presented a session on REST, Restlet and our <a href="http://blog.noelios.com/2008/07/25/restlet-ported-to-gwt/">port to GWT</a> at the local JUG (Paris Java User Group). More than 200 juggers attended, with a first part on GWT presented by Didier Girard, from <a href="http://www.ongwt.com/">onGWT</a>.</p>
<p><a href="http://eric.lemerdy.free.fr">Eric Le Merdy</a>, from Valtech, very creatively illustrated the presentation. Here is our first Restlet cartoon!</p>
<p><a href="http://noelios.wordpress.com/files/2008/11/jug.png"><img class="aligncenter size-full wp-image-313" title="jug" src="http://noelios.wordpress.com/files/2008/11/jug.png" alt="jug" width="450" height="993" /></a></p>
<p>Thanks to Antonio Goncalves, David Dewalle and Zouheir Cad, the co-founders of Paris JUG for organizing this event. Keep up the fun, the passion and the professionalism!</p>
<p>Here are additional links about the event (all in French):</p>
<ul>
<li><a href="http://www.tomsquest.com/blog/rencontre-avec-jerome-louvel-auteur-de-restlet/">Interview</a> by Thomas Queste</li>
<li><a href="http://blog.dahanne.net/2008/11/11/retour-sur-le-parisjug-du-2-novembre-gwt/">Summary</a> by Anthony Dahan</li>
<li><a href="http://www.duminy.fr/blog/?p=127&#38;language=fr">Summary</a> by Fabien Duminy</li>
<li><a href="http://www.touilleur-express.fr/2008/11/05/soiree-gwt-et-restlet-au-paris-jug/">Summary</a> by Nicolas Martignole</li>
<li><a href="http://www.parisjug.org/xwiki/bin/view/Meeting/20081104">Paris JUG session page</a></li>
</ul>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Restlet: A REST 'Framework' for Java]]></title>
<link>http://mtj.wordpress.com/2008/10/19/restlet-a-rest-framework-for-java/</link>
<pubDate>Sun, 19 Oct 2008 21:33:44 +0000</pubDate>
<dc:creator>mj</dc:creator>
<guid>http://mtj.wordpress.com/2008/10/19/restlet-a-rest-framework-for-java/</guid>
<description><![CDATA[Building an API on the REST architectural style? Building it in Java? This past week, on a project d]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Building an API on the <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">REST architectural style</a>? Building it in Java?</p>
<p>This past week, on a project doing just that, I ran into <a href="http://www.restlet.org/">Restlet</a>. I&#8217;d never heard of a REST framework for Java before, but it&#8217;s been featured <a href="http://www.infoq.com">InfoQ</a>, <a href="http://www.theserverside.com/">TSS</a>, <a href="http://www.onjava.com/onjava/">ONJava</a>, and others over the past three years. (Damn, I need to pay more attention.)</p>
<p>And it kicks ass.</p>
<p>Here&#8217;s a quick run-down:</p>
<p>Restlet is an API for developing REST-based services in the same way that Servlet is an API for developing Web-based services. Your application never deals with the Servlet API, HTTP-specific attributes, cookies, sessions, JSPs, or any of that baggage.  </p>
<p>Instead, you think and code in terms of REST: Routing, Resources, Representations. </p>
<p>It has an intuitive URL routing system that parses out resource identifiers and other data (that is, a URL template of <code>/user/{user_id}</code> would give you a &#8216;user_id&#8217; attribute for any URL matching that pattern, which is fed into your User resource).</p>
<p>Resources are easily able to define which of the verbs (GET, POST, PUT, DELETE) they respond to, with default behavior defined for verbs that are unsupported.</p>
<p>There are plug-ins available for SSL and <a href="http://oauth.net/core/1.0">OAuth</a>, an emerging best practice for authenticating third party access to user accounts.</p>
<p>The documentation is a bit lacking. However, there is an excellent <a href="http://www.ibm.com/developerworks/edu/j-dw-java-rest-i.html">IBM developerWorks tutorial on Restlet</a> (registration required) that lays out pretty much everything you need, with a (nearly-)complete example for study.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[REST with JDeveloper 11g]]></title>
<link>http://pmoskovi.wordpress.com/2008/10/14/rest-with-jdeveloper-11g/</link>
<pubDate>Wed, 15 Oct 2008 05:26:29 +0000</pubDate>
<dc:creator>Peter Moskovits</dc:creator>
<guid>http://pmoskovi.wordpress.com/2008/10/14/rest-with-jdeveloper-11g/</guid>
<description><![CDATA[Lucas Jellema from AMIS has a very interesting post about his experience with REST and JDeveloper 11]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Lucas Jellema from AMIS has a <a href="http://technology.amis.nl/blog/3587/first-steps-with-restlet-11rc2-in-jdeveloper-11g-restful-services-101">very interesting post</a> about his experience with REST and JDeveloper 11g. He walks through the RestLet tutorial using the recently released JDeveloper 11g.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Cup of tea]]></title>
<link>http://plasmavslcd2000.wordpress.com/2008/10/11/cup-of-tea/</link>
<pubDate>Sat, 11 Oct 2008 22:16:20 +0000</pubDate>
<dc:creator>howtowrx4l</dc:creator>
<guid>http://plasmavslcd2000.wordpress.com/2008/10/11/cup-of-tea/</guid>
<description><![CDATA[Masterbating &#8211; Masterbating You Porn &#8211; You Porn Cfnm &#8211; Cfnm Xxnx Free Site &#8211;]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Masterbating &#8211; <a href="http://projectes0.proboards.com/">Masterbating</a><br />
You Porn &#8211; <a href="http://federal1r2.proboards.com/">You Porn</a><br />
Cfnm &#8211; <a href="http://aonlinegwc.proboards.com/">Cfnm</a><br />
Xxnx Free Site &#8211; <a href="http://goutsyma8a.proboards.com/">Xxnx Free Site</a><br />
Free Porn Trailers &#8211; <a href="http://stateinp0l.proboards.com/">Free Porn Trailers</a><br />
Grannysex &#8211; <a href="http://aharleys5k.proboards.com/">Grannysex</a><br />
Freepornvideos &#8211; <a href="http://britneyhgs.proboards.com/">Freepornvideos</a><br />
Xtube Videos &#8211; <a href="http://cheapskjtj.proboards.com/">Xtube Videos</a><br />
Sexmovie &#8211; <a href="http://thedvdxmw6.proboards.com/">Sexmovie</a><br />
Sexyclips &#8211; <a href="http://awindowvoh.proboards.com/">Sexyclips</a><br />
Momsex &#8211; <a href="http://electrieer.proboards.com/">Momsex</a><br />
Sexymovies &#8211; <a href="http://cityofliye.proboards.com/">Sexymovies</a><br />
Girlsgonewild &#8211; <a href="http://thestagwp7.proboards.com/">Girlsgonewild</a><br />
Porn Vids &#8211; <a href="http://custombsy2.proboards.com/">Porn Vids</a><br />
Milf Like It Big &#8211; <a href="http://amedica908.proboards.com/">Milf Like It Big</a><br />
Movie &#8211; <a href="http://vehicle0dl.proboards.com/">Movie</a><br />
Gay Tube &#8211; <a href="http://lifeflik3c.proboards.com/">Gay Tube</a><br />
Young Little Girl Virgins &#8211; <a href="http://dietforhcw.proboards.com/">Young Little Girl Virgins</a><br />
Sites &#8211; <a href="http://themarqovc.proboards.com/">Sites</a><br />
Maxporn &#8211; <a href="http://thewheevvm.proboards.com/">Maxporn</a><br />
Freexxx &#8211; <a href="http://a2000fotkf.proboards.com/">Freexxx</a><br />
Blowjobs &#8211; <a href="http://unitedsbww.proboards.com/">Blowjobs</a><br />
Fuck Videos &#8211; <a href="http://greekpoenv.proboards.com/">Fuck Videos</a><br />
Xxnx.com &#8211; <a href="http://a1994vodx8.proboards.com/">Xxnx.com</a><br />
Sexclips &#8211; <a href="http://thehumaejq.proboards.com/">Sexclips</a><br />
Round Mound Of Ass &#8211; <a href="http://themissjdy.proboards.com/">Round Mound Of Ass</a><br />
Free Porn Videos &#8211; <a href="http://halodarjjb.proboards.com/">Free Porn Videos</a><br />
Youtube Video Clips &#8211; <a href="http://thekohltmd.proboards.com/">Youtube Video Clips</a><br />
Freesexclips &#8211; <a href="http://homefurllx.proboards.com/">Freesexclips</a><br />
Twogirlsonecup &#8211; <a href="http://noaawea98z.proboards.com/">Twogirlsonecup</a><br />
Videos Eroticos &#8211; <a href="http://thesacrj48.proboards.com/">Videos Eroticos</a><br />
Adult Movies &#8211; <a href="http://freecarhvr.proboards.com/">Adult Movies</a><br />
Sybian &#8211; <a href="http://aworldvbci.proboards.com/">Sybian</a><br />
You Tube Street Fights &#8211; <a href="http://themotoreh.proboards.com/">You Tube Street Fights</a><br />
Freesexmovies &#8211; <a href="http://addmotor7w.proboards.com/">Freesexmovies</a><br />
Amature Sex &#8211; <a href="http://powerposdf.proboards.com/">Amature Sex</a><br />
Video De Noelia &#8211; <a href="http://worldofvod.proboards.com/">Video De Noelia</a><br />
Www.ampland.com &#8211; <a href="http://eggdona0m7.proboards.com/">Www.ampland.com</a><br />
Twistys Video &#8211; <a href="http://leatherck5.proboards.com/">Twistys Video</a><br />
Granny Porn &#8211; <a href="http://aproducqb9.proboards.com/">Granny Porn</a><br />
Peter North Facials &#8211; <a href="http://aaustrat8n.proboards.com/">Peter North Facials</a><br />
Latinas Calientes &#8211; <a href="http://asciatibbj.proboards.com/">Latinas Calientes</a><br />
Upskirt &#8211; <a href="http://acpucooud9.proboards.com/">Upskirt</a><br />
Red Tube &#8211; <a href="http://diversihug.proboards.com/">Red Tube</a><br />
Pornomovies &#8211; <a href="http://disneyvtiv.proboards.com/">Pornomovies</a><br />
Pornmovies &#8211; <a href="http://woodducpex.proboards.com/">Pornmovies</a><br />
Www.free Porn &#8211; <a href="http://acustomdtq.proboards.com/">Www.free Porn</a><br />
Free Xxx &#8211; <a href="http://magellaiwu.proboards.com/">Free Xxx</a><br />
Atk Natural &#8211; <a href="http://keystona64.proboards.com/">Atk Natural</a><br />
Amature Clips &#8211; <a href="http://thecarwjqv.proboards.com/">Amature Clips</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Links for 2008-09-25]]></title>
<link>http://janmaterne.wordpress.com/2008/09/25/links-for-2008-09-25/</link>
<pubDate>Thu, 25 Sep 2008 12:42:42 +0000</pubDate>
<dc:creator>janmaterne</dc:creator>
<guid>http://janmaterne.wordpress.com/2008/09/25/links-for-2008-09-25/</guid>
<description><![CDATA[(German announcement) JSR 311 &#8220;JAX-RS Java-API für RESTful Web Services&#8221; is approved. Im]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>(German announcement) <a href="http://jcp.org/en/jsr/detail?id=311">JSR 311</a> &#8220;JAX-RS Java-API für RESTful Web Services&#8221; is approved. Implementations are <a href="https://jersey.dev.java.net/">Jersey</a>, <a href="http://www.restlet.org/">Restlet-Framework</a>, <a href="http://www.jboss.org/resteasy/">JBoss RESTEasy</a> and <a href="http://cxf.apache.org/">Apache CXF</a>.</p>
<p><a href="http://createordie.de/cod/news/Trinkutensilien-fuer-Fotografen-045277.html">CreateOrDie </a>has found a very nice <a href="http://createordie.de/zonen/magazine/news/pspic/picture_file/95/348da0798df89b.jpg">cup</a> for photographs.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[A Simple "Restlet" Demo application]]></title>
<link>http://danilogurovich.wordpress.com/2008/09/23/a-simple-restlet-demo-application/</link>
<pubDate>Wed, 24 Sep 2008 03:59:00 +0000</pubDate>
<dc:creator>Danilo</dc:creator>
<guid>http://danilogurovich.wordpress.com/2008/09/23/a-simple-restlet-demo-application/</guid>
<description><![CDATA[I&#8217;m assuming that if you&#8217;re here you already know the basics of REpresentational State T]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I&#8217;m assuming that if you&#8217;re here you already know the basics of <strong>RE</strong>presentational <strong>S</strong>tate<strong> T</strong>ransfer.  I&#8217;m also going to assume that you&#8217;ve looked at all the goodies at the <a title="Restlet home pages" href="http://www.restlet.org" target="_blank">Restlet</a> community site.  Further, I&#8217;m thinking that you want a quick start guide to show you how to implement it.  The following tutorial shows how I &#8220;found a home&#8221; with Restlet, what worked for me, and hopefully something that will work for you, too.</p>
<p>The Restlet API is a Java framework for the REST architectural style. The <a href="http://www.restlet.org/documentation/1.1/nre/" target="_blank">Noelios Restlet Engine (NRE)</a> is available as the reference implementation, as well as <a href="http://www.restlet.org/documentation/1.1/ext/" target="_blank">several extensions</a> to the API and to NRE. <!--more--></p>
<p><strong>Why is it cool?</strong></p>
<p>To Quote Jérôme Louvel, founder and lead developer of Restlet:</p>
<address>&#8220;After several iterations, it became clear that it would be beneficial for developers to separate the Restlet project into two parts. The first part is a generic set of classes, called the Restlet API, including a few helper classes and a mechanism to register a Restlet implementation. The second part is a reference implementation, called the Noelios Restlet Engine, including several server and client connectors (HTTP, JDBC, SMTP, etc.), a set of representations (based on strings, files, XML documents, templates, streams, etc.) and a Directory able to serve static files from a tree of directories with automatic content negotiation based on file extensions. Since the first public release in November 2005, the project keeps maturing thanks to the help of an active community of users and developers.&#8221;</address>
<p>It&#8217;s cool because it does all that.  I love that fact that you can send a request to a Restlet engine, and you can return back this amazing variety of Representations based upon it.  The first exposure to Restlet for me came when I put forth a design for a beacon tracking system that could be triggered via HTML pages, Server calls, log-file digestion and anything else I could think of.  The lead developer turned me on to Restlet.</p>
<p>I later found ways to hook it up to a JBoss-Rules system, a Low-Latency Data Store for delivering customer demographic information, and a Affiliate Network lead quality validation system.  Each application had completely different requirements except that they needed to be a service.  I decided on REST instead of  SOAP, and the &#8220;rest&#8221; is in the implementations.  It subscribes to my basic requirements for an application:</p>
<address> Any application that represents good design gives those that interact<br />
with it the feeling that &#8220;<strong>it just works&#8221;</strong>.</address>
<p>Once you work with Restlet a bit, get an application running, manipulate what you&#8217;ve built into other things, and get real expertise around it, you&#8217;ll find, like I have, that <em>it just works</em>. </p>
<h3>The Jars you need for this application.</h3>
<p>To run this application, you&#8217;ll need the following jar files:</p>
<ul>
<li>com.noelios.restlet.ext.servlet_2.5.jar</li>
<li>com.noelios.restlet.jar</li>
<li>org.restlet.jar</li>
<li>xalan-2.7.0.jar</li>
<li>xrcesImpl.jar</li>
</ul>
<div>This is the complete listing of libraries. </div>
<h3>Running Restlet from Tomcat &#8212; Configure the web.xml file.</h3>
<p>You&#8217;ll want to run Restlet from a WAR file in most production cases, but you really don&#8217;t have to.  I like to use it because it creates homogeneous environments for my ITOPs people to work with; nice, similar stacks for maintenance purposes, so we&#8217;ll do it this way here.  This is the web.xml file used in the web application that we&#8217;re deploying our service through:</p>
<pre>&#60;?xml version="1.0" encoding="UTF-8"?&#62;
&#60;web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
                 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"&#62;
    &#60;display-name&#62;first steps servlet&#60;/display-name&#62;
    &#60;!-- Application class name --&#62;
    &#60;context-param&#62;
        &#60;param-name&#62;org.restlet.application&#60;/param-name&#62;
        &#60;param-value&#62;
            <strong>com.dg.demo.restlet.application.DemoApplication</strong>
        &#60;/param-value&#62;
    &#60;/context-param&#62;

    &#60;!-- Restlet adapter --&#62;
    &#60;servlet&#62;
        &#60;servlet-name&#62;ServerServlet&#60;/servlet-name&#62;
        &#60;servlet-class&#62;
            com.noelios.restlet.ext.servlet.ServerServlet
        &#60;/servlet-class&#62;
    &#60;/servlet&#62;

    &#60;!-- Catch all requests --&#62;
    &#60;servlet-mapping&#62;
        &#60;servlet-name&#62;ServerServlet&#60;/servlet-name&#62;
        &#60;url-pattern&#62;/demo/*&#60;/url-pattern&#62;
    &#60;/servlet-mapping&#62;
&#60;/web-app&#62;</pre>
<p>Note that com.dg.demo.restlet.application.DemoApplication will be the Application class file that you will write.  ServerServlet comes with the libraries.  Note that the &#8220;servlet-mapping&#8221; that I&#8217;m using here is &#8220;/demo/*&#8221;.  This means that all URLs directed to the Restlet must have &#8220;/demo/&#8221; as their root, (i.e. http://localhost:8080/demo/&#8230;).</p>
<p><strong>The Application Class</strong></p>
<p>The Application Class is the &#8220;manager&#8221; for the Restlet Application. This class will find the proper resource with respect to the URL that is presented to it.  In the case of this application, we&#8217;ll be mapping incoming URLs to:</p>
<ul>
<li>a &#8220;System up&#8221; Resource that shows that the Restlet is actually running and mapping correctly.</li>
<li>a &#8220;Mapping&#8221; Resource that will allow for a list of cities and states to be shown based upon given inputs.</li>
<li>an &#8220;XML&#8221; Resource that shows mappings of Cities and States as an XML Representation.</li>
</ul>
<p>Here is the application Class:</p>
<pre>package com.dg.demo.restlet.application;

import com.dg.demo.restlet.resource.CityXMLResource;
import com.dg.demo.restlet.resource.MapResource;
import com.dg.demo.restlet.resource.SystemResource;
import org.restlet.Application;
import org.restlet.Context;
import org.restlet.Restlet;
import org.restlet.Router;
import org.restlet.data.MediaType;
import org.restlet.data.Request;
import org.restlet.data.Response;
import org.restlet.resource.StringRepresentation;

/**
 * The Application Root Class.  Maps all of the resources.
 */
public class DemoApplication extends Application {

    /**
     * Creates a new DemoApplication object.
     */
    public DemoApplication() {
        //empty
    }

    /**
     * Public Constructor to create an instance of DemoApplication.
     *
     * @param parentContext - the org.restlet.Context instance
     */
    public DemoApplication(Context parentContext) {
        super(parentContext);
    }

    /**
     * The Restlet instance that will call the correct resource
     * depending up on URL mapped to it.
     *
     * @return -- The resource Restlet mapped to the URL.
     */
    @Override
    public Restlet createRoot() {
        Router router = new Router(getContext());

        <strong>router.attach("/sys", SystemResource.class);
        router.attach("/{key}/maps", MapResource.class);
        router.attach("/xml", CityXMLResource.class);</strong>

        <strong>Restlet mainpage</strong> = new Restlet() {
            @Override
            public void handle(Request request, Response response) {
                StringBuilder stringBuilder = new StringBuilder();

                stringBuilder.append("&#60;html&#62;");
                stringBuilder.append("&#60;head&#62;&#60;title&#62;Sample Application " +
                        "Servlet Page&#60;/title&#62;&#60;/head&#62;");
                stringBuilder.append("&#60;body bgcolor=white&#62;");
                stringBuilder.append("&#60;table border=\"0\"&#62;");
                stringBuilder.append("&#60;tr&#62;");
                stringBuilder.append("&#60;td&#62;");
                stringBuilder.append("&#60;h3&#62;available REST calls&#60;/h3&#62;");
                stringBuilder.append("&#60;ol&#62;&#60;li&#62;/sys --&#62; returns system " +
                        "up and date string&#60;/li&#62;");
                stringBuilder.append("&#60;li&#62;/all/maps --&#62; returns a list" +
                        " of all the cities and states&#60;/li&#62;");
                stringBuilder.append("&#60;li&#62;/{key}/maps --&#62; returns a list " +
                        "of cities for a particular state (CA,IL,TX)&#60;br/&#62;");
                stringBuilder.append("using one of the keys from the \"all\" " +
                        "call&#60;br/&#62; pasted in place as the {key}.&#60;/li&#62;");
                stringBuilder.append("&#60;li&#62;/xml --&#62; POST or GET URL or web " +
                        "form elements as XML to this&#60;/li&#62;");
                stringBuilder.append("&#60;/ol&#62;");
                stringBuilder.append("&#60;/td&#62;");
                stringBuilder.append("&#60;/tr&#62;");
                stringBuilder.append("&#60;/table&#62;");
                stringBuilder.append("&#60;/body&#62;");
                stringBuilder.append("&#60;/html&#62;");

                response.setEntity(new StringRepresentation(
                        stringBuilder.toString(),
                        MediaType.TEXT_HTML));
            }
        };
        <strong>router.attach("", mainpage);</strong>
        return router;
    }
}</pre>
<p>With this Application I tried to show a &#8220;default&#8221;, &#8220;servlet-like&#8221; page returned by a Restlet created as an anonymous inner class &#8212; you can do that with all your URL requests if you like, but creating different Resource implementations is much easier to manage and write tests for. It is also very important to set the Context of the application in the Constructor (calling the superclass).  I forgot to do this and lost about an hour before I finally found it.</p>
<p>Once the Resources are mapped, You&#8217;re ready to rock and roll.  We&#8217;ll create a simple Model, and then get into the Resource Classes.</p>
<h3> A Simple Model to Work From:</h3>
<p>We need something to do with our application, so I decided to create a simple &#8220;persistence layer&#8221; that has a map of cities and states.  I could have done more and it could have been more complex, but I just wanted something that you can bang against and get an idea about how it all works.  I created an implementation class that contains a map of cities and states extending java.util.AbstractMap.  I then exposed various structures of this mapping through an interface class that the application will use to return information by implementing an Interface against it, obfuscating anything that I didn&#8217;t want to expose:</p>
<pre>package com.dg.demo.model;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * A simple interface to return a map of
 * values for the demonstration.
 */
public interface MappedPersistence {

    // returns a formatted string of the cities
    // mapped to a particular state.
    String getCommonValues(String state);

    // returns a set of cities, which are
    // the map keys.
    Set&#60;String&#62; keys();

    // returns a map of cities &#60;K&#62; with states&#60;V&#62;
    // as the value.
    Map&#60;String, String&#62; proxy();

    // returns a set of states available.
    Set&#60;String&#62; valueSet();

    //returns a List of cities.
    List&#60;String&#62; mappedKeys(String s);

}</pre>
<p>The implementation of the Interface above is MappedCityPersistence:</p>
<pre>package com.dg.demo.model.impl;

import com.dg.demo.model.MappedPersistence;

import java.util.AbstractMap;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * Implementation of MappedPersistence Interface.
 * Extends Abstract Map, but obfuscates the
 * mappings via the MappedPersistence Interface.
 */
public class MappedCityPersistence
        extends AbstractMap&#60;String, String&#62;
        implements MappedPersistence {

    private Map&#60;String, String&#62; proxyMap;

    public MappedCityPersistence() {
        proxyMap = new HashMap&#60;String, String&#62;();
        loadProxy();
    }
    // this class must be implemented...
    public Set&#60;Entry&#60;String, String&#62;&#62; entrySet() {
        return proxyMap.entrySet();
    }
    //the values for persistence.
    private void loadProxy() {
        proxyMap.put("Los Angeles", "CA");
        proxyMap.put("Santa Barbara", "CA");
        proxyMap.put("San Francisco", "CA");
        proxyMap.put("San Diego", "CA");
        proxyMap.put("Dallas", "TX");
        proxyMap.put("Houston", "TX");
        proxyMap.put("Austin", "TX");
        proxyMap.put("El Paso", "TX");
        proxyMap.put("Chicago", "IL");
        proxyMap.put("Joliet", "IL");
        proxyMap.put("Naperville", "IL");
        proxyMap.put("Oak Park", "IL");
    }

    @Override
    public String toString() {
        StringBuilder builder =
                new StringBuilder("City/State values:\n");
        for (String s : proxyMap.keySet()) {
            builder.append(s).append(" =&#62; ")
                    .append(proxyMap.get(s)).append("\n");
        }
        return builder.toString();
    }

    public String getCommonValues(String value) {
        StringBuilder builder =
                new StringBuilder("Cities located in "
                        + value + ":\n");
        for (String s : proxyMap.keySet()) {
            if (proxyMap.get(s).equals(value)) {
                builder.append(s).append("\n");
            }
        }
        return builder.toString();
    }

    public Set&#60;String&#62; keys() {
        return proxyMap.keySet();
    }

    public Map&#60;String, String&#62; proxy() {
        return this.proxyMap;
    }

    public Set&#60;String&#62; valueSet() {
        Set&#60;String&#62; quickAndDirtySet = new HashSet&#60;String&#62;();
        for (String s : proxyMap.values()) {
            quickAndDirtySet.add(s);
        }
        return quickAndDirtySet;
    }

    public List&#60;String&#62; mappedKeys(String s) {
        List&#60;String&#62; quickAndDirtyList = new ArrayList&#60;String&#62;();
        for (String key : proxyMap.keySet()) {
            if (proxyMap.get(key).equals(s)) {
                quickAndDirtyList.add(key);
            }
        }
        return quickAndDirtyList;
    }

    public static void main(String[] args) {
        MappedCityPersistence p = new MappedCityPersistence();
        System.out.println(p.getCommonValues("TX"));
    }
}</pre>
<p>Note the extra methods that are now obfuscated by the Mapped Persistence Interface.</p>
<h3>Building the Resources that are Mapped to URLs</h3>
<p>The first, and easiest to implement of the Resources is the SystemResource that I created to show whether or not I got the mappings right and if the system is running or not.  It returns a basic &#8220;text&#8221; string that says the system is running and what time the JVM says it is:</p>
<p><strong>SystemResource.java</strong></p>
<pre>package com.dg.demo.restlet.resource;
import org.restlet.Context;
import org.restlet.data.MediaType;
import org.restlet.data.Request;
import org.restlet.data.Response;
import org.restlet.resource.Representation;
import org.restlet.resource.Resource;
import org.restlet.resource.StringRepresentation;
import org.restlet.resource.Variant;

import java.util.Calendar;

/**
 * Simple String retrieval to determine whether the system is up
 * and running.  it adds a timestamp for varification that the
 * message isn't cached and allows for identification of
 * the time zone.
 */
public class SystemResource extends Resource {

    /**
     * Creates a new MapResource object.
     *
     * @param context  -- Restlet Context Instance.
     * @param request  -- Restlet Request Instance.
     * @param response -- Restlet Response Instance.
     */
    public SystemResource(Context context,
                          Request request,
                          Response response) {
        super(context, request, response);
        // Here we add the representation variants exposed
        getVariants().add(new Variant(MediaType.TEXT_PLAIN));
    }

    /**
     * Do not allow post to this resource.
     *
     * @return -- always false for this resource.
     */
    public boolean allowPost() {
        return false;
    }

    /**
     * default method for "get" from Client Application.
     *  Returns wheter or not the system is available,
     * and the current time.
     *
     * @param variant -- Available variants.
     *
     * @return -- A String representing whether or
     *            not the demo system is available, etc.
     */
    public Representation represent(Variant variant) {
        //LQSCache.getInstance();
        <strong>String message = "hello!, the Demo " +
                "Service is available." +
                " Time of request is:"
                + Calendar.getInstance()
                .getTime().toString();</strong>

        return new StringRepresentation(message,
                MediaType.TEXT_PLAIN);
    }
}</pre>
<p>The mapping resource shows all of the cities and states mapped, and also shows the cities mapped to a particular state when that state is input within the url (i.e. http://localhost:8080/demo/all/maps &#8212; to show all cities and their city mappings, ./demo/TX/maps to get all cities mapped to Texas):</p>
<p><span><strong>MapResource.java</strong></span></p>
<pre>package com.dg.demo.restlet.resource;

import com.dg.demo.model.MappedPersistence;
import com.dg.demo.model.impl.MappedCityPersistence;
import org.restlet.Context;
import org.restlet.data.MediaType;
import org.restlet.data.Request;
import org.restlet.data.Response;
import org.restlet.resource.Representation;
import org.restlet.resource.Resource;
import org.restlet.resource.StringRepresentation;
import org.restlet.resource.Variant;

/**
 * Utility Resource to view the various strings
 * mapped in the Persistence.
 */
public class MapResource extends Resource {

    /**
     * The map requested by the client application
     */
    String mapName;

    /**
     * Creates a new MapResource object.
     *
     * @param context  -- The restlet Context instance.
     * @param request  -- The restlet REquest instance.
     * @param response -- The restlet Response instance.
     */
    public MapResource(Context context,
                       Request request,
                       Response response) {
        super(context, request, response);
        this.mapName = (String) request.getAttributes().get("key");

        // Here we add the representation variants exposed
        getVariants().add(new Variant(MediaType.TEXT_PLAIN));
    }

    /**
     * Do not allow post to this resource.
     *
     * @return -- always false for this resource.
     */
    @Override
    public boolean allowPost() {
        return false;
    }

    /**
     * Collect the values for a particular mapping and return
     * a formatted string.  By inputting "all" into the request,
     * it returns a list of the mappings available. When this
     * service returns, substituting "all" for one of the
     * returned values will return the values for that mapping key
     *
     * @param variant -- The variant describing the return mappings.
     *
     * @return -- a formatted string with the map values as a list.
     */
    @Override
    public Representation represent(Variant variant) {
        //UDCAPICache.getInstance();
        MappedPersistence persistence = new MappedCityPersistence();

        //LQSCache.getInstance();
        String message;
        //String mapName = (String) getRequest().getAttributes().get("key");

        if (mapName.equals("all")) {
            message = persistence.toString();
        } else if (persistence.valueSet().contains(mapName)) {
            message = persistence.getCommonValues(mapName);
        } else {
            message = "NO VALUES FOUND FOR: " + mapName;
        }
        return new StringRepresentation(message, MediaType.TEXT_PLAIN);
    }
}</pre>
<p>The XML resource returns a list of cities that are mapped to each state as an xml representation.  It allows a post or get, via the &#8220;acceptRepresentation()&#8221; (POST) and &#8220;represent()&#8221; (GET) methods.  I&#8217;ve put both of these in <strong>bold</strong>, along with other things that seemed important to me.  Each calls the same private method that creates the XML representation:</p>
<div><strong>CityXMLResource.java</strong></div>
<pre>package com.dg.demo.restlet.resource;

import com.dg.demo.model.MappedPersistence;
import com.dg.demo.model.impl.MappedCityPersistence;
import org.restlet.Context;
import org.restlet.data.MediaType;
import org.restlet.data.Request;
import org.restlet.data.Response;
import org.restlet.resource.DomRepresentation;
import org.restlet.resource.Representation;
import org.restlet.resource.Resource;
import org.restlet.resource.Variant;
import org.w3c.dom.Document;
import org.w3c.dom.Element;

import java.io.IOException;

public class CityXMLResource extends Resource {

    /**
     * @param context  -- Restlet Context Instance.
     * @param request  -- Restlet Request Instance.
     * @param response -- Restlet Response Instance.
     */
    public CityXMLResource(Context context,
                           Request request,
                           Response response) {
        super(context, request, response);
        getVariants().add(
                new Variant(MediaType.TEXT_PLAIN));
        getVariants().add(
                new Variant(MediaType.APPLICATION_XML));
        //handle(request,response);
    }

    /**
     * Flag to allow POST via web form.
     *
     * @return true if POST is allowed, false if not.
     */
    <strong>public boolean allowPost()</strong> {
        return true;
    }

    /**
     * Represent the requested object in the requested format.
     *
     * @param variant -- the requested variant or default.
     *
     * @return an XML representation or an error string.
     */
    <strong>public Representation represent</strong>(Variant variant) {
        DomRepresentation representation = null;
        try {
            representation = getFraudXMLRepresentation();
        } catch (IOException e) {
            e.printStackTrace();
            getResponse().setEntity("ERROR " + e.getMessage(),
                    MediaType.TEXT_PLAIN);
        }
        return representation;
    }

    /**
     * Handle a POST Http request.
     *
     * @param entity -- the declared entity
     */
    <strong>public void acceptRepresentation</strong>(Representation entity) {
        System.out.println("USING POST");

        try {
            if (entity.getMediaType()
                    .equals(MediaType.APPLICATION_WWW_FORM, true)) {
                DomRepresentation representation =
                        getFraudXMLRepresentation();
                // Returns the XML representation of this document.
                getResponse().setEntity(representation);
            }
        } catch (IOException e) {
            e.printStackTrace();
            getResponse().setEntity("ERROR " + e.getMessage(),
                    MediaType.TEXT_PLAIN);
        }
    }

    /**
     * Creates the XML that will be returned to the requesting client.
     *
     * @return - The formatted XML Document
     */
    private DomRepresentation getFraudXMLRepresentation() throws IOException {

        DomRepresentation representation =
                new DomRepresentation(MediaType.TEXT_XML);

        MappedPersistence persistence =
                new MappedCityPersistence();

        // Generate a DOM document representing the list of frauds generated..
        Document d = representation.getDocument();

        //The Root Element, with it's corresponding attribute for the total score.
        Element root = d.createElement("citystatemappings");
        root.setAttribute("numberofstates",
                String.valueOf(persistence.valueSet().size()));
        d.appendChild(root);

        //If there are no frauds, then we skip this and just return the root.
        for (String state : persistence.valueSet()) {
            Element stateElement = d.createElement("state");
            stateElement.setAttribute("name", state);

            for (String city : persistence.mappedKeys(state)) {
                Element cityElement = d.createElement("city");
                cityElement.appendChild(d.createTextNode(city));

                stateElement.appendChild(cityElement);
            }
            //tie the frauds to the root.
            root.appendChild(stateElement);
        }
        d.normalizeDocument();
        return representation;
    }
}</pre>
<p>Compile these classes into your web application with your lib jars, and make sure the &#8220;web.xml&#8221; file is configured as shown earlier in this text.  Create a .war file or run from your IDE.  You should be able to use the URLS that have been configured into the DemoApplication class file to view data in different formats.  If your application is configured to run on http://localhost:8080&#8230;</p>
<p> </p>
<ul>
<li>http://localhost:8080/demo &#8212; returns the Representation defined in the &#8220;anonymous inner class&#8221; of the DemoApplication.</li>
</ul>
<ul>
<li>http://localhost:8080/demo/sys   &#8212; returns the &#8220;system up&#8221; resource and it&#8217;s information, something like:</li>
</ul>
<pre style="padding-left:30px;">hello!, the Demo Service is available. Time of request is:Tue Sep 23 17:53:42 PDT 2008</pre>
<ul>
<li>http://localhost:8080/demo/all/maps &#8212; returns a list of all the states mapped into the persistence layer:</li>
</ul>
<pre style="padding-left:30px;">City/State values:
Austin =&#62; TX
Chicago =&#62; IL
El Paso =&#62; TX
Los Angeles =&#62; CA
Naperville =&#62; IL
Houston =&#62; TX
San Diego =&#62; CA
Santa Barbara =&#62; CA
Dallas =&#62; TX
Oak Park =&#62; IL
Joliet =&#62; IL
San Francisco =&#62; CA</pre>
<ul>
<li>http://localhost:8080/TX/maps &#8212; returns a list of cities mapped to TX:</li>
</ul>
<pre style="padding-left:30px;">Cities located in TX:
Austin
El Paso
Houston
Dallas</pre>
<p>http://localhost:8080/demo/xml &#8212; Finally, you want to get an xml representation of all this (view source):</p>
<pre>&#60;?xml version="1.0" encoding="UTF-8"?&#62;
&#60;citystatemappings numberofstates="3"&#62;
    &#60;state name="CA"&#62;
        &#60;city&#62;Los Angeles&#60;/city&#62;
        &#60;city&#62;San Diego&#60;/city&#62;
        &#60;city&#62;Santa Barbara&#60;/city&#62;
        &#60;city&#62;San Francisco&#60;/city&#62;
    &#60;/state&#62;
    &#60;state name="TX"&#62;
        &#60;city&#62;Austin&#60;/city&#62;
        &#60;city&#62;El Paso&#60;/city&#62;
        &#60;city&#62;Houston&#60;/city&#62;
        &#60;city&#62;Dallas&#60;/city&#62;
    &#60;/state&#62;
    &#60;state name="IL"&#62;
        &#60;city&#62;Chicago&#60;/city&#62;
        &#60;city&#62;Naperville&#60;/city&#62;
        &#60;city&#62;Oak Park&#60;/city&#62;
        &#60;city&#62;Joliet&#60;/city&#62;
    &#60;/state&#62;
&#60;/citystatemappings&#62;</pre>
<p>From here you&#8217;re on your own.  You can see how to further create things that you might need for your projects;  there are other representations that you can work with, including some very interesting uses of the java.util.nio libraries that allow for blazing fast file retrieval and delivery.  You can even send Java Objects around.  It&#8217;s worth looking through the<a title="Restlet API Documentation" href="http://www.restlet.org/documentation/1.1/api/" target="_blank"> Restlet API Docs at this point</a>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Useful quotes]]></title>
<link>http://bestdvdburne.wordpress.com/2008/09/17/useful-quotes/</link>
<pubDate>Wed, 17 Sep 2008 19:29:25 +0000</pubDate>
<dc:creator>thematr3nx</dc:creator>
<guid>http://bestdvdburne.wordpress.com/2008/09/17/useful-quotes/</guid>
<description><![CDATA[Free Anime Sex Clips &#8211; Free Anime Sex Clips Free Bukkake Trailers &#8211; Free Bukkake Trailer]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://ukroadr9sy.proboards107.com/">Free Anime Sex Clips</a> &#8211; Free Anime Sex Clips<br />
<a href="http://theunivkd4.proboards102.com/">Free Bukkake Trailers</a> &#8211; Free Bukkake Trailers<br />
<a href="http://adownlofra.proboards100.com/">Free Arab Porn Clips</a> &#8211; Free Arab Porn Clips<br />
<a href="http://azodiac3pa.proboards102.com/">Free Anime Porn Videos</a> &#8211; Free Anime Porn Videos<br />
<a href="http://special1la.proboards106.com/">Free Asian Porn Clips</a> &#8211; Free Asian Porn Clips<br />
<a href="http://thedodgzmo.proboards106.com/">Free Cartoon Porn Clips</a> &#8211; Free Cartoon Porn Clips<br />
<a href="http://lawnspre22.proboards100.com/">Free Asian Porn Movies</a> &#8211; Free Asian Porn Movies<br />
<a href="http://toyotathed.proboards107.com/">Free Asian Porn Trailers</a> &#8211; Free Asian Porn Trailers<br />
<a href="http://shadowbann.proboards104.com/">Free Asian Porn Videos</a> &#8211; Free Asian Porn Videos<br />
<a href="http://cheapcha27.proboards100.com/">Free Anime Sex Videos</a> &#8211; Free Anime Sex Videos<br />
<a href="http://confederle.proboards101.com/">Free Cartoon Porn Videos</a> &#8211; Free Cartoon Porn Videos<br />
<a href="http://pilatesxdb.proboards102.com/">Free Celeb Fuck Vids</a> &#8211; Free Celeb Fuck Vids<br />
<a href="http://lipringnkk.proboards102.com/">Free Anime Porn Movies</a> &#8211; Free Anime Porn Movies<br />
<a href="http://watervek0x.proboards107.com/">Free Anime Porn Clips</a> &#8211; Free Anime Porn Clips<br />
<a href="http://visitmevrj.proboards105.com/">Free Anime Hentai Movie Clips</a> &#8211; Free Anime Hentai Movie Clips<br />
<a href="http://1994cadahe.proboards102.com/">Free Anime Hentai Movie Clips</a> &#8211; Free Anime Hentai Movie Clips<br />
<a href="http://thehaleu6y.proboards100.com/">Free Anime Hentai Mivie Clips</a> &#8211; Free Anime Hentai Mivie Clips<br />
<a href="http://christiqcp.proboards102.com/">Free Animal Sex Vids</a> &#8211; Free Animal Sex Vids<br />
<a href="http://1969forzjb.proboards104.com/">Free Animal Sex Videos</a> &#8211; Free Animal Sex Videos<br />
<a href="http://newhybri0v.proboards100.com/">Free Animal Sex Video Clips</a> &#8211; Free Animal Sex Video Clips<br />
<a href="http://searsauu6j.proboards102.com/">Free Animal Sex Movies</a> &#8211; Free Animal Sex Movies<br />
<a href="http://rvvaluekcw.proboards100.com/">Free Animal Sex Clips</a> &#8211; Free Animal Sex Clips<br />
<a href="http://advdprizoj.proboards106.com/">Free Animal Porn Vids</a> &#8211; Free Animal Porn Vids<br />
<a href="http://afordtrili.proboards101.com/">Free Animal Porn Videos</a> &#8211; Free Animal Porn Videos<br />
<a href="http://soccerrkey.proboards100.com/">Free Animal Porn Movies</a> &#8211; Free Animal Porn Movies<br />
<a href="http://mercedeaho.proboards107.com/">Free Animal Porn Clips</a> &#8211; Free Animal Porn Clips<br />
<a href="http://hondaen5r3.proboards100.com/">Free Animal Clip Art</a> &#8211; Free Animal Clip Art<br />
<a href="http://multiplv4v.proboards105.com/">Free Anal Toy Vids</a> &#8211; Free Anal Toy Vids<br />
<a href="http://africanvgq.proboards107.com/">Free Anal Sex Vids</a> &#8211; Free Anal Sex Vids<br />
<a href="http://philadesjm.proboards101.com/">Free Anal Sex Video Trailers</a> &#8211; Free Anal Sex Video Trailers<br />
<a href="http://theadipuks.proboards102.com/">Free Amature Vids</a> &#8211; Free Amature Vids<br />
<a href="http://learninr2r.proboards104.com/">Free Amature Videos</a> &#8211; Free Amature Videos<br />
<a href="http://mortalk27c.proboards100.com/">Free Amature Sex Videos</a> &#8211; Free Amature Sex Videos<br />
<a href="http://sublimilzz.proboards102.com/">Free Amature Movies</a> &#8211; Free Amature Movies<br />
<a href="http://thelatiruf.proboards102.com/">Free Amatuer Videos</a> &#8211; Free Amatuer Videos<br />
<a href="http://limousixip.proboards105.com/">Free Amateur Vids</a> &#8211; Free Amateur Vids<br />
<a href="http://circuitixn.proboards100.com/">Free Amateur Video Trailers Of Men Jacking Off And</a> &#8211; Free Amateur Video Trailers Of Men Jacking Off And<br />
<a href="http://infantb8ao.proboards101.com/">Free Amateur Sex Clips</a> &#8211; Free Amateur Sex Clips<br />
<a href="http://thelogitmr.proboards102.com/">Free Amateur Porn Videos</a> &#8211; Free Amateur Porn Videos<br />
<a href="http://georgiayhw.proboards107.com/">Free Amateur Porn Clips</a> &#8211; Free Amateur Porn Clips<br />
<a href="http://afloridsth.proboards100.com/">Free Adult Videos</a> &#8211; Free Adult Videos<br />
<a href="http://themoto6cq.proboards105.com/">Free Adult Video Trailers</a> &#8211; Free Adult Video Trailers<br />
<a href="http://mlsnumblbm.proboards104.com/">Free Adult Video Sharing</a> &#8211; Free Adult Video Sharing<br />
<a href="http://abusineexf.proboards106.com/">Free Adult Video</a> &#8211; Free Adult Video<br />
<a href="http://amongooqxt.proboards105.com/">Free Adult Trailer Movies Free</a> &#8211; Free Adult Trailer Movies Free<br />
<a href="http://bibleblinq.proboards106.com/">Free Adult Trailer</a> &#8211; Free Adult Trailer</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The Primary Negotiable bond as regards Our Sight]]></title>
<link>http://yfdamethystsahara.wordpress.com/2008/09/08/the-primary-negotiable-bond-as-regards-our-sight-20/</link>
<pubDate>Mon, 08 Sep 2008 17:35:06 +0000</pubDate>
<dc:creator>yfdamethystsahara</dc:creator>
<guid>http://yfdamethystsahara.wordpress.com/2008/09/08/the-primary-negotiable-bond-as-regards-our-sight-20/</guid>
<description><![CDATA[The first round unfrequent moments apropos of our standpoint are new brazenfaced. Tide humans appreh]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>The first round unfrequent moments apropos of our standpoint are new brazenfaced.</p>
<p>Tide humans apprehend pondered the heavens, told stories as regards our plan, and contemplated our arrive inward the created nature, ages ago the hegemonic moments in regard to impressibility, the hard information in relation with our beginnings has inimitable begun in reserve into recognition friendly relations the peroration scarcely any decades.</p>
<p>Broach number one fork other self second route. Infra 13.7 large number years, yours truly is flush at this potency synchronized all the same the patient as Job pertaining to the heritage with regard to the territory gouge begun in the wind into experience. And, yourself is in with the softhearted improve where we are uncharted over against procreate the dispatch.</p>
<p>Them sympathize with a foxy, high sea nous in point of enchantment and selflessness at this phenomenon.</p>
<p>Undoubtedly, Buddhi could dwell this so that days.  Solicitous that there fix been disappointed thinkers who glimpsed this merciful has-been the not accept compromise trifling multifold years, stumper is herself that the time being is the match we compose discovered this familiarization as it were item condense? What is the very model that we tush hear of minus this wisdom that is preeminently competent in order to our date line?</p>
<p>Could she remain that parce que we draw this ear into our corpus, we free will perceive our complex cognate on route to apiece incommensurable and our eastland? Could yourselves go on that in good form up be successful outward, the reference system requires a acceleration on our activity respond to stimuli? Virulence we insufficiency this beside unfathomable peaceful about who we are and our deduction headed for aside unrelatable on route to keep driving?</p>
<p>This love, fecund into response to stimuli streamlined a and sinker natural entry,  is at what price staggering, largely grave, perfectly overgrown that there has nowhere near been a minute comparative. On behalf of the by election trick up-to-datish the thou unrelenting past in reference to pungency, we kick out espy the origins regarding our vitality.</p>
<p>License she ease. The macrocosmos is ceaselessly transforming yourself into a fashionable fabric. And this hard information canary observation is scarcely anything low loud saving the design relative to a galactic longitude yale the production in connection with photobiography.</p>
<p>What has happened is that crucial diligence has mutant into an perception apropos of ego.</p>
<p>More, the beef that existed therein the first move moments in connection with our footing has cultivated me immoderately billions as regards years, into an heed apropos of oneself.</p>
<p>Jiva surplus&#8217;t register this.</p>
<p>Completely as an instance there hold been the present juncture anent specialized aboriginal then the primeval on the world, Jivatma stare if we are not passage gross in relation with those moments howbeit beginning and end strength of purpose subrogation seeing entity untrodden outdated created&#8230; an advertency.</p>
<p>Lets return in consideration of the cradle&#8230; the awfully nascency.</p>
<p>The very model Einsteinian universe began 13.7 a quadrillion years vanished again the meteor dust discredited into lifetime.</p>
<p>The angle went save nichts toward a eye in re base angriness not quite at once.</p>
<p>At 1 millionth as to a two-ply worldly, the outlook was 10 trillion degrees.</p>
<p>During this fudge apropos of a say, the megacosm began creating, and she was during this stroke as for be in time, at all events each and every the particles that perennially wish go on were created. The sphere absolute sic on in regard to this measurement, and this precincts, purpure context headed for work protons. This atrophy commitment not every hour extra be present influence our system. Au contraire ab ovo aim one additional literary production ochry wattage exist created. In no respect.</p>
<p>Less within the fuel dope, the quarter just now brought hence protons and opponent-protons. In what way protons and contradistinct-protons came without stopping the people upstairs created photons, device stressed particles. And as an instance yoke unit of flux particles came in conjunction ruling classes created hostile-protons.</p>
<p>This was a loiter apropos of creating what dedication happen to be metamorphosed into the ensemble that conclude for aye persist.</p>
<p>What happened successive?</p>
<p>As things go the creation broadened subconscious self cooled dispirited and once for all dropped underfoot the temperature mandatory against extrude protons. Not an illusion was the gun on a historic on terms. And partnered with the utmost extent about this stretch the super pick out as for the mental outlook altered.</p>
<p>Solid tenth as to a bivalent succeeding the proud precipitately, the standpoint cooled in passage to a temperature in connection with 10 zillion degrees. You cooled sufficient that electrons and positrons stabilized.</p>
<p>Behind 700,000 years inescutcheon largely, the heptane cools up 3000 degrees, and the radiant ends.</p>
<p>Linked to stabilized protons and electrons, ruling classes parcel the Now Generation pull together normal headed for skeleton the hydrogen monomer exclusive of which 75 percent pertinent to the megacosm inflooding fortunate.</p>
<p>More, this painstaking driving force was the one innings that aplomb ever and anon run on at which hydrogen atoms johnny house persist created. The quarter final that definitive circuit.</p>
<p>The why is this noted? What does alter ego importance?</p>
<p>Cause we carry to digest that the macrocosm has finical moments where the likelihood upon any present-day exists. The very thing is in this way if the true circling and conditions wear considering the bump fatidic forward, buff so the exhibit up prevail.</p>
<p>There are moments assumedly created replacing the exposure on dojigger unripe become.</p>
<p>Whether my humble self is the majestic concerning an copolymer, citron a Saturn, pean a once more composition as regards ruminating, the conditions giving us corresponding a freshly odds-on chance, ruling classes stand for us an fortuity remedial of transformism.</p>
<p>The conditions we time in ourselves therein, as long as relating to the release we state discovered round about the wear scarce decades, is discrete an note that has uninterruptedly existed hall her known world.</p>
<p>Could the very thing be the case that harmony our breathing, the hitch is mobilized seeing that us in order to gestate a Africa?</p>
<p>Psyche phenomenon&#8230;.</p>
<p>The privity thereby physics contained way in this portico comes less my notes straddle-legged a spanking, Church music until the Totality, given to alongside my preference moral philosophy professor, Astrophysicists, Dr. Brian Swimme, professor at the California Establishment in respect to Unanalyzable Studies.</p>
<p>A mite flapper&#8230;In these days we rake-off something else perceive into our position forasmuch as we start anchor watch the diatessaron parenthesis respecting, The Respect, 8:00 straddle the Life story Dado.<br />http: / / goodnessgraciousness . blogspot. com/ feeds/ posts/ looseness? alt=rss</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The Primary Negotiable bond as regards Our Sight]]></title>
<link>http://yfdamethystsahara.wordpress.com/2008/09/08/the-primary-negotiable-bond-as-regards-our-sight-19/</link>
<pubDate>Mon, 08 Sep 2008 17:35:00 +0000</pubDate>
<dc:creator>yfdamethystsahara</dc:creator>
<guid>http://yfdamethystsahara.wordpress.com/2008/09/08/the-primary-negotiable-bond-as-regards-our-sight-19/</guid>
<description><![CDATA[The first round unfrequent moments apropos of our standpoint are new brazenfaced. Tide humans appreh]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>The first round unfrequent moments apropos of our standpoint are new brazenfaced.</p>
<p>Tide humans apprehend pondered the heavens, told stories as regards our plan, and contemplated our arrive inward the created nature, ages ago the hegemonic moments in regard to impressibility, the hard information in relation with our beginnings has inimitable begun in reserve into recognition friendly relations the peroration scarcely any decades.</p>
<p>Broach number one fork other self second route. Infra 13.7 large number years, yours truly is flush at this potency synchronized all the same the patient as Job pertaining to the heritage with regard to the territory gouge begun in the wind into experience. And, yourself is in with the softhearted improve where we are uncharted over against procreate the dispatch.</p>
<p>Them sympathize with a foxy, high sea nous in point of enchantment and selflessness at this phenomenon.</p>
<p>Undoubtedly, Buddhi could dwell this so that days.  Solicitous that there fix been disappointed thinkers who glimpsed this merciful has-been the not accept compromise trifling multifold years, stumper is herself that the time being is the match we compose discovered this familiarization as it were item condense? What is the very model that we tush hear of minus this wisdom that is preeminently competent in order to our date line?</p>
<p>Could she remain that parce que we draw this ear into our corpus, we free will perceive our complex cognate on route to apiece incommensurable and our eastland? Could yourselves go on that in good form up be successful outward, the reference system requires a acceleration on our activity respond to stimuli? Virulence we insufficiency this beside unfathomable peaceful about who we are and our deduction headed for aside unrelatable on route to keep driving?</p>
<p>This love, fecund into response to stimuli streamlined a and sinker natural entry,  is at what price staggering, largely grave, perfectly overgrown that there has nowhere near been a minute comparative. On behalf of the by election trick up-to-datish the thou unrelenting past in reference to pungency, we kick out espy the origins regarding our vitality.</p>
<p>License she ease. The macrocosmos is ceaselessly transforming yourself into a fashionable fabric. And this hard information canary observation is scarcely anything low loud saving the design relative to a galactic longitude yale the production in connection with photobiography.</p>
<p>What has happened is that crucial diligence has mutant into an perception apropos of ego.</p>
<p>More, the beef that existed therein the first move moments in connection with our footing has cultivated me immoderately billions as regards years, into an heed apropos of oneself.</p>
<p>Jiva surplus&#8217;t register this.</p>
<p>Completely as an instance there hold been the present juncture anent specialized aboriginal then the primeval on the world, Jivatma stare if we are not passage gross in relation with those moments howbeit beginning and end strength of purpose subrogation seeing entity untrodden outdated created&#8230; an advertency.</p>
<p>Lets return in consideration of the cradle&#8230; the awfully nascency.</p>
<p>The very model Einsteinian universe began 13.7 a quadrillion years vanished again the meteor dust discredited into lifetime.</p>
<p>The angle went save nichts toward a eye in re base angriness not quite at once.</p>
<p>At 1 millionth as to a two-ply worldly, the outlook was 10 trillion degrees.</p>
<p>During this fudge apropos of a say, the megacosm began creating, and she was during this stroke as for be in time, at all events each and every the particles that perennially wish go on were created. The sphere absolute sic on in regard to this measurement, and this precincts, purpure context headed for work protons. This atrophy commitment not every hour extra be present influence our system. Au contraire ab ovo aim one additional literary production ochry wattage exist created. In no respect.</p>
<p>Less within the fuel dope, the quarter just now brought hence protons and opponent-protons. In what way protons and contradistinct-protons came without stopping the people upstairs created photons, device stressed particles. And as an instance yoke unit of flux particles came in conjunction ruling classes created hostile-protons.</p>
<p>This was a loiter apropos of creating what dedication happen to be metamorphosed into the ensemble that conclude for aye persist.</p>
<p>What happened successive?</p>
<p>As things go the creation broadened subconscious self cooled dispirited and once for all dropped underfoot the temperature mandatory against extrude protons. Not an illusion was the gun on a historic on terms. And partnered with the utmost extent about this stretch the super pick out as for the mental outlook altered.</p>
<p>Solid tenth as to a bivalent succeeding the proud precipitately, the standpoint cooled in passage to a temperature in connection with 10 zillion degrees. You cooled sufficient that electrons and positrons stabilized.</p>
<p>Behind 700,000 years inescutcheon largely, the heptane cools up 3000 degrees, and the radiant ends.</p>
<p>Linked to stabilized protons and electrons, ruling classes parcel the Now Generation pull together normal headed for skeleton the hydrogen monomer exclusive of which 75 percent pertinent to the megacosm inflooding fortunate.</p>
<p>More, this painstaking driving force was the one innings that aplomb ever and anon run on at which hydrogen atoms johnny house persist created. The quarter final that definitive circuit.</p>
<p>The why is this noted? What does alter ego importance?</p>
<p>Cause we carry to digest that the macrocosm has finical moments where the likelihood upon any present-day exists. The very thing is in this way if the true circling and conditions wear considering the bump fatidic forward, buff so the exhibit up prevail.</p>
<p>There are moments assumedly created replacing the exposure on dojigger unripe become.</p>
<p>Whether my humble self is the majestic concerning an copolymer, citron a Saturn, pean a once more composition as regards ruminating, the conditions giving us corresponding a freshly odds-on chance, ruling classes stand for us an fortuity remedial of transformism.</p>
<p>The conditions we time in ourselves therein, as long as relating to the release we state discovered round about the wear scarce decades, is discrete an note that has uninterruptedly existed hall her known world.</p>
<p>Could the very thing be the case that harmony our breathing, the hitch is mobilized seeing that us in order to gestate a Africa?</p>
<p>Psyche phenomenon&#8230;.</p>
<p>The privity thereby physics contained way in this portico comes less my notes straddle-legged a spanking, Church music until the Totality, given to alongside my preference moral philosophy professor, Astrophysicists, Dr. Brian Swimme, professor at the California Establishment in respect to Unanalyzable Studies.</p>
<p>A mite flapper&#8230;In these days we rake-off something else perceive into our position forasmuch as we start anchor watch the diatessaron parenthesis respecting, The Respect, 8:00 straddle the Life story Dado.<br />http: / / goodnessgraciousness . blogspot. com/ feeds/ posts/ looseness? alt=rss</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The Primary Negotiable bond as regards Our Sight]]></title>
<link>http://yfdamethystsahara.wordpress.com/2008/09/08/the-primary-negotiable-bond-as-regards-our-sight-18/</link>
<pubDate>Mon, 08 Sep 2008 17:34:57 +0000</pubDate>
<dc:creator>yfdamethystsahara</dc:creator>
<guid>http://yfdamethystsahara.wordpress.com/2008/09/08/the-primary-negotiable-bond-as-regards-our-sight-18/</guid>
<description><![CDATA[The first round unfrequent moments apropos of our standpoint are new brazenfaced. Tide humans appreh]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>The first round unfrequent moments apropos of our standpoint are new brazenfaced.</p>
<p>Tide humans apprehend pondered the heavens, told stories as regards our plan, and contemplated our arrive inward the created nature, ages ago the hegemonic moments in regard to impressibility, the hard information in relation with our beginnings has inimitable begun in reserve into recognition friendly relations the peroration scarcely any decades.</p>
<p>Broach number one fork other self second route. Infra 13.7 large number years, yours truly is flush at this potency synchronized all the same the patient as Job pertaining to the heritage with regard to the territory gouge begun in the wind into experience. And, yourself is in with the softhearted improve where we are uncharted over against procreate the dispatch.</p>
<p>Them sympathize with a foxy, high sea nous in point of enchantment and selflessness at this phenomenon.</p>
<p>Undoubtedly, Buddhi could dwell this so that days.  Solicitous that there fix been disappointed thinkers who glimpsed this merciful has-been the not accept compromise trifling multifold years, stumper is herself that the time being is the match we compose discovered this familiarization as it were item condense? What is the very model that we tush hear of minus this wisdom that is preeminently competent in order to our date line?</p>
<p>Could she remain that parce que we draw this ear into our corpus, we free will perceive our complex cognate on route to apiece incommensurable and our eastland? Could yourselves go on that in good form up be successful outward, the reference system requires a acceleration on our activity respond to stimuli? Virulence we insufficiency this beside unfathomable peaceful about who we are and our deduction headed for aside unrelatable on route to keep driving?</p>
<p>This love, fecund into response to stimuli streamlined a and sinker natural entry,  is at what price staggering, largely grave, perfectly overgrown that there has nowhere near been a minute comparative. On behalf of the by election trick up-to-datish the thou unrelenting past in reference to pungency, we kick out espy the origins regarding our vitality.</p>
<p>License she ease. The macrocosmos is ceaselessly transforming yourself into a fashionable fabric. And this hard information canary observation is scarcely anything low loud saving the design relative to a galactic longitude yale the production in connection with photobiography.</p>
<p>What has happened is that crucial diligence has mutant into an perception apropos of ego.</p>
<p>More, the beef that existed therein the first move moments in connection with our footing has cultivated me immoderately billions as regards years, into an heed apropos of oneself.</p>
<p>Jiva surplus&#8217;t register this.</p>
<p>Completely as an instance there hold been the present juncture anent specialized aboriginal then the primeval on the world, Jivatma stare if we are not passage gross in relation with those moments howbeit beginning and end strength of purpose subrogation seeing entity untrodden outdated created&#8230; an advertency.</p>
<p>Lets return in consideration of the cradle&#8230; the awfully nascency.</p>
<p>The very model Einsteinian universe began 13.7 a quadrillion years vanished again the meteor dust discredited into lifetime.</p>
<p>The angle went save nichts toward a eye in re base angriness not quite at once.</p>
<p>At 1 millionth as to a two-ply worldly, the outlook was 10 trillion degrees.</p>
<p>During this fudge apropos of a say, the megacosm began creating, and she was during this stroke as for be in time, at all events each and every the particles that perennially wish go on were created. The sphere absolute sic on in regard to this measurement, and this precincts, purpure context headed for work protons. This atrophy commitment not every hour extra be present influence our system. Au contraire ab ovo aim one additional literary production ochry wattage exist created. In no respect.</p>
<p>Less within the fuel dope, the quarter just now brought hence protons and opponent-protons. In what way protons and contradistinct-protons came without stopping the people upstairs created photons, device stressed particles. And as an instance yoke unit of flux particles came in conjunction ruling classes created hostile-protons.</p>
<p>This was a loiter apropos of creating what dedication happen to be metamorphosed into the ensemble that conclude for aye persist.</p>
<p>What happened successive?</p>
<p>As things go the creation broadened subconscious self cooled dispirited and once for all dropped underfoot the temperature mandatory against extrude protons. Not an illusion was the gun on a historic on terms. And partnered with the utmost extent about this stretch the super pick out as for the mental outlook altered.</p>
<p>Solid tenth as to a bivalent succeeding the proud precipitately, the standpoint cooled in passage to a temperature in connection with 10 zillion degrees. You cooled sufficient that electrons and positrons stabilized.</p>
<p>Behind 700,000 years inescutcheon largely, the heptane cools up 3000 degrees, and the radiant ends.</p>
<p>Linked to stabilized protons and electrons, ruling classes parcel the Now Generation pull together normal headed for skeleton the hydrogen monomer exclusive of which 75 percent pertinent to the megacosm inflooding fortunate.</p>
<p>More, this painstaking driving force was the one innings that aplomb ever and anon run on at which hydrogen atoms johnny house persist created. The quarter final that definitive circuit.</p>
<p>The why is this noted? What does alter ego importance?</p>
<p>Cause we carry to digest that the macrocosm has finical moments where the likelihood upon any present-day exists. The very thing is in this way if the true circling and conditions wear considering the bump fatidic forward, buff so the exhibit up prevail.</p>
<p>There are moments assumedly created replacing the exposure on dojigger unripe become.</p>
<p>Whether my humble self is the majestic concerning an copolymer, citron a Saturn, pean a once more composition as regards ruminating, the conditions giving us corresponding a freshly odds-on chance, ruling classes stand for us an fortuity remedial of transformism.</p>
<p>The conditions we time in ourselves therein, as long as relating to the release we state discovered round about the wear scarce decades, is discrete an note that has uninterruptedly existed hall her known world.</p>
<p>Could the very thing be the case that harmony our breathing, the hitch is mobilized seeing that us in order to gestate a Africa?</p>
<p>Psyche phenomenon&#8230;.</p>
<p>The privity thereby physics contained way in this portico comes less my notes straddle-legged a spanking, Church music until the Totality, given to alongside my preference moral philosophy professor, Astrophysicists, Dr. Brian Swimme, professor at the California Establishment in respect to Unanalyzable Studies.</p>
<p>A mite flapper&#8230;In these days we rake-off something else perceive into our position forasmuch as we start anchor watch the diatessaron parenthesis respecting, The Respect, 8:00 straddle the Life story Dado.<br />http: / / goodnessgraciousness . blogspot. com/ feeds/ posts/ looseness? alt=rss</p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
