Web-Oriented Architecture: five flavours
This page is published under the terms of the licence summarized in footnote 1.
This shallow essay introduces five meanings of WOA.
For Dion Hinchliffe, WOA is largely about REST. Read our REST paper for more detail.
Nick Gall has written thus:
I [coined] the term "WOA", but I humbly acknowledge that Dion Hinchcliffe has done far more to evangelize it than me.
If you'd like to know more about my Gartner's perspective on WOA, check out my blog post on the subject:
If you want even more information, then you'll have to be a Gartner clientJ
Sadly, the links to Nick Gall gave to his blog and Dion Hinchcliffe’s archive have since become broken and therefore removed from this paper.
Here, “the web” stands for the use of internet technologies, and an architecture describes the structure and behaviour of a system, or is a pattern for doing that.
It seems to me that WOA can embrace five things already known as something else, which don’t necessarily relate to each other.
People speak of REST-compliant architectures. This means systems are designed using web technologies to a modular design pattern based on point-to-point connections between many small modules, each identified by a URI and offering only the operations available in a web protocol.
Some align REST with SOA. They suggest a SOA be built using web technologies, using REST as the building regulations, instead of using of enterprise middleware. Dion Hinchcliffe says that WOA (meaning REST) enables systems to be built from the bottom-up, which it does of course. Some beautiful systems may emerge from the bottom-up – by evolutionary development - but you can’t call them architected if there is no architect, no architectural blueprint.
In replies to a question about issues with WOA (in ITtoolbox), Akshaya Bhatia wrote:
“WOA uses Internet as a platform to work upon available web resources in order to help create enterprise level web applications for collaboration. Fundamental idea of implementing WOA (Enterprise Web 2.0) is to use Internet as a platform to knit web resources into applications for enterprise level collaboration.
“How would one build an architecture based on web resources if one is not aware of what are the building blocks and available Internet technologies and what are pros and cons (strengths and weaknesses) for their use in a particular scenario? Practical exposure to Internet technologies would surely help an architect to structure and layout appropriately, the link propagation or navigation plans, mash-ups, web data syndication, search and security mechanisms etc.
“HTTP and XML have been proven to be drivers albeit there are some issues with portability across various operational platforms and off course at client level cross browser compatibility issues. Then there are issues of security both at data and application levels, spy wares, virus and worms threats.
Syndication of web data using ATOM and RSS has already established watershed for WOA adoption.
Also, if consideration is for RIA (Rich Internet applications), Audio or Video streaming applications there are issues of bandwidth constraints particularly in some part of world.
Although there are abundant of mashup tools available for development like Yahoo Pipes, Oracle (ex BEA) Aqualogic, Microsoft Popfly, Apatar, WSO Oxygen Tank mashup etc. still interoperability issues persist for various office applications from different vendors. Other emerging WOA platform to look forward to in coming years is cloud computing.”
When Dion Hinchliffe says WOA supersedes SOA, he surely means WOA supersedes Web Services and SOAP. In discussion by programmers of Service-Oriented Architecture (SOA), the term architecture often refers specifically to platform technologies and protocols that support Web Services.
For me, SOA requires an architect who defines or sanctions which services will be reused, and within what constraints. The particular infrastructure used to implement services is not critical in this view of SOA. SOA can be implemented using Web Services and SOAP, or using REST principles, or using other building materials and regulations.
See “SOA myths and half truths” in the library at http://avancier.co.uk
See “Cloud Computing” in the Library at http://avancier.co.uk.
Much of what people call WOA is already known as something else. And these things don’t necessarily relate to each other.
What are the issues with WOA? First, what do you mean by WOA? Second, issues compared with what? To compare with any alternative design option, an architect has to consider and trade-all the normal NFRs (Throughput, Response time, Reliability, Security, Maintainability etc.).
The pros and cons of WOA depend on what you are comparing it with. Are you comparing building materials (technologies)? Or building regulations (principles)? It may be that the help a Web-Oriented Architect needs lies as much in the analysis, design and politics of modular design, as in the technologies used to implement them. The ownership, funding, performance and version control of modules are the issues that we need to manage. The Web-Oriented Architect needs technology-independent guidance on these matters.
Footnote 1: Creative Commons Attribution-No Derivative Works Licence 2.0
Attribution: You may copy, distribute and display this copyrighted work only if you clearly credit “Avancier Limited: http://avancier.co.uk” before the start and include this footnote at the end.
No Derivative Works: You may copy, distribute, display only complete and verbatim copies of this page, not derivative works based upon it. For more information about the licence, see http://creativecommons.org