I am in a position where I can create a new web service from scratch - without significant prior infrastructure that you have to deal with. What resources exist that talk about the architectural aspects of deploying a web service? [Explanation: I'm not talking about SOA targeting enterprises here, but rather, setting up one family of services for the public.]
The first list of topics that I would like to consider are as follows:
- SOAP vs. REST
- JSON vs. XML
- Relational database supported versus SimpleDB supported vs?
- Scaling
- Availability
- Access restriction models
- Models for throttling.
What would you recommend?