What Exactly is the R in Resource-Oriented-Architectures?

As all of you know, one of the core concept of the Web of Things is design of RESTful things, that is having embedded devices proposing their services in a Resource-Oriented manner.

Today, once again, somebody was asking me but what is exactly a resource? Well good question! We all know (hem) what an Object is in Object Oriented Programming, we all know (hem HEM, yeah right!) what a service is in Service Oriented Architectures but what is a resource in a ROA?

I had this discussion with a good friend of mine (and a very good OO architect!) let’s name him, Patrik Fuhrer. His answer was that a resource is “information”.

I would extend this definition by mixing it with the definition of Leonard Richardson and Sam Ruby (guys I never go anywhere without your book anymore). Inspired from their definition I would say a resource is:

Something, that can and that’s worth, getting a URI and links.

(For the records: updated according to Erik’s comment, used to be: Information, that can and that’s worth, getting a URI and links)

Now what do you think? I’m interested in your definitions. This might seem like a quite un-useful question but actually understanding that can greatly help us know where to stop creating resources.

Let’s say I have RFID tag read by some reader, i.e. an RFID event. Is the time at which the event was taken a resource itself or a part of the “event” resource. Should the information returned be entirely atomic, namely: the RFID event is a resource and every component of it is, in turn a resource. Or should we simply represent the time as part of the event.

Waiting for your input…

You may also like...