Writing a small internal presentation on REST, I got a little curious..
I know the WWW is the largest implementation of REST, and that REST was defined alongside HTTP 1.1, but are there any other implementations of the architectural style, besides HTTP?
Thinking of magic triangle of REST:
- Content-Type (representation)
- Uniform interface (operations)
- Nouns (the subjects the uniform-interface works on)
I can only see protocols or tools which take some of the principles but not all of them.
Example SQL
E.g. SQL has a uninform interface (DELETE,SELECT,INSERT,UPDATE) and kind of nouns (table + columns) but hasn't the representation part in its core (e.g. no way to say 'SELECT .... AS application/xml'.
As far as I have seen, HTTP is the "best" example implementing Rest-principles. To me HTTP is a perfect example how simplicity and powerfulness come together.
By definition, REST is not coupled/bound to HTTP as its communication protocol. There might be some other protocols suitable for REST, such as Waka.
No, there aren't. The Web is the only one.
But if you are interested, it might be worthwhile to study other architecturally sound architectures. All the transfer protocols out there make good examples: SMTP, FTP, NNTP, (more?)
The UNIX command line is also an excellent thing to study architecturally (but that's pipe and filter).
Jan