Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I heard it said that REST is "document-centric". Unclear what this meant, I began poking around and found the term document-oriented being used of databases, particularly NoSQL databases, and in contrast to a barebones key-value store. Thus it seems that documented-orientation of databases has to do with their internal representations being JSON or XML; I saw on the Wikipedia page that many document-oriented databases claim to support a RESTful API, but not having experience with any NoSQL databases and also being new to REST, I'm unsure what that means (the database itself is directly accessible through a service?); and anyway, as far as I know, REST does not constrain the underlying data model of an application, but only its service contract.

So what does it mean to say that REST is document-centric/oriented? Does it mean that REST constrains a service to use JSON or XML in its contract? Does it mean that REST is more friendly towards NoSQL databases than conventional relational databases?

share|improve this question
They just really didn't want to use the word object because it's already poisoned (for good reason). – Jimmy Hoffa May 28 '13 at 20:27
up vote 2 down vote accepted

Document-centric means that it doesn't require static schema. This is usually done by saving data in platform-agnostic format using many data-serializing methods like JSON and XML. This allows easy development and versioning, but makes it harder to validate each object.

share|improve this answer
For robustness: So what would be the contrasting term, when a schema is required? Are there examples of a SOA architecture that is not document-centric? – Kazark May 30 '13 at 2:34
@Kazark Oposite is when transfer/persistence requires defined schema. For databases, this is represented by relational model. For web services it is whole SOAP alongside it's WSDL. – Euphoric May 30 '13 at 6:15
Okay, great. Sometimes the contrast is what is needed for a clearer understanding. If you like, maybe you can add that to your answer. – Kazark May 30 '13 at 16:19

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.