Technical Readiness Specialists - The success strategy for early or first time adoption of Microsoft technology
Industrial Strength Series - WCF Master Class

Juval LowyJuval Lowy's five day intensive course covers WCF programming, design guidelines, pitfalls, original techniques and best practices.

All attendees receive a free copy of Juval's book "Programming WCF Services" (O'Reilly 2007).

Juval Lowy is a software architect and the principal of IDesign, specialising in .NET 3.0 architecture consulting and advanced .NET 3.0 training. Juval is Microsoft's Regional Director for the Silicon Valley, working with Microsoft on helping the industry adopt .NET 3.0. Juval participates in the Microsoft internal design reviews for future versions of .NET and related technologies. Juval published numerous articles, regarding almost every aspect of .NET development, and is a frequent presenter at development conferences. Microsoft recognised Juval as a Software Legend as one of the world's top .NET experts and industry leaders. Learn more about this course.

Windows Communication Foundation (WCF, formally known as Indigo) is Microsoft's implementation of a set of industry standards defining service interactions. WCF unifies the previous generations of Microsoft's technologies, offering the interoperability of ASP.NET web services, the extensibility of remoting and the productivity and power of Enterprise Services.

The course is aimed at .NET developers and solution architects. A basic familiarity with C# 2.0 and system programming is recommended.

The course explains the motivation for service-orientation, and provides an in depth discussion on how to develop service-oriented applications using WCF. Attendees will learn how to take advantage of built-in features such as service hosting, instance management, asynchronous calls, synchronisation, reliability, transaction management, disconnected queued calls and security.

Whilst the training demonstrates how to use these features, it focuses on the 'why' and the rationale behind particular design decisions, often shedding light on poorly-documented and understood aspects. The material presented includes original techniques and utilities and goes well beyond anything you can find in conventional training sources.

The material presented includes Juval's original techniques and utilities and goes well beyond anything you can find in conventional sources. On top of the frontal presentations, the class uses lab exercise and numerous (100 ) conceptual demos and original tools and utilities. Attendees will find the demonstrations useful not only during the training class but will find they serve as a starting point for new projects, and as a rich reference and samples source back in the field. Time permitting, the class concludes with a massive case study exercising the design cycle using WCF, from use cases to design diagrams and a vertical slice of the implementation, as a way of validating the architecture.

Don't miss on this unique opportunity to learn WCF from Juval who has been part of the strategic design effort for WCF from the beginning, and who offers a profound insight on the technology and its applications.

Course Outline

Introduction to Service-Orientation

  • What are services?
  • Service-oriented architecture
  • Service-oriented applications
  • Service-oriented programming

WCF Essentials

  • Addresses
  • Service contracts
  • Hosting
  • Binding
  • Endpoints
  • Client-side programming
  • WCF architecture
  • Reliability

Contract Design and Factoring

  • Service contract design
  • Contract overloading
  • Contract inheritance
  • Contract factoring techniques
  • Contract metrics

Data Contracts

  • Service parameters and serialisation
  • WCF formatter
  • Data contracts
  • Data sets and tables conversion
  • Generic type parameters
  • Collections
  • Data contract hierarchy
  • Versioning
  • Data contract events

Service Instance Management

  • Design for scalability
  • Per-call services
  • Service behaviours
  • Session-full services
  • Session termination
  • Singleton service
  • Demarcating operations
  • Instance deactivation
  • Throttling

Operations

  • Operations and bindings
  • Request-reply operations
  • One-way operations
  • Duplex calls and callbacks
  • Events
  • Publish/Subscribe service
  • Steaming

Faults and Errors

  • Faults Vs. exceptions
  • Fault contracts
  • Debugging
  • Callback faults
  • Error handling extension
  • Fault propagation policies

Transactions

  • Transactions problem space
  • Transaction management and propagation
  • Transaction protocols
  • WCF transaction managers
  • Transaction objects
  • Service transaction configuration
  • Declarative and explicit voting
  • Timeout and isolation
  • Explicit transactional programming
  • Transaction events
  • Concurrency management
  • Service-state management
  • Instance management and transactions

Concurrency Management

  • Service thread safety
  • Concurrency modes
  • Callback and re-entrancy
  • Resources and services
  • Deadlock avoidance
  • One-way calls and concurrency
  • Resource synchronisation context
  • UI thread affinity
  • Service synchronisation context
  • Callbacks and client safety
  • Delegate-based asynchronous calls
  • Proxy-based asynchronous calls
  • Asynchronous V's synchronous calls

Queued Services

  • Disconnected services and clients
  • Queued contract
  • Configuration and setup
  • Transactions and queues
  • Instance modes and queued calls
  • Concurrency management
  • Queued calls and sessions
  • Failure handling
  • Design and architecture
  • Response service
  • Queued calls and security
  • Queued pub/sub service
  • Queued calls over the Internet

Security

  • Security aspects
  • Transfer security modes
  • Transport security
  • Message security
  • Authentication
  • Authorisation
  • WCF security model
  • Identity management
  • Securing Intranet applications
  • Securing Internet applications
  • Business to Business security
  • Anonymous callers
  • Declarative security