INFO: Roadmap for ADO.NET DataSet Objects and XML Web Services

Article translations Article translations
Article ID: 313648 - View products that this article applies to.
This article was previously published under Q313648
This article has been archived. It is offered "as is" and will no longer be updated.
Expand all | Collapse all

On This Page

Summary

This article provides a roadmap to learn and to master the DataSet objects and Extensible Markup Language (XML) Web services.

Roadmap articles provide links to useful information, including online documentation, Microsoft Knowledge Base articles, and Microsoft white papers, to help you learn about a Microsoft product or technology. Microsoft Knowledge Base How-To articles and walkthroughs provide step-by-step instructions to complete specific tasks. Microsoft QuickStart sample files are ready-made programs that illustrate a specific technique.

For additional information about ADO.NET technology roadmap articles, click the article numbers below to view the articles in the Microsoft Knowledge Base:
313590 INFO: Roadmap for ADO.NET
313649 INFO: Roadmap for XML Integration with ADO.NET
308044 INFO: Roadmap for Using ADO in .NET

Overview

An XML Web service is a basic building block of a distributed application for the Internet. With XML Web services, you can call functions over the Internet or intranet through HTTP and XML.

Additionally, you can use XML Web services to pass information in an XML format between applications, regardless of the operating system and the programming language. Because XML Web services use XML, SOAP, and other standard Web protocols, you can pass information between clients and servers with different architectures and operating systems. For example, a Microsoft server can communicate seamlessly with a UNIX client or vice versa. This makes XML Web services a great choice for integrating systems in a company or between companies. You can create a Microsoft ASP.NET Web service in Microsoft Visual Basic .NET, Microsoft Visual C# .NET, or Microsoft JScript.

For more information, visit the following MSDN Web sites:
XML Web Services Basics
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwebsrv/html/webservbasics.asp

WebService Class
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemWebServicesWebServiceClassTopic.asp

Declaring an XML Web Service
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpcondeclaringwebservice.asp

Architecture

Similar to component-based development, you can use XML Web services to pass information to and from client applications, regardless of how the service was implemented. Unlike component-based development, XML Web services uses the following standard protocols to pass information between clients and servers:
  • XML
  • SOAP
  • Web Services Description Language (WSDL)
  • Universal Description, Discovery, and Integration (UDDI)
Because XML Web services use these standard Web protocols, XML Web services can be multi-environment compatible. Each of these Web protocols address a requirement of an XML Web service. The next four sections describe how these Web protocols address these requirements.

XML Protocol

XML addresses the XML Web service requirement to represent data in a standard way. The data that is passed to and from the XML Web service is in XML format. Because the ADO.NET DataSet object is the only object that can be serialized, this is the only object that can be passed to and from the Web service.

Object serialization is the process of converting an object into a form that can be easily transported, such as converting the DataSet into XML. For additional information about serialization, click the article number below to view the article in the Microsoft Knowledge Base:
314150 INFO: Roadmap for XML Serialization in the .NET Framework
The client application can receive the DataSet from the XML Web service and then pass the DataSet back to the XML Web service to process any changes to the database. Objects such as Connection objects, Command objects, and DataReader objects cannot be passed because they are not serializable.

SOAP Protocol

When a client application requests information from a database from an XML Web service, the information is placed in a DataSet. This DataSet is then converted into XML that meets the standards that the SOAP messaging protocol sets. This XML is passed from the XML Web service to the client. The XML of the DataSet takes one of two forms:
  • XML document that displays the current values.
  • DiffGram, which is an XML document that displays the original and the current values of only those DataSet records that have changed.
If you use the first form and pass back all of the DataSet, the XML appears similar to the following:
<NewDataSet>
  <Customers>
    <CustomerID>ALFKI</CustomerID>
    <CompanyName>David</CompanyName>
    <ContactName>Joy Promise 1</ContactName>
    <ContactTitle>CEO</ContactTitle>
    <Address>123 Fox Way</Address>
    <City>Berlin</City>
    <Region>MA</Region>
    <PostalCode>12209</PostalCode>
    <Country>Germany</Country>
    <Phone>030-0074321</Phone>
    <Fax>030-0076545</Fax>
  </Customers>
</NewDataSet>
				
If you pass back only the DiffGram, the code appears as follows:
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
  <NewDataSet xmlns="">
    <Cust diffgr:id="Cust1" msdata:rowOrder="0" diffgr:hasChanges="modified">
      <CustomerID>FOLKO</CustomerID>
      <Country>Morocco</Country>
    </Cust>
  </NewDataSet>
  <diffgr:before>
    <Cust diffgr:id="Cust1" msdata:rowOrder="0" xmlns="">
      <CustomerID>FOLKO</CustomerID>
      <Country>Sweden</Country>
    </Cust>
  </diffgr:before>
</diffgr:diffgram>
				
Notice that in both examples, the information that is being passed is in XML format. However, in the DiffGram, only the changed records of the original DataSet are sent. These changed records are marked with a <diffgr:before> tag in the DiffGram to indicate the original values of the DataSet. Additionally, notice that the deleted rows are only displayed with a <diffgr:before> tag in the DiffGram.

If you use DiffGram, you pass less information from the client to the server. When the DataSet is marshaled between the client and the Web server as XML, any application that Microsoft .NET does not create can work with the information.

For more information about the SOAP protocol, visit the following MSDN Web sites:
An XML Overview Towards Understanding SOAP
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwebsrv/html/xmloverchap2.asp

Overview of SOAP Client in Windows XP
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwxp/html/xpsoap.asp

A Young Person's Guide to The Simple Object Access Protocol: SOAP Increases Interoperability Across Platforms and Languages
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmag00/html/soap0300.asp

SOAP Specification Index Page
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsoapspec/html/soapspecindex.asp

WSDL Standard

You use the Web Services Definition Language (WSDL) standard when you are using XML Web services that others have written. To call an XML Web service successfully, you must know the following information:
  • How to get to the service.
  • What operations the service supports.
  • What parameters the service expects.
  • What the service returns.
WSDL provides all of this information in an XML document that can be read or that a computer can process.

For more information about the WSDL standard, visit the following MSDN Web sites:
Building Industry Standard WSDL
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dn_voices_webservice/html/service02062002.asp

Web Services Description Language (WSDL) Explained
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwebsrv/html/wsdlexplained.asp
For more information about the WSDL specification, visit the following World Wide Web Consortium (W3C) Web site:
Web Services Description Language (WSDL) 1.1
http://www.w3.org/TR/wsdl.html

UDDI Standard

You use the Universal Description, Discovery, and Integration (UDDI) standard when you are using XML Web services that others have written. With this standard, programmable XML Web services can be placed on Web sites where others can access and interact with them. Universal Discovery, Description and Integration (UDDI) supports the discovery and the description of XML Web services.

For more information about UDDI, visit the following MSDN Web sites:
Building Clients That Use Industry Standard WSDL
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dn_voices_webservice/html/service03062002.asp

Web Service Description and Discovery Using UDDI, Part I
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dn_voices_webservice/html/service10032001.asp

Using UDDI at Run Time, Part II
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnuddi/html/runtimeuddi2.asp

Publishing and Discovering Web Services with DISCO and UDDI
http://msdn.microsoft.com/msdnmag/issues/02/02/xml/xml0202.asp

UDDI: an XML Web Service
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnexxml/html/xml12182000.asp

How-To Articles

Microsoft Knowledge Base How-To articles provide step-by-step instructions to complete specific tasks. For additional information about XML Web services, click the article numbers below to view the articles in the Microsoft Knowledge Base:
308056 HOW TO: Update Server Data Through a Web Service by Using ADO.NET and Visual Basic .NET
308054 HOW TO: Use a Web Service as a Data Source for a Client Application in Visual Basic .NET
309013 HOW TO: Create and Test an XML Web Service in Visual Basic .NET
308359 HOW TO: Write a Simple Web Service by Using Visual C# .NET
315935 HOW TO: Build and Use XML Web Services by Using Visual Studio .NET
308466 HOW TO: Integrate an Apache SOAP 2.2 Client with a .NET XML Web Service
301273 HOW TO: Write a Simple Web Service by Using Visual Basic .NET
Click here to see additional How-To articles about XML Web services

For more information about how to create XML Web services by using Microsoft Office XP, visit the following MSDN Web sites:
How to Create and Deploy XML Web Services Using Visual Basic 6.0 and Office XP
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnacc2k2/html/odc_websvsvb6.asp

How to Create and Deploy XML Web Services Using Visual Studio .NET and Office XP
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnacc2k2/html/odc_webvsnet.asp

Walkthroughs

Walkthroughs provide mini-tutorials that walk you through some typical application development scenarios that use XML Web services. For more information, visit the following MSDN Web site:
Walkthrough: Creating an XML Web Service Using Visual Basic or Visual C#
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon/html/vbconWebServicePublishing.asp

Guidelines

For more information about XML Web services guidelines, visit the following MSDN Web site:
Design Guidelines for XML Web Services Created Using ASP.NET
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconaspnetwebservicedesignguidelines.asp

Troubleshooting

If you experience problems or if you have questions, you can refer to the MSDN newsgroups where you can share your experiences with your peers. You can also use the Microsoft Knowledge Base to search for articles about specific issues.
MSDN Newsgroups
http://msdn.microsoft.com/newsgroups/

Searching the Knowledge Base
http://support.microsoft.com/search

Properties

Article ID: 313648 - Last Review: November 2, 2013 - Revision: 8.0
Applies to
  • Microsoft ADO.NET 1.1
  • Microsoft Web Services Enhancements for Microsoft .NET 1.1
Keywords: 
kbnosurvey kbarchive kbarttyperoadmap kbinfo KB313648

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com