|
Programming WCF Services
Written by Microsoft software legend Juval Lowy, Programming
WCF Services is the authoritative introduction to
Microsoft's new, and some say revolutionary, unified
platform for developing service-oriented applications (SOA)
on Windows. Relentlessly practical, the book delivers
insight, not documentation, to teach developers
what they
need to know to build the next generation of SOAs.
After explaining the advantages of service-orientation for
application design and teaching the basics of how to develop
SOAs using WCF, the book shows how you can take advantage of
built-in features such as service hosting, instance
management, asynchronous calls, synchronization,
reliability, transaction management, disconnected queued
calls and security to build best in class applications.
Programming WCF Services focuses on the rationale behind
particular design decisions, often shedding light on
poorly-documented and little-understood aspects of SOA
development. Developers and architects will learn not only
the "how" of WCF programming, but also relevant design
guidelines, best practices, and pitfalls. Original
techniques and utilities provided by the author throughout
the book go well beyond anything that can be found in
conventional sources.
Based on experience and insight gained while taking part in
the strategic design of WCF and working with the team that
implemented it, Programming WCF Services provides
experienced working professionals with the definitive work
on WCF. Not only will this book make you a WCF expert, it
will make you a better software engineer. It's the Rosetta
Stone of WCF.
Foreword
Preface
1. WCF Essentials
What Is WCF?
Services
Addresses
Contracts
Hosting
Bindings
Endpoints
Metadata Exchange
Client-Side Programming
Programmatic Versus Administrative Configuration
WCF Architecture
Working with Channels
Reliability
2. Service Contracts
Operation Overloading
Contract Inheritance
Service Contracts Factoring and Design
Contract Queries
3. Data Contracts
Serialization
Data Contract Attributes
Data Contract Hierarchy
Data Contract Equivalence
Versioning
Enumerations
Delegates and Data Contracts
Data Sets and Tables
Generics
Collections
4. Instance Management
Behaviors
Per-Call Services
Per-Session Services
Singleton Service
Demarcating Operations
Instance Deactivation
Throttling
5. Operations
Request-Reply Operations
One-Way Operations
Callback Operations
Events
Streaming
6. Faults
Errors and Exceptions
Fault Contracts
Error-Handling Extensions
7. Transactions
The Recovery Challenge
Transactions
Transaction Propagation
Transaction Protocols and Managers
The Transaction Class
Transactional Service Programming
Explicit Transaction Programming
Service State Management
Instance Management and Transactions
Callbacks
8. Concurrency Management
Instance Management and Concurrency
Service Concurrency Mode
Instances and Concurrent Access
Resources and Services
Resource Synchronization Context
Service Synchronization Context
Custom Service Synchronization Context
Callbacks and Client Safety
Callbacks and Synchronization Context
Asynchronous Calls
9. Queued Services
Disconnected Services and Clients
Queued Calls
Transactions
Instance Management
Concurrency Management
Delivery Failures
Playback Failures
Queued Versus Connected Calls
Response Service
HTTP Bridge
10. Security
Authentication
Authorization
Transfer Security
Identity Management
Overall Policy
Scenario-Driven Approach
Intranet Application
Internet Application
Business-to-Business Application
Anonymous Application
No Security
Scenarios Summary
Declarative Security Framework
Security Auditing
A. Introduction to Service-Orientation
B. Publish-Subscribe Service
C. WCF Coding Standard
Index
|