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…