This chapter looked at the need for an architecturally neutral, ubiquitous, easy-to-use, and interoperable system to replace DCOM, RMI, and CORBA. It discussed how Web Services fill the gaps successfully because HTTP is used as the language-independent protocol, XML is its language (in WSDL) and transport mechanism, and SOAP enables you to package messages for sending over HTTP.
The chapter also described how to create and consume Web Services programmatically using Visual Basic, and discussed the abstract classes provided by the .NET Framework class library to set up and work with Web Services. In particular, it looked at the WebService, WebServiceAttribute, WebMethodAttribute, and WebServiceBindingAttribute component classes of the System.Web.Services namespace, in addition to the System.Web.Services.Description, System.Web.Services.Discovery, and System.Web.Services.Protocols namespaces.
Finally, it outlined some of the downsides to using any distributed architecture (Web Services included), but it finished with an optimistic note on where Web Services might take us in the future.