<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Bit Mojo - Hiram Chirino &#187; rest</title>
	<atom:link href="http://hiramchirino.com/blog/tag/rest/feed/" rel="self" type="application/rss+xml" />
	<link>http://hiramchirino.com/blog</link>
	<description>My Ramblings on Hawt Tech</description>
	<lastBuildDate>Mon, 26 Jul 2010 16:30:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>RestyGWT, a Better GWT RPC??</title>
		<link>http://hiramchirino.com/blog/2009/10/restygwt-a-better-gwt-rpc/</link>
		<comments>http://hiramchirino.com/blog/2009/10/restygwt-a-better-gwt-rpc/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 23:50:38 +0000</pubDate>
		<dc:creator>Hiram Chirino</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[resty-gwt]]></category>
		<category><![CDATA[rpc]]></category>

		<guid isPermaLink="false">http://hiramchirino.com/blog/?p=63</guid>
		<description><![CDATA[If your familiar with GWT RPC, then you you know that it&#8217;s it&#8217;s provides a very nice client side framework for doing AJAX requests against Java Servlets.  The sad part is that it uses a binary protocol.  That protocol is not easily understood by other languages or frameworks.
Counter that with latest AJAX rage, RESTful services [...]]]></description>
			<content:encoded><![CDATA[<p>If your familiar with <a href="http://code.google.com/webtoolkit/doc/1.6/DevGuideServerCommunication.html#DevGuideRemoteProcedureCalls" onclick="pageTracker._trackPageview('/outgoing/code.google.com/webtoolkit/doc/1.6/DevGuideServerCommunication.html_DevGuideRemoteProcedureCalls?referer=');">GWT RPC</a>, then you you know that it&#8217;s it&#8217;s provides a very nice client side framework for doing AJAX requests against Java Servlets.  The sad part is that it uses a binary protocol.  That protocol is not easily understood by other languages or frameworks.</p>
<p>Counter that with latest AJAX rage, RESTful services with a JSON or XML representation of the data.  The nice thing about using JSON with REST services is that clients and servers can easily be built it any language.  Wouldn&#8217;t it be nice if you use JSON RESTful services from GWT with the ease of GWT RPC?</p>
<p>That&#8217;s exactly the reason I started hacking on <a href="http://github.com/chirino/resty-gwt" onclick="pageTracker._trackPageview('/outgoing/github.com/chirino/resty-gwt?referer=');">RestyGWT</a>.  It uses a very similar development model as GWT RPC.  You create a service interface who&#8217;s implementation is code generated via Deferred Binding when your GWT module is built.  The developer maps the interface methods to RESTful HTTP requests using the excelent <a href="https://jsr311.dev.java.net/nonav/releases/1.0/index.html" onclick="pageTracker._trackPageview('/outgoing/jsr311.dev.java.net/nonav/releases/1.0/index.html?referer=');">JAX-RS</a> annotations.  Just like in GWT RPC, the interface must be &#8216;asynchronous&#8217;.  You must use callback method arguments to get the request results.  But unlike GWT RPC, the data sent and received will be JSON encoded.  <a href="http://github.com/chirino/resty-gwt" onclick="pageTracker._trackPageview('/outgoing/github.com/chirino/resty-gwt?referer=');">RestyGWT</a> will automatically code generate JSON encoders and decoders for any classes sent or received from the rest service.</p>
<p>For more details see the Git Hub home page at: <a href="http://github.com/chirino/resty-gwt" onclick="pageTracker._trackPageview('/outgoing/github.com/chirino/resty-gwt?referer=');">http://github.com/chirino/resty-gwt</a></p>
<p>As of this point, RestyGWT only implements the most basic JAX-RS annotations and provides a very simple JSON encoding scheme.  Despite that, the project is already extremely useful.  I would love here what folks think about it.</p>
]]></content:encoded>
			<wfw:commentRss>http://hiramchirino.com/blog/2009/10/restygwt-a-better-gwt-rpc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mapping Beans to REST</title>
		<link>http://hiramchirino.com/blog/2006/05/mapping-beans-to-rest/</link>
		<comments>http://hiramchirino.com/blog/2006/05/mapping-beans-to-rest/#comments</comments>
		<pubDate>Mon, 22 May 2006 19:36:00 +0000</pubDate>
		<dc:creator>Hiram Chirino</dc:creator>
				<category><![CDATA[Integration]]></category>
		<category><![CDATA[rest]]></category>

		<guid isPermaLink="false">http://hiramchirino.com/wordpress/2006/05/mapping-beans-to-rest/</guid>
		<description><![CDATA[I&#8217;m one of those guys that thinks that REST is great technology.  Sure, REST is does not do everything that SOAP can do, but I think that REST is built to be SIMPLE, something that SOAP and it&#8217;s WS-* buddies forgot about.
What we are missing is a good standard way to map REST to [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m one of those guys that thinks that REST is great technology.  Sure, REST is does not do everything that SOAP can do, but I think that REST is built to be SIMPLE, something that SOAP and it&#8217;s WS-* buddies forgot about.</p>
<p>What we are missing is a good standard way to map REST to the simple POJO programming model that most of the Java industry has been quickly adopting.  Seems <a href="http://netzooid.com/blog/2006/05/22/an-attempt-at-a-rest-programming-model/" onclick="pageTracker._trackPageview('/outgoing/netzooid.com/blog/2006/05/22/an-attempt-at-a-rest-programming-model/?referer=');">SeXFire Dan</a> has good start on a way of <a href="http://netzooid.com/blog/2006/05/22/an-attempt-at-a-rest-programming-model/" onclick="pageTracker._trackPageview('/outgoing/netzooid.com/blog/2006/05/22/an-attempt-at-a-rest-programming-model/?referer=');">doing that</a>!</p>
<p>Dan if you read this, I would make it even simpler if by default the method names for a service are determined by convention.  For example, for a given XService, the methods: </p>
<div class="code">getX(&#8230;) : is automatically mapped to a HttpMethod.GET<br />deleteX(&#8230;): is automatically mapped to a HttpMethod.DELETE<br />addX(&#8230;): is automatically mapped to HttpMethod.POST<br />updateX(&#8230;): is automatically mapped to a HttpMethod.PUT</div>
]]></content:encoded>
			<wfw:commentRss>http://hiramchirino.com/blog/2006/05/mapping-beans-to-rest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
