WCF Master Class
Juval Lowy's five day intensive course covers WCF programming, design guidelines, pitfalls, original techniques and best practices. 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.
All attendees receive a free copy of Juval's book "Programming WCF Services" (O'Reilly 2007).
Download printable brochure (PDF)
About Juval
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.
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
“Readify provided us with design and implementation technical consulting, for BizTalk Server solution architecture and Web Services.”
Paul Pavlinovich, IT Systems Architect, South East Water



