Defining Web Services
In its working draft,
“Web Services Architecture
the W3C Web Services Working Group lists the following definition:
A Web service is a software application identified by a URI, whose interfaces and bindings are capable of being defined, described, and discovered as XML artifacts. A Web service supports direct interactions with other software agents using XML based messages exchanged via Internet-based protocols.
From this, you can isolate several key features of the Web Services architecture.
A web service is a distributed software application.
A web service is identifiable by a URI.
A web service’s interfaces and bindings are definable via XML.
A web service’s interfaces and bindings are describable via XML.
A web service’s interfaces and bindings are discoverable via XML.
A web service communicates via XML messages.
A web service communicates over Internet-based protocols.
As you’ll see later in this chapter, although all of these features are present in .NET, some of them are optional. In particular, the terms definable, describable, and discoverable are significant. As you’ll see in a moment, three specific Web Services standards are responsible for the realization of these three features; they are W3C XML Schema, WSDL, and UDDI, respectively.
Web Services is built on a variety of standards, some of which actually serve multiple purposes. You’ve already seen some of them in other parts of this book, ...