tags:

views:

63

answers:

2

I'm looking into applying the REST architectural style to a binary network protocol and I am getting hung up on how to identify server resources in a manner that would be true to the style, probably because I'm used to looking at URIs.

For example, would an address-port pair qualify as a resource identifier; assuming one resource per pair? In this case the resource isn't really identified in the request explicitly.

Does anyone have any experience with making a non-web-based REST protocol?

A: 

If you are concerned about things like network ports etc., you should probably consult IETF "standards" since I believe they must have covered this ground: don't they need to unambiguously identify that sort of resource? Anyhow, the SNMP MIBs might be of inspiration for your work.

Just a suggestion.

jldupont
+1  A: 

You are correct that REST is independent of HTTP and URIs. Here is an example of a RESTful system that uses HTTP and JMS (RESTful ESB), while not a direct map to your application, but it might give you some ideas.

Think of an identifier as an opaque text value that can resolve within an address space to an endpoint that can provide a representation of the resource and you have what you need. When I give presentations on REST I demonstrate a system using identifiers such as:

fib(3)

and

1/4

to illustrate that URIs are not essential to a REST system.

Randy Kahle