Developing Windows Communication Foundation Solutions with Microsoft Visual Studio (10263)

Request a Quote for this class

About this Course

This three-day instructor-led course provides participants with the knowledge and skills to develop distributed applications using WCF 4 and Microsoft Visual Studio 2010. Important Note: Course 10263A is designed for experienced .NET developers who are interested in becoming Technology Specialists in the area of WCF application development (see intended audience and prerequisites in this syllabus). For classrooms that include less experienced students, instructors may choose to adjust the course timings and establish a slower pace through the training material. To deliver this course at a reduced pace, Microsoft Learning suggests teaching Modules 1-7 during the three days of classroom training and leaving module 8 for the students to explore on their own after the course is completed. This will enable the instructor to spend more time ensuring that students fully understand the concepts taught in the earlier modules. Learning Partners may also choose to extend the course materials and establish a 4-day customized training course that progresses at a slower pace.

Audience Profile

This course is intended for professional .NET programmers who use Microsoft Visual Studio in a team-based, medium-sized to large development environment. Students should have experience consuming services within their Web and/or Windows client applications and be interested in learning to develop service-oriented applications (SOA) using WCF. Students should be experienced users of Microsoft Visual Studio 2008 SP1, as well as cursory familiarity with Microsoft Visual Studio 2010 for Windows client or Web application development.

At Course Completion

After completing this course, students will be able to:
  • Implement Service-Oriented Architecture tenets in WCF services
  • Host WCF services in a variety of Windows hosts
  • Define and implement WCF service contracts, data contracts, and message contracts
  • Use multiple endpoints with various messaging patterns
  • Test, troubleshoot, monitor, and diagnose WCF services
  • Ensure service reliability using transactions and message queues
  • Secure WCF services using message and transport security
  • Extend WCF using behaviors, dispatchers, inspectors, and formatters

Prerequisites

Before attending this course, students must have:
  • Understanding of the problem-solving techniques that apply to software development.
  • General understanding of the purpose, function, and features of the .NET Framework.
  • Experience developing software using Visual Studio 2008 or Visual Studio 2010.
  • Experience in object-oriented design and development using the C# programming language.
  • Experience in n-tier application design and development.

Course Outline

Module 1: Service-Oriented Architecture

This module explains how to design SOAs, how to adhere to SOA tenets, and how to leverage the benefits of SOA scenarios using WCF.

Lessons

  • What Is SOA?
  • The Benefits of SOA
  • Scenarios and Standards
  • Introduction to WCF

Lab : Service-Oriented Architecture

  • Practicing the SOA Tenets
  • Implementing Service Agility and Scalability
  • Interoperating with Other SOA Technologies
  • Using REST Services
After completing this module, students will be able to:
  • Describe SOA tenets, scenarios, and benefits for distributed application development
  • Design SOA-enabled applications
  • Map SOA tenets to equivalent WCF concepts

Module 2: Getting Started with Microsoft Windows Communication Foundation Development

This module describes how to implement a WCF service from the beginning, including defining a contract, implementing the contract, hosting the service, configuring endpoints, and configuring bindings. It also explains how to create a proxy to a WCF service using a channel factory, and using the Add Service Reference dialog box in Visual Studio 2010.

Lessons

  • Service Contract and Implementation
  • Hosting WCF Services
  • WCF Behaviors
  • Consuming WCF Services

Lab : Service Development Life Cycle

  • Defining Service and Data Contracts
  • Creating a Service Implementation
  • Configuring the Service
  • Consuming the Service Using Channel Factories
  • Consuming the Service Using Service References
After completing this module, students will be able to:
  • Design and define service contracts and data contracts for a service
  • Write a service implementation class that implements the service contract
  • Host WCF services using a variety of endpoints and bindings
  • Consume WCF services using client proxies

Module 3: Hosting Microsoft Windows Communication Foundation Services

This module explains how to host WCF services using Windows Services, Internet Information Services (IIS) and Windows Process Activation Service (WAS), and Windows

Server AppFabric. This module describes how to choose the appropriate host, and how to configure it properly for your service’s optimal operation.

Lessons

  • WCF Service Hosts
  • ServiceHost
  • Hosting WCF Services in Windows Services
  • IIS, WAS, and AppFabric
  • Configuring WCF Hosts
  • Service Hosting Best Practices

Lab : Hosting WCF Services

  • Using Windows Server AppFabric
  • Using Windows Services
  • Hosting Services in a Windows Application
  • Using Performance Counters for Service Monitoring
After completing this module, students will be able to:
  • Appreciate and compare different WCF service hosts
  • Configure service hosts for optimal service operation
  • Host WCF services in Windows Services
  • Host WCF services in IIS, WAS, and AppFabric

Module 4: Defining and Implementing Microsoft Windows Communication Foundation Contracts

This module describes how to define WCF service contracts, data contracts, and message contracts. This module explains how to design WCF contracts appropriately, and how to modify WCF contracts according to the selected messaging pattern.

Lessons

  • What Is a Contract?
  • Contract Types
  • Messaging Patterns
  • Designing WCF Contracts

Lab : Contract Design and Implementation

  • Creating Service Contracts
  • Creating Data Contracts
  • Implementing Message Exchange
After completing this module, students will be able to:
  • Design and implement WCF service contracts, data contracts, and message contracts
  • Choose the appropriate message exchange pattern

Module 5: Endpoints and Behaviors

This module describes how to expose multiple endpoints from a WCF service, how to automatically discover services and make services discoverable, how to configure instancing and concurrency modes for services, and how to improve service reliability with transactions and message queues.

Lessons

  • Multiple Endpoints and Interoperability
  • WCF Discovery
  • WCF Default Endpoints
  • Instancing and Concurrency
  • Reliability

Lab : WCF Endpoints and Behaviors

  • Exposing Multiple Endpoints
  • Using Queued Services
  • Using Transactions
  • Using Reliable Messaging
  • Configuring Instancing and Concurrency
  • Using WCF Discovery
  • Verifying MSMQ Topology
After completing this module, students will be able to:
  • Improve service reliability by using transactions, queues, and reliable messaging
  • Choose between the various concurrency and instancing modes and configure them
  • Expose discoverable services and discover services using WS-Discovery

Module 6: Testing and Troubleshooting Microsoft Windows Communication Foundation Services

This module describes how to diagnose errors and problem root causes in WCF services, and how to configure services to expose fault information. It also explains how to use tracing, message logging, and other diagnostic and governance tools for monitoring services at runtime.

Lessons

  • Errors and Symptoms
  • WCF Faults
  • Debugging and Diagnostics Tools
  • Runtime Governance

Lab : Testing and Troubleshooting WCF Services

  • Viewing Unplanned SOAP Faults
  • Using Fault Contracts
  • Using Error Handlers and Handling Faults
  • Using WCF Message Logging and Tracing
  • Supporting Large Messages
After completing this module, students will be able to:
  • Diagnose service errors and symptoms
  • Expose fault information from WCF services and consume faults from client applications
  • Use debugging and diagnostics tools for service monitoring and troubleshooting
  • Appreciate the importance of runtime governance

Module 7: Security

This module explains how to design secure applications, how to implement WCF security on both the message level and the transport level, how to integrate authentication and authorization into service code, and how to apply claim-based identity management in federated scenarios.

Lessons

  • Introduction to Application Security
  • The WCF Security Model
  • Transport and Message Security
  • Authentication and Authorization
  • Claim-Based Identity

Lab : Implementing WCF Security

  • Implementing Security Policy
  • Configuring Client
  • Verifying Security
After completing this module, students will be able to:
  • Appreciate the application security tenets
  • Apply message and transport security to WCF services
  • Use built-in and custom authentication and authorization providers
  • Integrate claim-based identity into distributed systems

Module 8: Introduction to Advanced Microsoft Windows Communication Foundation Topics

This module explains how to improve service throughput and responsiveness using the asynchronous invocation pattern, and how to extend WCF services using inspectors, behaviors, and host extensions. It also describes how to use the WCF routing service for improving service reliability, and how to use Workflow Services to orchestrate long-running, durable, service work.

Lessons

  • The Asynchronous Invocation Pattern
  • Extending WCF
  • Routing
  • Workflow Services

Lab : Advanced Topics

  • Using Message Inspectors and Behaviors
  • Attaching and Access Host Extensions
  • Configuring and Use Routing
  • Implementing Asynchronous Invocation
  • Implementing Workflow Services
After completing this module, students will be able to:
  • Apply the asynchronous invocation pattern to improve service and client performance
  • Extend WCF using behaviors, inspectors, and host extensions
  • Use the WCF routing service to balance load and mask service failures
  • Use Workflow Services to implement long-running durable services