Building XML Web Services with .NET

Building XML Web Services with .NET

Course Code : 116

Workshop : Training

Duration : 4 days Training Course

COURSE OUTLINE

XML Web services connect corporate applications in the same way that the Web connects people to information. The .NET Framework is Microsoft's platform for XML Web services, enabling organizations to benefit from the service-oriented architecture of XML and Web services. After completing this course, you will be able to learn the following:

  •  Develop highly scalable distributed applications with XML Web services
  • ·Process XML documents and schemas with System.Xml library classes
  •  Describe and publish Web services using standard protocols (SOAP, WSDL)
  •  Leverage ASP.NET for rapid development and monitoring of Web services
  • ·Build high-performance, versatile clients
  • ·Secure XML Web services using encryption and authentication

COURSE OBJECTIVES

This hands-on course provides the skills needed to build XML Web services and clients with .NET. You learn to rapidly create scalable and secure applications for use in any corporate environment, as well as practical techniques for tracing SOAP messages and monitoring services.

TARGET AUDIENCE

This course is beneficial for those who are or will be working with or evaluating Web services. Familiarity with the Visual Basic .NET or C# programming languages is assumed.

COURSE CONTENTS

INTRODUCTION TO WEB SERVICES

Web services in enterprise computing

  • Architecture of distributed applications
  • Web service facade applications

Web service capabilities of .NET

  •  ASP.NET as a platform for Web services
  •  Building and deploying a Web service
  • ·Generating client proxies and clients

SOAP ESSENTIALS

Demystifying SOAP messaging

  • Deconstructing and writing SOAP
  • HTTP Transport
  • SOAP Action
  • Handling SOAPExceptions
  • SOAP faults
  • Comparing RPC-encoded SOAP with document-literal SOAP

Monitoring and tracing Web services

  • Invoking SOAP trace utility
  • Application Center Test
  • Adding performance counters

Marshalling and serialization

  •  Automatic and custom serialization
  • ·Serializing value and reference types
  • ·Marshalling with DataSets

XML PROGRAMMING IN .NET

Building XML in .NET

  • XML essentials
  • XML schema
  • XML namespaces
  • Supported types
  • Loading and parsing XML documents
  • Navigating nodes and elements

Processing XML

  • Generating XML using XmlTextWriter
  • Converting DataSets to generic XML with XmlDataDocument
  • Working with RSS feeds and Weblogs
  • Modifying XML documents with DOM

CONFIGURING WEB SERVICES

Programming with Attributes

  • XML namespaces in Web services
  • Adding documentation to WSDL
  • Attributes and the proxy class

Configuration settings via web.config

  • Customizing service help pages
  • "Plugging" modules into ASP.NET
  • Forbidden handler
  • Custom HttpModule

· Comparing code, attributes and .config

Describing and evolving Web services

  • Enterprise UDDI
  • Versioning a Web service

CONSTRUCTING SCALABLE WEB SERVICES

Designing stateless components

  • Advantages of a stateless model
  • Storing state in a stateless architecture
  • Boosting performance using caching
  • Caching file-based data in the cache

Supporting transactions in Web services

  • Starting and participating in transactions
  • Transaction flow between WebMethods

.NET Remoting and Web services

  • Pros and cons of .NET Remoting
  • Configuring channels and formatters

WEB SERVICE CLIENT APPLICATIONS

Techniques for .NET clients

  • Thin, Web and rich clients
  • Data binding

High-performance rich clients

  • Threads and multithreading
  • Calling Web services asynchronously
  • No-touch deployment of Windows clients

SECURING XML WEB SERVICES

Authentication options

  • Limitations of HTTPS and IIS
  • Custom security using a SOAP header

Encryption in .NET

  • Comparing encryption techniques
  • Selective encryption for performance

Web Services Enhancements 2.0

  • Implementing WS-Security with WSE
  • Sending binary payloads with DIME