Course Description
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.
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.
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.At Course Completion
After completing this course, students will be able to:
Implement Service-Oriented Architecture tenets in WCF servicesHost WCF services in a variety of Windows hostsDefine and implement WCF service contracts, data contracts, and message contractsUse multiple endpoints with various messaging patternsTest, troubleshoot, monitor, and diagnose WCF servicesEnsure service reliability using transactions and message queuesSecure WCF services using message and transport securityExtend WCF using behaviors, dispatchers, inspectors, and formattersExam Certification
This course is recommended for exam 70-513, for the MCTS: Microsoft .NET Framework 4, Service Communication Applications certification.
Course Outline
Module 1: Service-Oriented Architecture
This module explains how to design service-oriented applications, how to adhere to SOA tenets, and how to leverage the benefits of SOA scenarios using WCF.
Lessons
What Is SOA?The Benefits of SOAScenarios and StandardsIntroduction to WCF Lab: Service-Oriented Architecture
Practice the SOA TenetsImplement Service Agility and ScalabilityInteroperability with Other SOA TechnologiesUse REST Services After completing this module, students will be able to:
Describe SOA tenets, scenarios, and benefits for distributed application developmentDesign SOA-enabled applicationsMap SOA tenets to equivalent WCF conceptsModule 2: Getting Started with WCF Development
This module describes how to implement a WCF service from the ground up, 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 in Visual Studio 2010.
Lessons
Service Contract and ImplementationHosting WCF ServicesWCF BehaviorsConsuming WCF Services Lab: Service Development Lifecycle
Define Service and Data ContractsCreate a Service ImplementationConfigure the ServiceConsume the Service Using Channel FactoriesConsume the Service Using Service References After completing this module, students will be able to:
Design and define service contracts and data contracts for a serviceWrite a service implementation class that implements the service contractHost WCF services using a variety of endpoints and bindingsConsume WCF services using client proxiesModule 3: Hosting WCF Services
This module explains how to host WCF services using Windows Services, IIS and WAS, and AppFabric. It describes how to choose the appropriate host and how to properly configure it for your service's optimal operation.
Lessons
WCF Service HostsServiceHostHosting WCF Services in Windows ServicesIIS, WAS, and AppFabricConfiguring WCF Hosts Service Hosting Best Practices Lab: Hosting WCF Services
Use Windows Server AppFabricUse Windows ServicesHost Services in a Windows ApplicationService Monitoring Using Performance Counters After completing this module, students will be able to:
Appreciate and compare different WCF service hostsConfigure service hosts for optimal service operationHost WCF services in Windows ServicesHost WCF services in IIS, WAS, and AppFabricModule 4: Defining and Implementing WCF Contracts
This module describes how to define WCF service contracts, data contracts, and message contracts. It 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 TypesMessaging PatternsDesigning WCF Contracts Lab: Contract Design and Implementation
Insert DescriptionCreate a Data ContractImplement Message Exchange After completing this module, students will be able to:
Design and implement WCF service contracts, data contracts, and message contractsChoose the appropriate message exchange patternModule 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 InteroperabilityWCF DiscoveryWCF Default EndpointsInstancing and ConcurrencyReliability Lab: Endpoints and Behaviors
Expose Multiple EndpointsUse Queued ServicesUse TransactionsUse Reliable MessagingConfigure Instancing and ConcurrencyUse WCF DiscoveryVerify MSMQ Topology After completing this module, students will be able to:
Improve service reliability by using transactions, queues, and reliable messagingChoose between the various concurrency and instancing modes and configure themExpose discoverable services and discover services using WS-DiscoveryModule 6: Testing and Troubleshooting WCF 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 SymptomsWCF FaultsDebugging and Diagnostics ToolsRuntime Governance Lab: Testing and Troubleshooting WCF Services
View Unplanned SOAP FaultsUse Fault ContractsUse Error Handlers and Handling FaultsUse WCF Message Logging and TracingSupport Large Messages After completing this module, students will be able to:
Diagnose service errors and symptomsExpose fault information from WCF services and consume faults from client applicationsUse debugging and diagnostics tools for service monitoring and troubleshootingAppreciate the importance of runtime governanceModule 7: Security
This module explains how to design secure applications, how to implement WCF security on 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 SecurityThe WCF Security ModelTransport and Message SecurityAuthentication and AuthorizationClaim-Based Identity Lab: Implementing WCF Security
Implement Security PolicyConfigure ClientVerify Security After completing this module, students will be able to:
Appreciate the application security tenetsApply message and transport security to WCF servicesUse built-in and custom authentication and authorization providersIntegrate claim-based identity into distributed systemsModule 8: Advanced 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 PatternExtending WCFRoutingWorkflow Services Lab: Advanced Topics
Use Message Inspectors and BehaviorsAttach and Access Host ExtensionsConfigure and Use RoutingImplement Asynchronous InvocationImplement Workflow Services After completing this module, students will be able to:
Apply the asynchronous invocation pattern to improve service and client performanceExtend WCF using behaviors, inspectors, and host extensionsUse the WCF routing service to balance load and mask service failuresUse Workflow Services to implement long-running durable services