I really like the way SalesForce setup its REST API. The intuitive nature makes it simple and unnecessarily complex. Two main principles are involved. The first is the URL path to the SalesForce object. Next is the JSON serialization of that object posted to the URL. That’s it. SalesForce knows if it is an update insert, delete, or anything else. The reverse is true also. GET from the URL path to the object and de-serialize from the JSON string. Of course NOQL queries can be uses as well with the same technique. CRUD interfaces for the standard objects can be built in less than an hour on an MVC platform. Next to Entity Framework or Hibernate this is about as the easiest ORM one has to create manually.
I have worked with the SOAP services also and find it cumbersome in not only in overhead, but serialization of objects and security. These web services rely on before and after triggers which in themselves require some time to create, test and maintain. SalesForce, requires a minimum code coverage before any trigger changes can be pushed to production. This, over time, becomes an additional task and will diminish an organization’s agility during growth spirts.
For quick easy and reliable SalesForce integration, the REST API is the way to go.