The basic concept of web services is so simple that it is easy to miss the revolutionary impact it will have on the world of software. The internet is an easy-to-use ubiquitous communications system that is based on widely accepted industry standards that enable millions of computers worldwide to communicate regardless of what operating system (OS) they run.
Web services leverages this infrastructure to allow software components to communicate with each other in order to create new services. The vision is that web services will enable new super applications to be created at a low cost by pulling together services from a range of computers connected using web technologies. Today bringing together such disparate systems involves a major investment in proprietary middleware technology. Components brought together with web services are loosely coupled, which means they can be easily re-arranged without breaking the underlying logic, while current methods of integration are tightly integrated based on the use of application program interface.
As Maurice Martin, lead developer with Microsoft Ireland, puts it: “Web services make the internet useful to software in the same way that the browser made the internet useful to humans.”
While web services may be that simple in theory the reality, as with everything in the software industry, is hugely more complex. Web services are based on four key software standards — XML (extensible markup language), SOAP (simple object access protocol), WSDL (web services descript language) and UDDI (universal description, discovery and integration). XML is the language used to describe all web services communications as it is not tied to any one OS or programming language. SOAP is the actual implementation of XML used as it is a lightweight protocol.
WSDL is how a web service describes itself so that other web services can invoke it, while UDDI is a directory of available web services that can be queried by other web services.
Crucial to the success of web services is that the industry comes together and creates open standards to ensure interoperability. But with so much at stake it’s not surprising there has been jockeying for position through a variety of bodies that are setting standards.
The two main bodies involved in setting the standards are the World Wide Web Consortium (W3C), which oversees the development of web technologies, and Organisation for the Advancement of Structured Information Standards (OASIS), an organisation that sets standards for e-business, although other bodies such as WS-I (Web Service Interoperability) and the Sun-sponsored Java Community Process also have a part to play.
The problem with this consensus-based approach is that it is very slow — web services have been around for five years yet only the most basic features have been agreed on. The timing probably didn’t help — the downturn in technology spending hit just as the technology began to mature and the market was sceptical about new software that claimed to be a panacea.
“The leadership from W3C on web services has been disappointing,” says Eric Newcomer, chief technology officer (CTO) of Iona Technologies. “We joined four years ago to work on web services and were involved in submitting the SOAP specification but W3C hasn’t taken the initiative since then.”
The standard that has received most interest recently is WS-Security, which will ensure the confidentiality and integrity of messages sent using web services and looks set to be ratified by OASIS members next month. Sean McGrath, CTO of Irish XML software company Propylon, believes that security standards can only go so far as large aspects of security are nothing to do with technology. “Technology can only solve the least critical parts of the problem,” he says. “A lot of it is to do with identity management as you need to be able to bind actions to people. There’s only so much you can do with technology — you need people and processes as well.”
John McGuire, senior vice-president with Cape Clear, which produces software to enable web services, believes there is actually too much focus on standards. “People aren’t buying technology for technology’s sake,” he explains. “The decision to buy web services is driven by the business — to fix the supply chain or give better service to a customer.”
Newcomer also believes the public spats over standards are distracting. “The competition should be over who has better implementation of a standard rather than who is going to own a particular part of the technology stack,” he says.
That’s a tactic that Microsoft has been accused of in the past but in this instance the software giant seems willing to play ball. According to Martin, the next release of Windows, code-named Longhorn, will feature Indigo – a “web services sub-system”.
McGrath believes there is “a lot of smart stuff” in Indigo. “The killer observation of Microsoft was to adopt a message-oriented approach. Simplicity works every time but that is a hard lesson for a lot of engineering folk to take on.” McGrath also believes that if web services are hard to implement it benefits proprietary tools vendors who charge large fees for their software. “If a message-oriented approach is adopted you can use tools around HTTP that are a fraction of the cost,” explains McGrath. “The big guys are running scared, which is why they are trying to add complexity to the web services stack.”
“The software industry needs to change just as other industries such as shipping and manufacturing have standardised,” says Newcomer. “The basic interoperability is there and the competition is now going to be over higher level standards.”
Next week: The current state of web services and how businesses are using them
By John Collins