I'm building a framework and want developers who build with it to have the ability to allow parts of it to both share data with other sites and allow other sites to add/edit/delete data.
For example, if someone makes a site that has book reviews, authors, quotes, code examples, comments, etc. the developer could make e.g. "book reviews" read-only for other sites and "comments" readable by other sites and writable by certain sites/users. The idea is to use the framework to build applications that can easily be interconnected with other applications.
I envision enabling all interaction with the site via POST and GET which would look something like this:
- /books.php?category=ruby (returns an XML collection of books about ruby)
- /books.php?id=23 (returns the XML for a specific book)
- /books.php?action=add&title=AdvancedRuby&description=....&securityId=923847203487
- /books.php?action=delete&id=342&securityId=923847203487
Other applications could also "discover and consume" what a certain site has to offer by doing this:
- /discover.php (returns XML of all public classes and actions available)
Really this is all I need to enable the framework to be a way for developers to quickly create loosely connected sites.
What I want to know is, before I begin implementing this, are there significant/interesting parts of REST that I do not yet understand which I should be building into the framework, e.g.:
- REST requires GET, POST, PUT and DELETE. Why would I ever need "PUT" and "DELETE"? Am I locking myself out from taking advantage of some standard if I dont' use these?
- My "discover.php" file functions similarly to a WSDL file in web services. I am surprised in descriptions of REST there seems to be no standardized way of discovering t