Web Services Using C# and ASP.NET

Current Version: 2.0

This course provides a realistic, hands-on, comprehensive coverage of developing Web services using ASP.NET and C#. Web services are a series of standards progressively being developed, that enable programs on various computers to communicate with other programs on similar or disparate computers transparently over the Internet. This course teaches in detail the skills needed to program Web services using ASP.NET. It also examines the fundamentals of SOAP and WSDL essential for creating interoperable Web services. The course is current to .NET 2.0 and Visual Studio 2005, with coverage of new features such as the WS-I Basic Profile 1.1, SOAP 1.2, event pattern for calling Web services asynchronously, and more. It also includes an introduction to Web Service Enhancements (WSE) 3.0.

The first chapter introduces Web services and Service Oriented Architecture (SOA). The baseline Web service specifications of XML, SOAP, WSDL and UDDI are outlined.

Chapter 2 covers the fundamentals of SOAP and WSDL. Web services are developed using the .NET Framework SDK. Chapter 3 covers the details of how to create and debug ASP.NET Web services using Visual Studio 2005.

Chapter 4 shows how to create clients for Web services using an SDK tool and using Visual Studio 2005. Sophisticated topics, such as state management, caching and transactions in Web services are covered in Chapter 5. The next three chapters discuss important technologies at the foundation of ASP.NET Web services, including XML serialization, SOAP and WSDL.

Chapter 9 provides a practical discussion of data access using Web services. The course concludes with an introduction to Web service security using WSE 3.0, which provides implementation of advanced Web service protocols such as WS-Security, WS-Trust and WS-Policy. WSE 3.0 also provides a diagnostic message tracing tool, which is used in the course to trace SOAP packets, providing insight into the anatomy of Web services.

Knowledge of the .NET Framework using C# and an understanding of the fundamentals of XML. Some experience in ASP.NET is advantageous.

Course Objectives
On completion of this course, the student should be able to
  • Gain a comprehensive understanding of the philosophy and architecture of Web services and Service Oriented Architecture
  • Acquire a working knowledge of creating and consuming Web services using the .NET Framework 2.0 and Visual Studio 2005
  • Attain a detailed knowledge of the building blocks of Web services, including XML, SOAP and WSDL
  • Understand issues in the ASP.NET programming model, such as caching, data handling and state management
  • Use WSE 3.0 to implement advanced Web services protocols
  • Understand the principle of Web services security and implement authentication on both the server and client
4 Days

Instructor-led course, with practical computer-based exercises.

Course Outline

  • 1. What Are Web Services?
    • Introduction to Distributed Computing
    • Network Latency
    • Object State and Scalability
    • Interoperability
    • SOAP
    • WSDL
    • UDDI
    • Web Service Business Models
    • Service Oriented Architecture (SOA)
    • ASP.NET Web Services
    • Web Service Enhancements (WSE)
    • Windows Communications Framework (WCF)

  • 2. Web Services Fundamentals
    • Creating a Web Service Using ASP.NET
    • Deploying a Web Service Using IIS
    • Testing a Web Service
    • HTTP
    • XML
    • SOAP 1.1 and SOAP 1.2
    • Web Service Clients
    • WSDL

  • 3. Developing ASP.NET Web Services
    • Using Visual Studio 2005 to Develop Web Services
    • Visual Web Developer
    • Using ASP.NET Development Server
    • An Overview of the Web Services Namespaces
    • Deriving from the WebService Class
    • @Webservice Attribute
    • WebService Class
    • Adding a WebMethod to Web Services
    • Debugging Web Services
    • WS-I Basic Profile
    • ASP.NET Configuration

  • 4. Web Service Clients
    • Web Service Proxies
    • Web Services Description Language Tool (Wsdl.exe)
    • Understanding the Proxy Code
    • Creating a Proxy with Visual Studio 2005
    • Returning Complex User-Defined Data Types
    • Writing a Client for the Google Search API

  • 5. ASP.NET Web Services Programming Model
    • Asynchronous Programming in Web Services
    • Asynchronous Events in .NET 2.0
    • Managing State in ASP.NET Web Services
    • Transactions in ASP.NET Web Services
    • Caching in ASP.NET Web Services

  • 6. XML Serialization
    • XmlSerializer
    • What Is Not Serialized
    • Writing and Reading XML
    • Customizing XML Serialization
    • XML Schema and XSD
    • Creating Classes from Schemas
    • XML Serialization and Web Services

  • 7. More about SOAP
    • The Structure of SOAP Messages
    • Using SOAP Headers
    • SOAP Faults
    • Document and RPC Style Messaging
    • Literal and Encoded Use
    • Customizing SOAP with Attributes
    • Using SOAP 1.2

  • 8. More about WSDL
    • The Need for Service Description
    • An IDL for Web Services
    • WSDL Namespaces
    • The WSDL Description Model
    • WSDL Descriptors as Schema
    • Message Description
    • Messaging Scenarios
    • Operations: Input, Output, and Fault
    • Messages
    • Service Description
    • Extending WSDL
    • .NET WSDL Classes
    • WSDL First!

  • 9. Data Access with Web Services
    • Multiple-Project Solutions in Visual Studio
    • Multiple-Tier Data Access
    • Data Access Using ADO.NET 2.0
    • A Data Access Web Service
    • Data Binding with Windows Forms
    • Using Typed DataSets
    • Binding to a Web Service

  • 10. WSE 3.0 and Web Services Security
    • Web Service Enhancements (WSE)
    • Windows Communications Framework (Indigo)
    • When to Use WSE
    • WSE Architecture
    • A WSE-Enabled Web Service
    • WSE Settings 3.0 Tool
    • WSE Message Tracing
    • A WSE-Enabled Client
    • Web Services Security
    • Server Authentication
    • X.509 Certificates
    • Policy Files
    • User Name Authentication

  • Appendix A. Learning Resources

  • Appendix B. Configuring IIS for ASP.NET 2.0

Hardware and Software Requirements

Course exercises require Microsoft .NET 2.0 and Microsoft Visual Studio 2005. The preferred operating system is Windows XP Professional with Internet Information Services. WSE 3.0 should be installed. See the appropriate course Setup Guide for details.

A good minimal hardware profile for this course would have a 1 GHz or better CPU, 256 MB of RAM, and at least 4 GB of free disk space for tools installation and courseware.

Go to course catalogue