"We’re continuing to see more clearly that Web 2.0 and SOA really are largely (but not 100%) the same concepts that merely lay on different — if fairly different — parts of the software continuum." -Dion Hinchliffe
ZDNet colleague Dion Hinchliffe has been watching the mashup developing between SOA and Web 2.0 for some time now. He observes in a new post that both categories share a lot of overlap, as both invoke standards-based services that can reside anywhere across the Web.
SOA and Web 2.0 have more in common than they are different -- and Web 2.0 may play a role in boosting SOA adoption
SOA and Web 2.0 have different constituencies, at least for now -- SOA tends to involve enterprise architects and development shops, while Web 2.0 has more of a consumerist element. This is changing as more Web 2.0 is adopted within enterprises, but Dion also observes that the two also have different centers of gravity:
- "The O’Reilly concept of Web 2.0 tells us that data is one of the most important parts of our software applications these days... SOA tells us that services are the center of composition. That services in a SOA also transport data is also important, but the focus in traditional SOA tends to be much more on the seams of our IT systems than what makes them the most valuable overall. "
Dion speculates that ultimately, SOA may be effectively addressing the plumbing, but not the value of the water that passes through the system. "SOA provides a more engineered, predefined, and formal view, that satisfies perhaps a larger number of important technical criteria but often seems to miss the very point about what matters; that people are central to software and it’s our data that is irreplaceable and of supreme market advantage. And our software or services — necessary as they are — are like electricity and network bandwidth are to our IT systems; essential but not the primary value."
Still, many industry leaders say that enterprises need both the structure of an SOA-type approach and the entrepreneurial energy of a Web 2.0 approach.
I helped prepare collateral analysis for InfoWorld's recent SOA Executive Conference (Here is a link to the report in PDF format) which explored the interplay between SOA and Web 2.0, particularly mashups. As part of this project, I spoke with Miko Matsumura, vice president of product marketing SOA for webMethods, who cautioned against letting mashups run too far amok without governance, as “there is almost a tyranny to structurelessness,” he says. “That kind of model is inherently less agile, flexible, and more expensive, than a model that actually consists of logical constraints.”
Miko added that the constraints SOA governance may impose "should be thought of more as a ‘pivot’ than as a ‘straightjacket.’ If you constrain something along one dimension, it doesn’t mean that it’s not free to move across the other dimension. That’s the balance that SOA represents, which is the IT-business alignment. One side wants to go wild, while the other side wants to buckle down everything.”
Dion pointed out that there are many key elements that SOA and Web 2.0 share, and provided a number of these common points:
- Recombinant software
- Software as Services
- Applications as platforms
- Unintended uses
- Web Oriented Architecture
That last item, Web-Oriented Architecture or WOA, is a key concept, and ultimately may what bring SOA and Web 2.0 together, Dion observes. "One of the biggest arguments against traditional SOA is that there are literally thousands of software platforms and environments that presently exist in the world. And if they don’t speak your unique flavor of SOA (SOAP and WS-*), interoperability with them won’t (and doesn’t) happen."
Dion explains WOA, or "the SOA with reach," in more detail here.
However, Dion adds, "with WOA, anyone that can speak HTTP — the fundamental protocol of the Web — and anyone that can process XML, which is to say just about every tool and platform that exists today, can interoperate and work together simply, safely, and easily and build applications on top of one another services. Importantly, mashups are a key outcome of the trend towards WOA and most mashups are based on REST or REST-like services."
Mashups may become a bigger part of SOA than we realize. As part of the InfoWorld project, I also spoke with Mighael Botha, technology evangelist at Software AG, who put it this way: “I see mashups as being the face of SOA,” he said. “Mashups are something that I can take to a user, and say, ‘Okay, this is a mash-up that shows a single view of a customer within your organization.’ The user might not understand what a mashup is, but when they see that they can get all kinds of data about their customers or products from five or six or seven different systems in the back end.”
Is Web 2.0 ultimately even good for SOA? Ashish Mohindaroo, senior director of Oracle Fusion Middleware, put it this way: “Web 2.0 is all about increased user productivity, and SOA is increased reuse of existing assets. If I'm able to mix and mash different Web site content, to deliver a new page or a new service to my end user, that's a great thing,” he explains. “I can assemble new services which in the past would have taken me a longer time because everything had to be built from scratch.”