I've written a web application that my company is using internally for transferring files. It's sort of like an ftp site, but with user accounts, projects and automatic removal of stale files. It's called File Exchange Server, or FES (fez).
I designed it from scratch to be able to be bilingual; it can operate either as a web application and output HTML/CSS, or work as a REST application and provide 'just the facts'. Because of time pressures, I got the web side working fine and rushed it into Production where it's working very well. Now it's time for me to go back and get the REST side working again.
I have a suite of tests that exercises both the web side and the REST side. The REST application test is failing almost immediately because of a page FES jumps to right after log-in that warns the user that some of their files are stale and need attention. There's no equivalent page on the REST side, but this raises an important issue (after three paragraphs, I hope so).
Should the RESTful interface behave exactly like the web interface to an application?
I think the answer is no -- REST is there just to get the facts. The web interface can do anything, because there's a human on the other end. But we're going to be using FES in an automated system, and the automated system wants to get in and get out with a minimum of fuss. It doesn't care about anything that's not relevant to the job at hand, which is a) log in, b) get that file that I came for, and c) log out.
Thoughts?
Update: Correct minor typo.
In reply to Web: interactive, REST: batch? by talexb
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |