Course Overview
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
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
• 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