NGWS SDK Documentation  

This is preliminary documentation and subject to change.
To comment on this topic, please send us email at ngwssdk@microsoft.com. Thanks!

Using ASP+ Web Services

The Internet is quickly evolving from websites that just deliver UI pages to browsers to a next generation of programmable Web sites that directly link organizations, applications, services, and devices with one another. These programmable Web sites become more than passively accessed sites - they become reusable, intelligent web services.

In NGWS, a web service is any URL-addressable resource that makes available useful information to HTTP clients. A web service can be as simple as a static data file containing information that is updated periodically. More complex web services support interactive computation ---where the HTTP request includes parameters that the service uses in a calculation--- and provide a response that the requester can understand. For example, a stock quote service could take a stock symbol on the querystring and return a document containing the latest stock details.

In addition to the topics below, this section includes:

Creating an ASP+ Web Service

Exposing and Publishing an ASP+ Web Service

ASP+ Web Services State Management

ASP+ Web Services Security

ASP+ Web Services Transactions

ASP+ Web Services Async Support

Consuming Web Services

ASP+ Web Service and SDL

There is a critical need to describe web services in a standard way so that end-user clients can understand and invoke them programmatically. The public description of a web service is called a “contract.” NGWS uses a new XML grammar, the Service Description Language (SDL), as the standard contract format for describing web services.

SDL provides an extensible format for describing:

Note that these interactions only represent wire-protocol level details. SDL does not assume anything about the implementation of the target web service (it could be an object based system like ASP+, a database, or a CICS system). As such it should be possible to use it to describe any web service available over the Internet. Note that an ASP+ Web Service implementation dynamically generates SDL contracts automatically when the base URL address is invoked using a standard HTTP-GET request. For more information on invoking ASP+ Web Services with the HTTP-GET request, see Invoking ASP+ Web Services using HTTP-GET.

Web Services and XML

You can use XML to describe the set of available web services that a system defines as well as the type and sequence of messages that should be exchanged between systems. This ability is provided by the Service Description Language (SDL) discussed above. You can also define and embrace canonical XML patterns, like SOAP, for easily marshalling and interchanging XML messages to and from web services.

You can also extend your web service client infrastructure to build-in explicit support for “capturing” or “scraping” content from an HTML page (regardless of whether it is static or dynamic), and programmatically use the resulting data. No action or participation is required from remote site owners, so the technology can be used immediately with popular sites such as Amazon.com, Investor.com, Yahoo.com, to obtain data and information that can be leveraged (copyright restrictions willing) to build rich applications. Note that the programming model to access this type of information on the client is identical to the model where the target data is expressed in XML.