What are Web Services?
And why do we want them? Web services are the hot new thing in internet applications but so far people are having difficulty understanding why they want to use them and what functions are bested suited to be deployed as web services. In this XML Magazine interview, Adam Bosworth, chairman, CTO, and co-founder of (acquired by BEA) Crossgain gives an excellent overview on the subject, the best I’ve read yet. More credentials for Bosworth: he was the man who got Bill Gates to approve the XML project at Microsoft and he wrote one-third of the code for Borland’s Quattro Pro spreadsheet before moving to Microsoft to build the Access database; Bosworth is mentioned quite often in Breaking Windows, an excellent book I’m reading just now.
The key advance, as I read this, is that web services ships data (in the form of XML documents) from place to place where previous n-tier architectures such as client/server and CORBA/DCOM shipped code. Bosworth cites three characteristics that are critical for successful architectures that can span processes, companies, and the Internet: they must be loosely coupled, they must use coarse-grained communication, and they must support asynchronous interaction. Worth reading.