Thursday, 6 September 2007
ROA and SOA and Service Contracts
I study service description contracts as a key difference between REST and SOAP, as part of my series comparing Resource Oriented Architectures and Service Oriented Architecture. In the previous article on ROA and SOA I examined what ROA and SOA are as objectively as I could. Now it's time to state some opinions on how the differences play out in an enterprise setting by studying the practical considerations regarding service description contracts with adopting ROA or SOA. These are non-technical considerations that an enterprise has to think about when deciding on what to adopt.
In the previous article, I found three key differences between ROA and SOA:
- Contractual vs Not - SOA offers contractually, discoverable interfaces, while and ROA expects designers to solve problems as they see fit.
- Rich vs Uniform Behavior - ROA has the uniform interface applied with minimally overloading, while SOA provides rich, discoverable behavior
- Differentiation vs Equivalence of Data and Metadata - SOA relies on metadata to inform behavior, while ROA uses connectedness and design time conventions for representations and URI's to blur data and metadata together.
- The server that hosts the service
- The URL path structure to the resource you want
- The required and allowable query parameters after "?" in the URL
- What values are allowable for each parameter
- What type of response you will get back
Technorati Tags: roa soa web-services REST SOAP WSDL interfaces
Posted by at 7:56 PM in the internet, web, web 2.0 and beyond
