Will the combined hurricane forces of Web 2.0 mashups and SOA rip away the chains of tyrannical software vendors? And, are enterprises ready to take the plunge into the Web 2.0 and SOA stew?
Last week, fellow ZDNet blogger and mashup maven David Berlind posted this interesting perspective on the convergence of service-oriented architecture and the mashup phenomenon.
In mashups, applications are unleashed and integrated in new and interesting ways with other types of applications. That's also the guiding philosophy in SOA, in which applications are broken down into granularized service components that can be mixed and matched with other services as business needs demand. And, theoretically, could be assembled on the fly by the business folks, versus sending work orders to the IT department. And, theoretically, such services can come from outside the walls of the enterprise.
"People providing software over the Internet are starting to understand the law of unintended uses. Great Web sites... open up their functionality and data to anyone who wants to use their services as their own. This allows people to reuse, and re-reuse a thousand times over, another service's functionality in their own software for whatever reasons they want, in ways that couldn't be predicted. The future of software is going to be combining the services in the global service landscape into new, innovative applications. Writing software from scratch will continue to go away because it's just too easy to wire things together now.
Dion has also speculated that Web 2.0 may, for all intents and purposes, be a global-scale SOA that is quickly evolving. "Low barriers to reuse, frictionless integration, widespread reuse -- these are the mantras of Web 2.0," he said. These are also the mantras to SOA.
So, we'll call this trend 'Mashups as a Service' (MaaS). But, alas, there are issues.
David points out, for example, that all the new and innovative services created in the mashup blender have the potential to run amok, with few guarantees as to their uptime, security, or performance.
This is not music to the ears of enterprises, which prefer to keep tight and accountable control of resources. Currently, most SOA efforts are internal, and few organizations have achieved what can be considered fully functioning SOAs anyway. Enterprises are still building their first generation of Web services, and are still getting their arms around the issues of governance, versioning, orchestration, reducing spaghetti networks, security, and service-level agreements for SOA components.
Once these issues are addressed -- and they will be, one by one -- externally published services may increasingly become vital parts of the enterprise. As I've pointed out in previous posts, enterprises large and small are evolving into loosely coupled businesses in their own right. But the confidence level is not quite there yet. Witness the "public" UDDI registries that recently were shut down, which pointed to a lot of outdated or abandoned services.
In his blog post, David points out that end-users from the banking and government sectors have questions about "the management of user IDs across domains (when a mashup involves multiple APIs each of which relies on its own identity management technology) as well as the reliability of public components. ...enterprise architects want to know what Google and Yahoo are doing to ensure the uptime of the relevant APIs." David notes that the latter concern is a particularly relevant question given the outages being suffered by Salesforce.com.
There's no doubt that there will be continuing growth among enterprises relying on external services as part of a Web 2.0 ecosphere. But each enterprise will also continue to function as its own self-contained ecosphere of services as well. Business users and developers will be able to assemble applications either from their own repositories, or look to on-demand services available from an outside vendor or partner. When that happens, that will be the mother of all mashups.