[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: REST as RPC done right


rest asynchronicity
2/27/2002 11:42:10 AM, "Simon St.Laurent" <simonstl@s...> wrote:


>From my perspective (XMLChucker etc.), REST still looks like RPC.  It
>looks, however, like RPC done far more thoughtfully than usually. 
>Building REST applications requires some thought beyond slapping a
>translator onto an API, and it looks like that thought process is
>valuable.
>
>Does that seem like a reasonable summary?  I don't mind saying REST is
>better RPC.  I have a hard time saying that REST is not RPC.

Well, as you point out on your O'Reilly weblog, XML is not
Aristotelian -- there's not a whole lot of point in trying to
find the cleavage point that cleanly separates RPC from REST :~)

They are alternative architectural styles, and the style's 
aesthetics [I'm sure there's a better word] help shape the
way one looks at the world. REST's aesthetics put a premium on
minimizing the number of "functions" that are remotedly invoked,
and allowing only new ones (e.g. QUERY, TAKE, LOCK/UNLOCK) that
can be defined as combinations of the primitive methods.  Likewise,
it puts a premium on identifying a "resource" via the URI rather
than the "arguments" to the POST "function".

RPC's aesthetics put a premium on minimizing the impedance 
mismatch between programming languages and the web, "hiding the
network" as a number of people here have said.

Neither fully live up to the aesthetics in practice.  For REST,
I'd guess (from the QUERY discussion on the TAG list) that lots
of people are struggling with the reality that query strings
can easily get longer than the URI's that the current web
infrastructure will gracefully handle. For RPC, various minor
hacks to deal with the latency unreliability of the web are
needed (generating a thread to wait for the result of the RPC
call?  Setting up a back-channel for an event-based notification?)

So, I think you've basically got it, but we all need to accept that
this is a "fuzzy" distinction.  With RPC, you hope that the
vendor of your web service "translator" toolkit has coped with the 
latency and unreliability of the Web in an adequate way; with REST,
you have to think about it at the application level, using 
the "raw" web interfaces.

"Where you stand depends on where you sit."  Folks who want to 
sell translator toolkits obviously see a big market in RPC so
that programmers can stop worrying and learn to love the web;
folks who have invested in understanding the Web paradigm and
in developing toolkits that exploit REST (e.g., XPipe, 
RogueWave Ruple, Software AG EntireX Mediator) 
want programmers to stop worrying and learn
to love asynchronicity. 

Since my employer is firmly in both camps, I'm going to waffle :~)






PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.