(Note: This column is part of an ongoing series on “India’s Next Decade”. Over the next few columns, I have compiled a series of notes from various writers on what Kevin Werbach has called the Next WWW: Web Services, Weblogs and WiFi. Later, I will provide the context of how this is the set of opportunities our generation has to build new companies, and perhaps, a new India.)
Web Services are the new building blocks for software applications. They allow software components to talk to each other across machines (across the network), and thus enable the building of distributed complex applications. Web Services are built on standards: XML, SOAP, WSDL and UDDI. Think of Web Services as software Lego.
Writes David Bunnel in Upside (April 2002):
Driven by new software standards that add intelligence to the static world of HTML and change the way software is created and distributed, the next revolution is the Internet revisited. It is a much more powerful, more broadly distributed Internet that some call the “second-generation Internet” or, for short, “Internet II.”
Internet II is based on the Extensible Markup Language (XML) software standard. XML has been adopted by the entire software industry. It has, in turn, spawned related standards, including simple object access protocol (SOAP); universal description, discovery, and integration (UDDI); and Web Services Description Language, which has made it possible to envision a world of multiple digital devices-computers, PDAs, cell phones, Webcams, etc.-running on multiple operating systems yet capable of exchanging data, communicating with one another, and even “understanding” one another.
Proprietary methods of getting incompatible software systems to communicate with one another are doomed. Web services represent a simpler and quicker way to accomplish integration and, as a result, empower IT departments to select the best-of-breed software components without getting locked into any particular systems.Computers and all other intelligent digital devices will have a so-called lingua franca, a common universal language through which they can talk with one another.
Simon London in the Financial Times (January 4, 2002) on Web Services:
The idea behind web services is beguilingly simple: use the internet to publish and deliver modular software to which any number of users can subscribe. These software services may do anything, including currency conversion, credit card validation or production scheduling. For this to work in practice, web services will have to communicate seamlessly with one another, regardless of the programming language in which they are written or the operating environment – mainframe or server computer – on which they run. Only then will it be possible to combine them one with another or use them as bolt-ons to existing IT systems.
If this “interoperability” could be achieved, the implications for the software industry itself would be immense. Software developers would be able to assemble applications – complex software systems such as order management or inventory control on which large companies depend – by assembling web services like building blocks. This should be quicker and cheaper than the prevailing method of writing most software from scratch.
“Web services represent a tectonic shift in the software industry; this is the next wave of computing and we are at the start of a massive 10-year build-out,” says Jason Maynard, an analyst with Wachovia Securities, the investment bank.
A Stencil Group white paper on Web Services provides the larger architectural context:
Service-oriented architectures are distributed. Functional elements of the application are deployed on multiple systems and execute across local and even remote networks. In particular, web services make use of existing, ubiquitous transport protocols like HTTP.
The systems are characterized by loosely coupled interfaces. Traditional application design depends upon a tight interconnection of all subsidiary elements. Loosely coupled systems, on the other hand, require a much simpler level of coordination and allow for more flexible reconfiguration.
The connections are based upon vendor-independent standards. The development of generally open and accepted standards is a key strength of the coalitions that have been building web services infrastructure.
Systems are conceived from a process-centric perspective. By intent, services are designed with a task-orientation; they function as discrete steps in a larger workflow or business process. A well-designed service describes its inputs and outputs in a way that other software can determine what it does, how to invoke its functionality, and what result to expect in return.