by nick
Sat, January 31 2009 13:30
An interesting presentation by Stefan Tilkov on REST and its principles.
I find that many people equate SOA with web-services and in turn, web-services with scalability and flexibility, because the web is scalable and flexible right?
The web really fired the debate about 'stateless' architectures being the key to scalability (actually this is the 'web' taking accolades that strictly belong to http but never mind). This is not so surprising - in the enterprise space, there are many problems of scale and in those enterprises, people's minds are often focused on what they can do to improve it. Http seemed a straightforward way to address this. Hence WS-*. In my opinion though, the scalability of some arbitrary system is a largely an issue for that system internally - it's entirely possible to build 'scalable-enough' systems without Fielding's thesis on your desk.. What often matters more, but is not addressed as aggressively, is the composition of these systems to form more useful composite systems.
The true benefit of a restful approach (for me) is the architectural style that deliberately defines a small number of verbs and a strict model for the use of those verbs. This seems to me to capture the essence of what is required for composition of services, particularly that 80% of composition which is unforseen. The difficulty of post-facto service composition is often what really hinders the emergence of real enterprise architecture and in turn why systems-integration (which is what much of enterprise development often really reduces to) can be such a fraught exercise. Using WS-* to wire your applications together is much like defining standards for electricity cabling and then requiring a unique plug-socket at the end of each individual cable.
0d5ff0b9-d275-43a8-a6c8-23e5fa81d2db|0|.0
Tags: