Jonathan Altman

Dotcom Thousandaire

August 11, 2008

So I disagree with the way the argument in this post is framed, but I am glad to see the "mainstream" tech press realizing there's a better way to get to SOA:

A growing number of companies are finding that lower-visibility Web-oriented architecture (WOA) developments, spawned through grassroots movements, are a better route to the service-oriented architecture. WOA, like SOA, is an architectural approach to system design, though WOA is resource-oriented rather than service-oriented. What's the difference? While the core SOA design unit is a reusable service that fulfills a distinct business function, resource-oriented services are more limited and data-focused.

SOA and WOA work at different layers of abstraction. SOA is a system-level architectural style that tries to implement new business capabilities so that they can be consumed by many applications. WOA is an interface-level architectural style that focuses on the means by which these service capabilities are exposed to consumers. Governance, quality of service, security, and management are of equal importance, whether the functionality is being delivered via SOA or WOA.

I think the delineation between SOA design units as a service fulfilling a distinct business function and WOA as a resource-oriented service being more limited and data-focused is so much dissembling for SOA being an attempt to force a top-down, waterfall-based model on what services you offer in your architecture versus an iterative or even agile strategy of building the individual services and then gluing them together.

I think SOA was also overblown in the framework for tying them together, which is the root of this problem, and leads to the conclusion I made up above. Put a bunch of webservices out there that handle orthogonal responsibilities, make it easy to access them (personally, preferably with easy HTTP/POX or a light SOAP layer), rather than a huge management stack that services have to a priori fit into, with the up-front design and overhead that comes with it.