Course Catalog
Curriculum Guides
  .NET
  Java/J2EE
  XML
Downloads
Buy Courseware
Customization
News
Authors
Technical Library
FAQ
About Object Innovations
Opportunities
Contact Us
Home

 

 

   
www.objectinnovations.com
info@objectinnovations.com
877-558-7246 (toll free)  
781-466-8012  

418.  Web Services Using C# and ASP.NET

Rev. 1.1

 

This course provides a realistic, hands-on, comprehensive coverage of developing Web services using ASP.NET and C#. Web services are an evolving series of standards 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 first chapter introduces Web services, including evolution, motivation, backbones, and reasons to embrace Web services. Chapter 2 exposes the anatomy of a Web service through hands-on exploration and tracing of a simple Web service, examining HTTP, XML, 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 .NET. Chapter 4 shows how to create clients for Web services, using the .NET API directly, using an SDK tool, and using Visual Studio .NET. Sophisticated topics, such as state management, caching and transactions in Web services are covered in Chapter 5. The next four chapters discuss important technologies at the foundation of ASP.NET Web services, including XML serialization, SOAP, WSDL and UDDI. The .NET classes for manipulating WSDL files are explored, and the UDDI .NET SDK is introduced.

 

The course concludes with an exploration of Web services security and emerging Web Services specifications. The discussion includes the various security issues and technologies in Web services such as Basic HTTP, HTTPS, (SSL 3.0), XML Signature, XML Encryption, XML Key Management Specification (XKMS), Security Assertion Markup Language (SAML) and WS-Security.

 

LEARNING OBJECTIVES

 

·         Gain a comprehensive understanding of the philosophy and architecture of Web services

·         Acquire a working knowledge of creating and consuming Web services using the .NET Framework and Visual Studio .NET

·         Attain a detailed knowledge of the building blocks of Web services, including XML, SOAP, WSDL and UDDI.

·         Understand issues in the ASP.NET programming model, such as caching, data handling and state management.

·         Understand the principle of Web services security

 

Course Duration: 4 days

 

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

 

1.      What Are Web Services?

Introduction to Distributed Computing

Motivation for Web Services

Evolving of Web Services

Web Services Definition

Next Generation of Distributed Computing—Web Services!

ASP.NET Web Services

Reasons to Embrace Web Services Architecture

Benefits of Web Services

Backbones of Web Services

Alternative to Web Services: .NET Remoting

 

2.      The Anatomy of Web Services

Creating a Web Service Using ASP.NET

Deploying a Web Service Using IIS

Testing a Web Service

HTTP

XML

SOAP

Web Service Clients

SOAP Toolkit Trace Utility

WSDL

 

3.      Developing ASP.NET Web Services

Using VS.NET to Develop ASP.NET Web Services

An Overview of the Web Services Namespaces

Deriving from the Web Service Class

@Webservice Attribute

Web Service Class

Adding a WebMethod to Web Services

Debugging Web Services

 

4.      Web Service Clients

Web Service Proxies

Creating Proxies Manually

Web Services Description Language Tool (Wsdl.exe)

Understanding the Proxy Code

Creating a Proxy with VS.NET

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

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

 

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.      Web Service Discovery and UDDI

Publishing and Discovery of Web Services

Universal Description, Discovery and Integration

UDDI in Visual Studio .NET

UDDI Information Model

tModels

Creating a UDDI Description of a Business

Using the Microsoft UDDI .NET SDK

Accessing the UDDI Registry

 

10. Web Services Security

Security in Web Services

Basic Techniques in Securing Web Services

Secure Connection

Secure Sockets Layer (SSL) HTTPs (Secure HTTP)

Authentication and Authorization for Web Services

Basic Security for Transmissions over HTTP

Web Services and Secure Sockets Layer (SSL)

XML Signature and XML Encryption

XML Key Management Specification (XKMS)

Security Assertion Markup Language (SAML)

Extensible Access Control Markup Language (XACML)

Need for End-to-End Security

WS-Security

Web Service Enhancements (WSE)

 

Appendix A. Learning Resources

Appendix B. Customized SOAP Messages

 

System Requirements

 

Course exercises require Microsoft .NET and Microsoft Visual Studio .NET 2003 on Windows 2000 or XP. Internet Information Services, the SOAP toolkit, and the UDDI .NET SDK should be installed. See the appropriate course Setup Guide for details.

 

A good minimal hardware profile for this course would have a Pentium 500-MHz or equivalent CPU, 256 MB of RAM, and at least 3 GB of free disk space for tools installation and courseware.