The idea behind Web services is simple: send a message across a network that triggers an action at the other end — often at another business. But getting to today’s Web services has required simplifying several complex technologies: client/server, EDI and SGML.
Client/server got its start in 1981, when the founders of an early relational database company wanted to separate the database from the applications that used it. Bob Epstein, Paula Hawthorn and Mike Ubell founded Britton-Lee Inc to make a stand-alone database server called the Intelligent Database Machine (IDM). The idea was for a large computer to send database queries to the IDM for better performance, security and simplicity.
But the IDM’s proprietary hardware couldn’t keep pace with the rapid performance improvements in Unix servers in the 1980s. Epstein soon helped found a new software company that used the same idea without the specialised hardware. Sybase made client/server computing both practical and popular.
Other developers took the client/server idea beyond database access. By 1983, two researchers at Xerox Corp’s Palo Alto Research Centre (PARC), Andrew Birrell and Bruce Jay Nelson, had developed a system of remote procedure calls, or RPCs, so one computer on a network could ask another to perform some of its computing work. And in 1984, Sun Microsystems’ Bill Joy led the development of Network File System, which used RPCs to give computers on the same network access to one another’s files.
But sharing data, files and even computing processes within one company’s network was far simpler than sharing business data among companies. That had already begun in a limited way when a group of trucking, railroad and shipping companies formed the Transportation Data Coordinating Committee in 1975 to develop standard electronic versions of shipping manifests and other documents.
By the early 1980s, electronic data interchange (EDI) was being used in the automotive, retail and transportation industries. But EDI was complicated. Far more information could go into a standard EDI document than most companies needed, so they used custom versions, and it was difficult to keep track of which suppliers and customers used what EDI subset. EDI messages were also usually sent over expensive private networks.
How could the complex EDI mess be simplified? The solution was already being developed. In 1969, three IBM developers working on a computer system for law offices came up with a way of using standard tags to identify content within documents. Charles Goldfarb, Edward Mosher and Raymond Lorie called their system the Generalised Markup Language, or GML-a name that happened to include the initials of its three inventors.
By 1980, IBM was successfully using GML in products, and standards organisations were developing a standardised version. In 1986, Standard Generalised Markup Language (SGML) became an official international standard. Like EDI, SGML was large and complex. But SGML included a system for specifying well-defined subsets of the complete set of information tags.
One such subset took off in 1991, when researcher Tim Berners-Lee at Swiss research laboratory CERN created Hypertext Markup Language (HTML) for the first Web browser. In order to send and receive HTML Web pages, Berners-Lee also devised a simplified version of the standard Internet File Transfer Protocol-which he called Hypertext Transfer Protocol, or HTTP.
And in 1996, a World Wide Web Consortium (W3C) working group created the first draft of what it called a “simplified SGML”. Two years later, Extensible Markup Language, known as XML, was a standard that some IT shops began to use in e-commerce. By 1998, researchers at Microsoft were putting the pieces together: RPCs in the form of documents tagged with XML and sent across the Internet using HTTP, doing what EDI did and much more. They dubbed their system the Simple Object Access Protocol, or SOAP.
IBM joined the effort in 2000, and the two companies defined the Web Services Description Language (WSDL) for identifying the capabilities available from a Web services provider, and the Universal Description, Discovery and Integration system, or UDDI, for directories of Web services.
And in 2002, the Web Services Interoperability Organisation brought in dozens of other vendor and user companies, with the promise that Web services would simplify both e-commerce and IT services.
And now, on with the story ...
1969: IBM develops GML for tagging content in documents for law offices.
1975: The transportation industry develops a system of electronic shipping manifests, called electronic data interchange.
1981: Bob Epstein, Paula Hawthorn and Mike Ubell separate applications from databases with their Intelligent Database Machine.
1983: Andrew Birrell and Bruce Jay Nelson at Xerox PARC implement the first working RPCs.
1984: Sun uses RPCs for its Network File System.
1986: SGML becomes an official international standard.
1991: Tim Berners-Lee, at Swiss research lab CERN, creates the first Web browser and defines HTTP.
1996: The W3C begins developing a “simplified SGML”, which becomes known as XML.
1998: Microsoft combines XML and HTTP into SOAP.
2000: IBM and Microsoft announce WSDL and the UDDI directory system for Web services.
2002: The Web Services Interoperability Organization is formed by IBM, Microsoft and other vendors and user companies.