December 24, 2008
Windows Communication Foundation - 15 Hours of Free Video Tutorials
Windows Communication Foundation (WCF) is the Microsoft messaging platform for building service-oriented applications. Released with the Windows Vista operating system, and part of the Microsoft .NET Framework version 3.0, WCF unifies the programming model for how components and services communicate: be they distributed or not, accessible beyond firewalls, or available through interoperable interfaces. Join us to learn how WCF is the evolution of Microsoft .NET Remoting, Enterprise Services, Microsoft ASP.NET Web Services (ASMX), and Web Services Enhancements (WSE) in a single technology stack.
Presenter: Michele Leroux Bustamante, Chief Architect, IDesign Inc.
Michèle Leroux Bustamante is chief architect of IDesign Inc., Microsoft Regional Director for San Diego, Microsoft Most Valuable Professional (MVP) for XML Web services, and BEA Technical Director. At IDesign, Michèle provides training, mentoring, and high-end architecture consulting services, focusing on Web services, scalable and secure architecture design for Microsoft .NET, interoperability, and globalization architecture. Michèle is also events director for the International Association of Software Architects (IASA). Visit www.thatindigogirl.com for more information on her book, Learning WCF (O'Reilly, 2007).
Need a Quick Way to See These .NET Videos and Monitor Your Progress?Click Here to Use Progress Monitor
|
| May I Also Recommend for Further Study? Bob Tabor also has an excellent series on Visual Studio in general at LearnVisualStudio. |
| 1. Overview |
| Key Concepts:
In this first webcast in our 15-part series, we introduce you to WCF as a technology for service-orientated architecture (SOA), discuss the programming model, and provide a short overview of core features that will be discussed in subsequent webcasts. July 02, 2007 72 minutes |
| 2. Contracts |
| Key Concepts:
Clients communicate with services by exchanging messages that are serialized on the wire, and de-serialized into common language runtime (CLR) types at each end. In the simplest scenario, client and service developers only work with objects, and all the serialization magic happens somewhere down below in the plumbing. Windows Communication Foundation (WCF) provides this plumbing. The Web Services Description Language (WSDL) describes the protocols required to reach the service, the clients use proxies to communicate with the service, and messages just happen. There are times, however, when developers must exercise more control over service contract design, message serialization, and the choice of protocols. For these scenarios, it helps to understand the options available. In this webcast, we provide practical guidance for designing service contracts, data contracts, and message contracts—showing you when and how to employ each. Join this session to learn simple code-first approaches to complex type serialization, to find out how to employ contract-first approaches with IXmlSerializable types, and to see where message contracts are best employed. We also describe how to support polymorphic behavior with known types. July 09, 2007 73 minutes |
| 3. Contract Versioning |
| Key Concepts:
Clients rely on contracts defined by the Web Services Description Language (WSDL) to communicate with services. The WSDL contract describes the operations available at each service endpoint and the format and schema for messages related to each operation, including the schema for complex types exchanged between parties. Making changes to contracts once they have been published is a delicate matter, as that can create compatibility issues with existing clients. The only option is to ensure backward compatibility or expose a new version of the contract for new clients. In this webcast, we focus on approaches to version tolerance and contract versioning. We provide guidelines for strict and non-strict approaches to contract versioning, describe how to design service contracts and data contracts to be version tolerant, and illustrate how to handle explicit versioning of service contracts and data contracts with the least impact to business components that support your services. July 11, 2007 71 minutes |
| 4. Exceptions and Faults |
| Key Concepts:
In a distributed system, exceptions that occur remotely must traverse process or computer boundaries before they reach the client. In a service-oriented architecture (SOA), the boundary is a service boundary that may be located in the same process, or across process or computer boundaries. Beyond these distribution boundaries, there may also be technology and platform boundaries: such situations require interoperable communication. In this webcast, we provide an introduction to SOAP faults and their relationship to service metadata, since they are the standard for propagating exceptions from services. We also discuss different exception handling scenarios in Windows Communication Foundation (WCF), including how services and clients handle common language runtime (CLR) exceptions, how to declare and throw SOAP faults, and how to provide common exception-handling behaviors for a service using IErrorHandler. We also explain the implications on contract design and implementation, and on client exception handling. July 13, 2007 69 minutes |
| 5. Bindings |
| Key Concepts:
So far in this series, we have learned how to expose a service endpoint using a few of the standard bindings, such as NetTcpBinding and BasicHttpBinding. In fact, every service endpoint is associated with a particular binding. Bindings describe the transport protocol, message encoding format, and other messaging protocols that define the communication channel. In this webcast, we explain how binding configuration builds the communication channel, introduce you to each of the standard bindings, and explain the core protocols and features provided by each of these bindings. We also cover common scenarios where standard bindings can be applied, describe configuration settings that are most applicable to the scenario, and explore how to apply a custom binding when the standard bindings do not satisfy your requirements. July 23, 2007 72 minutes |
| 6. Hosting |
| Key Concepts:
For a service to be accessible at run time, it must be hosted in a managed process. Windows Communication Foundation (WCF) services can be hosted with Microsoft Internet Information Services (IIS) version 6.0, with the new Windows Process Activation Service (WAS) installed with IIS version 7.0, or with any other managed application process, including console, Windows Forms, Windows Presentation Foundation (WPF), or Windows service applications. Selecting the right hosting environment for services is a choice driven by the application deployment scenario, including the requirements for transport protocol and operating platform. There are also other features available to each hosting environment that can further influence deployment decisions and the choice of host. In this webcast, we describe the desired features of a hosting environment and the fundamentals of WCF service hosting. We also drill deeper into hosting semantics and features of Windows applications, Windows services, IIS, and WAS. In the process, we learn practical implementations for each hosting environment, gain insight into their specific features and benefits, and discuss how to select the right host for your service. July 25, 2007 9? minutes |
| 7. Messaging Patterns |
| Key Concepts:
When you build a distributed enterprise system, many types of message exchange are available to meet the needs of different communication patterns. In this webcast, we discuss a variety of messaging patterns and describe how they satisfy different deployment and communication requirements for your services. Join this session as we: * Explore approaches for handling large messages, such as Message Transmission Optimization Mechanism (MTOM) and streaming. Our intent in this presentation is to provide you with a high-level understanding of the rich scenarios Windows Communication Foundation (WCF) supports for messaging and to illustrate what those configurations look like. August 10, 2007 74 minutes |
| 8. Instancing Modes |
| Key Concepts:
Windows Communication Foundation (WCF) services can be configured so that the lifetime of the service instance is limited to the duration of the request, for the duration of a client session (proxy instance), or forever, as in the case of singleton services. The choice of optimal service lifetime may vary by application, given the expected calling pattern of clients, requirements for state-awareness, and the expected throughput necessary to serve requests. Instancing modes in WCF control the way that service objects are allocated to handle requests. Requests to each service endpoint are processed by the appropriate service object, based on the instancing mode for the service type. In this webcast, we explore PerCall, PerSession, and Single instancing modes, explain call and lifetime semantics for each, and illustrate the scenarios in which they are best applied. August 13, 2007 68 minutes |
| 9. Concurrency, Throughput, and Throttling |
| Key Concepts:
Deploying services as part of a large-scale enterprise system usually calls for features with conflicting goals. On one hand, you want to allow as many concurrent requests to process as possible, for throughput. On the other hand, you want to throttle requests, so that server resources are not exhausted. In this webcast, we explore the features Windows Communication Foundation (WCF) provides for managing concurrent access and throttling access to services. Learn how to configure services to allow reentrancy or concurrent threads to access a particular service instance, see how these settings relate to instancing modes, and discover how to protect services from concurrent access using WCF or class Microsoft .NET multithreading techniques. We also describe how WCF allocates threads to handle concurrent requests, explain how to throttle those requests, and provide guidance on typical settings based on instancing modes. We conclude this session with a discussion on load balancing and failover semantics in relation to WCF services, paying particular attention to the various types of sessions you can employ. August 15, 2007 82 minutes |
| 10. Security Fundamentals |
| Key Concepts:
The Windows Communication Foundation (WCF) is secure by default, providing numerous baked-in binding scenarios that initialize various combinations of transport and message-level security settings. You almost always need to override the default binding configuration to provide the appropriate security constraints for your service boundaries. In this webcast, we start with the security basics: authentication, authorization, the difference between single hop and message-level security, and how to apply digital signatures and encryption. Next, we explore several common deployment scenarios for services within an enterprise system and the associated security configurations that would apply to those scenarios. Join this session as we learn how to configure security for key scenarios without getting lost in the mire of binding configurations. August 24, 2007 76 minutes |
| 11. Federated Security |
| Key Concepts:
The security model in Windows Communication Foundation (WCF) supports a rich, claims-based approach to authorization. Virtually any security token can be represented as a set of claims, including tokens that contain Windows credentials, username and password, or X509 certificates. Normalized claims are at the heart of any federated security model, allowing developers to decouple how tokens are mapped to a set of domain-specific claims and how users are authorized based on those claims. In this webcast, we show you how to build a claims-based security model using custom authorization policies, permissions, and attributes. Learn how this plays into a federated model, allowing you to decouple authentication and authorization from your business service implementations using WSFederationHttpBinding. We also discuss SAML tokens, describe how to create custom claims, and examine how the flow of communication works between clients, token issuers, and services. August 27, 2007 79 minutes |
| 12. Reliable Messaging |
| Key Concepts:
When you send messages to a remote service, you would like to be sure they get there. If the message does not arrive, you probably want to try again. At a minimum, you want to know if the message never arrived so you can take corrective action. These delivery assurances are provided by some transport protocols, such as TCP and named pipes, but even those assurances can only be guaranteed from point-to-point. If an intermediary, like a proxy server or message router, exists between the sending and receiving applications, there are no guarantees beyond the assurance that the message reached the first network node in transit. In this webcast, we introduce you to reliable sessions, a binding feature in Windows Communication Foundation (WCF) that provides assurance at the message level using WS-ReliableMessaging (WS-RM). Join us to learn how to enable reliable sessions on standard bindings, to see how WS-RM works, and to discover how to control reliability settings using a custom binding. August 29, 2007 72 minutes |
| 13. Transactions |
| Key Concepts:
Transactions are critical for system reliability. Transactions are necessary when two or more activities must be coordinated as a single operation—ensuring that the system is always left in a consistent state. The only two viable options are to complete the two activities successfully, or to leave the system as it was before initiating either activity. Transactional programming is a well-known technique for guaranteeing a consistent system state. While Microsoft .NET version 2.0 provides a mechanism for initiating transactions, Windows Communication Foundation (WCF) makes it possible for services to participate in distributed transactions across process and computer boundaries, and to initiate transactions at the service tier. In fact, this is done via an interoperable Web service protocol called WS-AtomicTranscation (WS-AT). In this webcast, we show you how to configure the Distributed Transaction Control (DTC) to support WS-AT, and we explain how to configure your WCF clients and services to support transactions over any protocol. September 04, 2007 70 minutes |
| 14. Message Queuing |
| Key Concepts:
Queued calls are yet another way to achieve reliability in a distributed system. When you send messages using a classic request/reply pattern, the response traditionally indicates whether the request was successful. In the case of one-way messages, it is difficult to be sure that the message arrived at its destination and was process successfully because no response is provided. By definition, with one-way calls, you probably care less about the success of the call (given that there is not a reply), but you do care that the message arrived. Unlike reliable the sessions discussed earlier in our series, queued calls make it possible not only to improve system performance by offloading work to another thread or computer, but also to guarantee arrival of a message and that the message will not be lost, since it can be stored in a durable message queue. In this webcast, we show you how to expose Windows Communication Foundation (WCF) services over Microsoft Message Queuing (MSMQ), demonstrate practical scenarios where queued services can be helpful, and explain various configuration settings for NetMsmqBinding and their implications on system reliability and security. September 04, 2007 67 minutes |
| 15. Extensibility |
| Key Concepts:
As rich in features as Windows Communication Foundation (WCF) is, you can make it even richer by hooking into the many points of extensibility provided by the service model. There are many reasons why you might write custom extensions, for example to: * Standardize coding practices. In this webcast, we provide you with a long list of extensibility points and their purposes, while demonstrating some popular requirements and their solutions. September 07, 2007 70 minutes |







Comments