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.
Target 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.
Pre-requisites:
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 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
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 SOA
Scenarios and Standards
Introduction to WCF
Lab : Service-Oriented Architecture
Practice the SOA Tenets
Implement Service Agility and Scalability
Interoperability with Other SOA Technologies
Use 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 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 Implementation
Hosting WCF Services
WCF Behaviors
Consuming WCF Services
Lab : Service Development Lifecycle
: Service Development Lifecycle
Define Service and Data Contracts
Create a Service Implementation
Configure the Service
Consume the Service Using Channel Factories
Consume 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 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 Hosts
ServiceHost
Hosting WCF Services in Windows Services
IIS, WAS, and AppFabric
Configuring WCF Hosts
Service Hosting Best Practices
Lab : Hosting WCF Services
Use Windows Server AppFabric
Use Windows Services
Host Services in a Windows Application
Service Monitoring Using Performance Counters
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 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 Types
Messaging Patterns
Designing WCF Contracts
Lab : Contract Design and Implementation
Insert Description
Create a Data Contract
Implement 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 : Endpoints and Behaviors
Expose Multiple Endpoints
Use Queued Services
Use Transactions
Use Reliable Messaging
Configure Instancing and Concurrency
Use WCF Discovery
Verify 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 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 Symptoms
WCF Faults
Debugging and Diagnostics Tools
Runtime Governance
Lab : Testing and Troubleshooting WCF Services
View Unplanned SOAP Faults
Use Fault Contracts
Use Error Handlers and Handling Faults
Use WCF Message Logging and Tracing
Support 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 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
Implement Security Policy
Configure Client
Verify 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: 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 Pattern
Extending WCF
Routing
Workflow Services
Lab : Advanced Topics
Use Message Inspectors and Behaviors
Attach and Access Host Extensions
Configure and Use Routing
Implement Asynchronous Invocation
Implement 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