Developing Web Services in .NET

Duration: 3 days
Type: advanced


This course enables delegates to build Web Services in .NET using Windows Communication Foundation (WCF) in Visual Studio 2008 and above.


Delegates must have several years C# and XML experience, preferably gained developing ASP .NET Web Applications.

List of Modules

Introduction to Web Services

Limitations of conventional Web Applications
Advantages of automating web based services
Web Services verses distributed method calls
Using Web Services to interoperate with legacy systems
Web Services and Service Oriented Architectures

Core Web Service Technologies

Strengths and weaknesses of messaging over HTTP
Using SOAP to deliver XML messages and handle faults
Choosing between RPC and Document based encoding
Creating WSDL documents to advertise services
The WS-I and advantages of WS-I Basic Profile
Deciding if you want to make use of UDDI

Web Services Description Language (WSDL) in Depth

Defining complex data types using XML Schema
Using types to define messages and operations
Combining operations to create port types
Binding operations and defining services

Core Concepts of Windows Communication Foundation

Review of existing distributed technologies
How older technologies are unified in WCF
The Address / Binding / Contract design of WCF
Defining service contracts using WSDL
Bindings which come preconfigured with WCF

Building Basic WCF Applications

Hosting a service in a console application
Defining the contracts for the service
Specifying configuration in code and config files
Configuring exception handling behavior
Using the service from .NET and Java clients
Customizing your service with behaviors

Building Practical WCF Applications

Hosting WCF services as Windows Services and within IIS
Choosing between Per Call, Session and Singleton lifecycles
Taking advantage of one-way and duplex message exchange patterns
Controlling how data is serialized into XML documents

Advanced WCF Topics

Hosting multiple endpoints within the same service
Hosting multiple services within the same process
Adding security and versioning to your services
Building WCF Services using the REST Architecture
Serializing data as JSON for use by AJAX based clients

Developing Interoperable Web Services

Considerations when developing .NET services for Java clients
Considerations when developing Java services for C# clients
Exchanging binary data via attachments to SOAP messages
Authenticating users and establishing levels of trust