WCF Master Class

Juval Lowy's WCF Master Class is a five day intensive course covering WCF programming, design guidelines, pitfalls, original techniques and best practices. Don't miss this unique opportunity to learn from Brian Noyes, Microsoft Regional Director (Mid-Atlantic Region), Microsoft Most Valuable Professional (MVP) and Chief Architect at IDesign. Brian has extensive experience in WCF and offers a profound insight on the technology and its applications.
DATE: Monday 19 - Friday 23 October 2009 (9am-5pm daily)
LOCATION: SYDNEY | Cliftons, 200 George Street (click here for location information & map)
All attendees receive a free copy of Juval's book "Programming WCF Services" (O'Reilly 2007).
Download printable brochure (PDF)
About Juval (course author)
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.
About Brian Noyes (course presenter)
Brian Noyes is a Microsoft Regional Director for the Mid-Atlantic region. He is an MVP and has been developing software systems for more than fifteen years. Brian speaks at major software conferences around the world, and writes for a variety of software journals and magazines. He has published two books "Smart Client Deployment with ClickOnce" and "Data Binding with Windows Forms 2.0", and has been published in the following, "Build Composite WPF Applications" CoDe Magazine, Nov 2008 , "Advanced WPF: Understanding Routed Events and Commands", MSDN Magazine, Sept 2008 and "Connect Apps with WCF", Visual Studio Magazine, Feb 2008.
Course Overview
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 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.
Target Audience
The course is aimed at .NET developers and solution architects. A basic familiarity with C# 2.0 and system programming is recommended.
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
.NET Service Bus
- What is Windows Azure
- Why a relay services
- The relay bindings
- Connectivity modes
- Event publishing and subscription
- Service bus authentication
- End-to-End security
Testimonials
“Juval is a Jedi Master of all things related to .NET and component programming. I am honored to have had his wisdom imparted to me. Juval is Yoda!” Aaron Leckinger, Software Developer, Burbank, CA
“You will be challenged by the depth of the IDesign knowledge, The WCF class will constantly surprise you with new paradigms. The WCF class summaries and best-practice approaches have saved me probably years of wasted time. You quickly learn the proper techniques and every example has some real world business use. In the end, you leave with a framework of designs that can be expanded to almost any high level that might be used in the industry.” Charles Wilson, Senior Developer and Analyst, Transamerica
“Visual Studio Team Suite (VSTS) is Microsoft's answer to enterprise development on any scale. Business that do not take advantage of VSTS will be at a major disadvantage to those that do.”
Paul Glavich, Principal Consultant, Readify



