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

RE: REST made more concrete


things made of concrete
> From: Mike Champion [mailto:mc@x...]

<snip/>

> I found the recent discussion on the REST discussion list very
> helpful in understanding how REST-ful web services could
> work.  See Paul Prescod's sketch of a WSDL-ish spec for
> REST-ful specification of a web service
> http://groups.yahoo.com/group/rest-discuss/message/725
> 
> and a very interesting post later in the thread analyzing how
> a purchase order approval application might be specified in REST terms
> http://groups.yahoo.com/group/rest-discuss/message/734
> 
> This definitely helped me wrap my head around how one would
> actually use this in practice.

I recently worked through some thought exercises trying to relate REST to
the sorts of models I've used in the past building business applications
(looking more at the implementation side of things than the protocol side of
things). To some degree, REST seems to offer a real opportunity for tools
vendors. A very typical approach in web development is to have a number of
components (EJBs or COM components, for instance) that handle the actual
business processing of an application, but to rely upon name/value pairs
attached to a session object (correlated with the client via a cookie) to
track the components in use. I've always hated this approach -- not because
it violates REST, but because it does a lousy job of solving the problems it
is supposed to solve for me. Allowing the client to reference resources
rather than simply a "session", and associating state with individual
resources seems like it could offer a richer model for developers to work
with in developing web applications.

It also seems to me that a tool or framework geared toward this approach
could benefit from the sort of archetypes used in EJB applications. For
instance, EJBs are broadly classified into 3 types: StatelessSessionBeans,
StatefulSessionBeans, and EntityBeans. The EJB APIs deliberately obscure
these distinctions, but with REST these distinctions should be explicit. A
common pattern in EJB applications is to have a client always interact with
SessionBeans and not manipulate EntityBeans directly. In a REST-ful
application, you would want an abstraction visible to clients that looks
like a mutable resource (one that could be altered via a PUT). 

So I'm thinking that a REST-ful web development framework would have similar
archetypes for resources -- abstractions defining the interaction points
with a client, each uniquely identified by a URI. There would be three
categories of resources -- immutable resources (stateless services that
always looks the same), transient resources (typically created by an
immutable resource as part of a workflow -- the URIs referencing such a
resource will expire once the workflow is complete, or the referenced
resource is otherwise no longer valid), and mutable/persistent resources
(whose state can be altered via a PUT). The framework would have facilities
for easily managing the lifecycle of the resource components and the URIs
associated with them (as well as generating unique URIs for transient
resources). Alternatively, it may make sense to use two orthogonal
characteristics: mutable/immutable, and transient/persistent.

I'm still absorbing REST, so I hope I'm interpreting things correctly. But
if so, it seems to me that a framework along these lines could be a great
aid to developers. It could also help broaden mindshare for REST by
providing a framework that offers real value to developers -- namely a
better way for modeling complex applications than that promoted by
session-based toolkits.

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.