Add notes on SOA

My notes on SOA that I emailed around.
I know a couple of guys who have used it internally. Amazon's Product API search kind of is. One of the better examples is [FoxyCart](http://www.foxycart.com/). It was a couple of years ago that Luke put in most of the work, but he's really happy he went that route. There's a lot of other examples out there as well. 
Here are some concrete examples from some of the bigger players:
  - Amazon is using HAL for their AppStream API (http://www.infoq.com/news/2014/03/amazon-hal-appstream).
  - Netflix uses in their API http://developer.netflix.com/docs/REST_API_Conventions
  - Paypal's REST APIs are hypermedia as well (https://developer.paypal.com/docs/api/#hateoas-links)

They all do it a little differently, but the main point is that they are providing links to other resources. I honestly think that we'll start by following json-api pretty closely. Find some issues, and slowly come around to something that works well for us. I think APIs are one of those things (like agile development) that is a little bit different for everyone. Different companies are just different and using machines to describe those companies and their workflows changes with each company. 

While I was writing this response I happened to write down a couple of other random thoughts as well :smile::

Hypermedia though is really just the modern evolution of WSDLs. Instead of separating the describing document (contract) from the responses, you combine them into a single that is the response.

It also decouples teams. By being self-describing, you don't need to ask another team where a resource lives. If it's important and has already been implemented, it should be described in the API itself. 

Fielding also says that we should do it :smile: http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven