Help coderanch get a
new server
by contributing to the fundraiser
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

REST API Design Rulebook - design

 
Ranch Hand
Posts: 573
2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Mark,
This is a twofer .

Do you consider REST more of a design concept ie. manipulating data through resource allocation -(get, put,delete, post)
or more of a specific technology?

Thanks,
Paul
 
author and iconoclast
Posts: 20
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

paul nisset wrote:Hi Mark,
This is a twofer .

Do you consider REST more of a design concept ie. manipulating data through resource allocation -(get, put,delete, post)
or more of a specific technology?

Thanks,
Paul



Greetings Paul,

I see the Web as a programming platform with REST as its constraints. So, I guess it is a little of both. It offers a set of base concepts like resources, link relations, and representational entities with links. With the interaction constraints that are implemented with HTTP/1.1 and tied to these core, primitive concepts - the Web is a framework/platform for building a variety of client-server applications.

Does that answer make sense or is it more confusing? I am happy to clarify my mental model for REST further if you'd like.

-Mark


 
paul nisset
Ranch Hand
Posts: 573
2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Is that what your book focuses on, implementing an API for working with the constraints ?

Clarifying your model for REST would be interesting.

Thanks.
 
Mark Masse
author and iconoclast
Posts: 20
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

paul nisset wrote:Is that what your book focuses on, implementing an API for working with the constraints ?

Clarifying your model for REST would be interesting.

Thanks.



No problem. Together, this web page and this slide deck are an attempt to present my current mental model of REST and what it means to building modern client-server applications.

I also recently wrote an article for ProgrammableWeb.com that talks about how the WRML media type adds a simple, universal type identifier (a schema URI) to the REST "slot" that it already belongs (the Content-Type HTTP Header). It turns out that this idea enables a whole bunch of "frameworky bits" to be invented which makes our jobs as web application programmers much easier.

I am happy to help clarify anything that you find at these links.
 
paul nisset
Ranch Hand
Posts: 573
2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks Mark.
The concepts are straight forward enough .The devil is in the details.
I'll check it your links .
 
Mark Masse
author and iconoclast
Posts: 20
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

paul nisset wrote:Thanks Mark.
The devil is in the details.



Totally. The implementation has eluded me for a long time but I think I am starting to wrangle the code-level design almost to the point where I want it.

If you are a Java guy, you might find it helpful to peek at the code itself. This class is still "very fresh", meaning a work-in-progress, but it is a central part of the Java rendition of WRML - so it will probably make sense to start here. Anyway, take a peek if you can spare the time and let me know what you think. There are some javadoc comments that will hopefully help make sense of this.

https://github.com/wrml/wrml-prototype/blob/master/src/main/java/org/wrml/RuntimeModel.java
 
paul nisset
Ranch Hand
Posts: 573
2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Cool .
I'll check out the code.

It will be interesting to see an implementation.
thanks.
 
Do not meddle in the affairs of dragons - for you are crunchy and good with ketchup. Crunchy tiny ad:
We need your help - Coderanch server fundraiser
https://coderanch.com/t/782867/Coderanch-server-fundraiser
reply
    Bookmark Topic Watch Topic
  • New Topic