Synopses & Reviews
Programming WCF Services is the authoritative, bestselling guide to Microsoft's unified platform for developing modern service-oriented applications on Windows. Hailed as the definitive treatment of WCF, this book provides unique insight, rather than documentation, to help you learn the topics and skills you need for building WCF-based applications that are maintainable, extensible, and reusable.
Author Juval Löwy -- one of the world's top .NET experts -- revised this edition to include the newest productivity-enhancing features of .NET Framework 4 and the Azure AppFabric Service Bus, as well as the latest WCF ideas and techniques. By teaching you the why and the how of WCF programming, Programming WCF Services will help you master WCF and make you a better software engineer.
- Learn about WCF architecture and essential building blocks, including key concepts such as reliability and transport sessions
- Use built-in features such as service hosting, instance and concurrency management, transactions, disconnected queued calls, security, and discovery
- Master the Windows Azure AppFabric Service Bus, the most revolutionary piece of the new cloud computing initiative
- Increase your productivity and the quality of your WCF services by taking advantage of relevant design options, tips, and best practices in Löwy's ServiceModelEx framework
- Discover the rationale behind particular design decisions, and delve into rarely understood aspects of WCF development
"If you choose to learn WCF, you've chosen well. If you choose to learn with the resource and guidance of Juval Löwy, you've done even better... there are few people alive today who know WCF as well."
--Ron Jacobs, Senior Technical Evangelist for WCF, Microsoft Corporation
Programming WCF Services is the authoritative, bestselling introduction to Microsoft's unified platform for developing service-oriented applications (SOA) on Windows. The third edition of this thoroughly practical book provides insight, not documentation, to help you learn the topics and skills you need for building WCF-based applications. Written by Microsoft software legend Juval Lowy, this new edition is revised for the latest productivity-enhancing features for C# 4.0 and .NET 4.0.
This fully updated edition includes:
- Extensive coverage of the .NET Services Bus: the .NET services bus is the most important, critical, needed and power feature of .NET 4.0, and it is based solely on WCF.
- Incorporating new techniques the author has developed for WCF over the past 18 months.
- Updates to WCF with .NET 4.0: These include minor improvements to the hosting and configuration abilities, discovery, and a few other small-scale features.
- Changes and features in Visual Studio 2010: These are minor changes for Visual Studio and its supporting tools.
- C# 4.0 features: There are a few handy features in the language I would like to update the book with.
- The book will also be the definitive work on the .NET Services Bus, and contains loads of cloud design patterns and helper classes, a must for every cloud developer.
About the Author
Juval Lowy is a software architect and the principal of IDesign, specializing in .NET architecture consulting and advanced training. Juval is Microsofts Regional Director for the Silicon Valley, working with Microsoft on helping the industry adopt .NET 4.0. He participates in the Microsoft internal design reviews for future versions of .NET and related technologies. Juval has published numerous articles, regarding almost every aspect of .NET development, and is a frequent presenter at development conferences. Microsoft recognized Juval as a Software Legend, one of the world's top .NET experts and industry leaders.
Table of Contents
Dedication; Foreword; Preface; How This Book Is Organized; Some Assumptions About the Reader; What You Need to Use This Book; Conventions Used in This Book; Using Code Examples; How to Contact O'Reilly; Safari® Books Online; Acknowledgments; Chapter 1: WCF Essentials; 1.1 What Is WCF?; 1.2 Services; 1.3 Addresses; 1.4 Contracts; 1.5 Hosting; 1.6 Bindings; 1.7 Endpoints; 1.8 Metadata Exchange; 1.9 More on Behavior Configuration; 1.10 Client-Side Programming; 1.11 Programmatic Versus Administrative Configuration; 1.12 WCF Architecture; 1.13 Working with Channels; 1.14 Transport-Level Sessions; 1.15 Reliability; Chapter 2: Service Contracts; 2.1 Operation Overloading; 2.2 Contract Inheritance; 2.3 Service Contract Factoring and Design; 2.4 Contract Queries; Chapter 3: Data Contracts; 3.1 Serialization; 3.2 Data Contract Attributes; 3.3 Data Contract Hierarchy; 3.4 Data Contract Equivalence; 3.5 Versioning; 3.6 Enumerations; 3.7 Delegates and Data Contracts; 3.8 Generics; 3.9 Collections; Chapter 4: Instance Management; 4.1 Behaviors; 4.2 Per-Call Services; 4.3 Per-Session Services; 4.4 Singleton Service; 4.5 Demarcating Operations; 4.6 Instance Deactivation; 4.7 Durable Services; 4.8 Throttling; Chapter 5: Operations; 5.1 Request-Reply Operations; 5.2 One-Way Operations; 5.3 Callback Operations; 5.4 Events; 5.5 Streaming; Chapter 6: Faults; 6.1 Error Isolation and Decoupling; 6.2 Fault Propagation; 6.3 Error-Handling Extensions; Chapter 7: Transactions; 7.1 The Recovery Challenge; 7.2 Transactions; 7.3 Transaction Propagation; 7.4 Transaction Protocols and Managers; 7.5 The Transaction Class; 7.6 Transactional Service Programming; 7.7 Explicit Transaction Programming; 7.8 Service State Management; 7.9 Instance Management and Transactions; 7.10 Callbacks; Chapter 8: Concurrency Management; 8.1 Instance Management and Concurrency; 8.2 Service Concurrency Modes; 8.3 Instances and Concurrent Access; 8.4 Resources and Services; 8.5 Resource Synchronization Context; 8.6 Service Synchronization Context; 8.7 Custom Service Synchronization Contexts; 8.8 Callbacks and Client Safety; 8.9 Callbacks and Synchronization Contexts; 8.10 Asynchronous Calls; Chapter 9: Queued Services; 9.1 Disconnected Services and Clients; 9.2 Queued Calls; 9.3 Transactions; 9.4 Instance Management; 9.5 Concurrency Management; 9.6 Delivery Failures; 9.7 Playback Failures; 9.8 Queued Versus Connected Calls; 9.9 The Response Service; 9.10 The HTTP Bridge; Chapter 10: Security; 10.1 Authentication; 10.2 Authorization; 10.3 Transfer Security; 10.4 Identity Management; 10.5 Overall Policy; 10.6 Scenario-Driven Approach; 10.7 Intranet Application Scenario; 10.8 Internet Application Scenario; 10.9 Business-to-Business Application Scenario; 10.10 Anonymous Application Scenario; 10.11 No Security Scenario; 10.12 Scenarios Summary; 10.13 Declarative Security Framework; 10.14 Security Auditing; Chapter 11: The Service Bus; 11.1 What Is a Relay Service?; 11.2 Programming the Service Bus; 11.3 The Service Bus Bindings; 11.4 Cloud as Interceptor; 11.5 Service Bus Buffers; 11.6 Service Bus Authentication; 11.7 Transfer Security; Introduction to Service Orientation; A Brief History of Software Engineering; Service Orientation; Tenets and Principles; What's Next?; Headers and Contexts; Message Headers; Context Bindings; Discovery; Address Discovery; Announcements; Service Bus Discovery; Publish-Subscribe Service; The Publish-Subscribe Design Pattern; The Publish-Subscribe Framework; Publish-Subscribe with the Service Bus; Publish-Subscribe with Discovery; Generic Interceptor; Intercepting Service Operations; Intercepting Client Calls; The Trace Interceptors; Identity Stack Propagation; WCF Coding Standard; General Design Guidelines; Essentials; Service Contracts; Data Contracts; Instance Management; Operations and Calls; Faults; Transactions; Concurrency Management; Queued Services; Security; The Service Bus; ServiceModelEx Catalog; Colophon;