What would be the pros and cons of these architectures?
By RPC I meant remote procedure call services like WCF, WebServices etc.
Then on the other side, there's the more message oriented frameworks such as MSMQ, NServiceBus, ServiceStack etc.
Then there is the hybrid approach such as WebAPI, which is some sort of a remote Active Record Pattern (Out of the box it only supports a very limited number of verbs such as "Get", "Put" "Post" etc.).
Disregarding, how it's actually implemented (aka. I don't really care about durability, transaction etc. because all that can be implemented regardless of the abstraction), what would be the benefits and drawbacks of these abstractions?
Again, no low level implementation details please, I just want the difference in terms of sound architecture, best patterns and practices, or even circumstances that would be most appropriate to employ each and why.