Discover the basics of XML Web Services
Learn why developers might use XML Web Services
Test out a simple XML Web Service
In the .NET development world, developers use software components as part of most (if not all) of their applications. Generally, those components exist on the same computer, or within the same network, as the application that consumes them.
What happens when you need to consume functionality provided by a software component that "lives" somewhere across the Web? Although classic COM provides for distributed components using Distributed COM (DCOM), DCOM doesn't work well across the Internet because of its reliance on connected behavior.
What you need is some way to communicate with components over HTTP, without a constant connection. In a perfect world, you'd be able to make a request, and you'd be notified when the response had come back from the remote object.
Imagine this scenario: Your company sells computers, and you'd like to be able to indicate the availability of the computers on your Web site. Of course, you don't actually stock the computers you order them from the wholesaler, who drop-ships them for you to the client. What you really need is some way to perform real-time queries against the wholesaler's inventory so you can post the information on your site.
If the wholesaler provides some sort of component you can program against, perhaps calling the GetInventory method and passing in the ProductID value for the product you need, you could retrieve the available inventory for the product as users browse to the page for the product. Of course, you'd need this object to be available across the Web, because you don't have direct access to the supplier's database.
This chapter introduces XML Web Services one possible solution to this development requirement. In this chapter, you'll see how and why XML Web Services provide a reasonable solution to the need for disconnected programmability.
We use the specific term XML Web Services here because there are other types of Web services available. Specifically, XML Web Services (note the uppercasing) refers to Web Services that use the SOAP specification to communicate. To simplify matters, however, we'll often use Web Service as a synonym.