Enabling Web Services
Very interesting paper by Phil Windley (via Gregor Rothfuss).
Like Gregor, I'm going to list the principles discussed in the paper here - they're worth trying to remember:
- Every data record and collection is a resource.
- Every resource should have a URI.
- Cool URI’s don’t change.
- Data queries on existing resources should be done with a GET.
- Use POST to create new resources.
- Preserve the structure of data until the last possible moment (i.e. return XML).
- Make XML Schemas available online for your XML.
- Make data available in multiple flavors.
- Use Metadata (RDF) for XML.
- Document your service API using WSDL, WRDL, or some other standard.
- Advertise the presence of the data using WSIL.
- Adhere to data standards such as RSS where available.
- Use HTTP authentication as much as possible.