SOAP an its ilk seem the easiest solution at first glance. Say I've got a server that can blat a frobnitz, what could be simpler than supplying a pair of functions?<p><pre><code>  int[] GetBlattableFrobnitzIDs();
  void BlatFrobnitz(int frobnitzId);
</code></pre>
Two functions that just magically appear when you point your IDE at a server and tell it to automatically generate a proxy class. Simple!<p>What's the REST alternative? Getting the list of IDs is okay, but how do you give a "blat" instruction? Until you've experienced REST in anger, its not obvious what you need to do.<p>Go beyond superficial uses and REST shines, but a beginner used to calling library functions might not see it.