As an after-thought to my last response to Doug, I thought I’d just say a quick word about “documents”, which Doug likes to talk about.
A document is state (the S in REST). Look in any file folder (the kind in the filing cabinet), document storage system, archived tape, or heck, any file system, and you will find chunks of state. What you won’t see in any of these are “methods”. If you encapsulate the state within a “method” wrapper, then what you have is no longer a document, because it carries with it intent; state does not.
If document transfer is your objective, then REST is what you need (and maybe some more constraints on top).