| | | Copyright |
| | | Dedication |
| | | Acknowledgments |
| | | Introduction |
| | | | Who Should Read This Book |
| | | | The Focus of This Book |
| | | | The Three-Part Structure of This Book |
| | | | System Requirements |
| | | | Code Samples |
| | | | Variable Naming |
| | | | Feedback |
| | | | Microsoft Press Support |
|
| | | Part I: Key Technologies |
| | | | Chapter 1. Understanding Distributed Architecture |
| | | | What Is a Distributed Application? |
| | | | Client/Server Architecture |
| | | | Distributed Architecture |
| | | | Summary |
|
| | | | Chapter 2. .NET Components |
| | | | What Is a Component? |
| | | | The Component's Role in a Distributed System |
| | | | Dissecting a Sample Component |
| | | | The IComponent Interface |
| | | | Connection Strings and Configuration Files |
| | | | Deploying an Assembly |
| | | | Versioning Assemblies |
| | | | Using Configuration Files with Shared Assemblies |
| | | | Summary |
|
| | | | Chapter 3. Disconnected Data: The Universal Language |
| | | | The Role of ADO.NET in a Distributed System |
| | | | The ADO.NET Object Family |
| | | | The DataSet |
| | | | XML and Cross-Platform Data Exchange |
| | | | Summary |
|
| | | | Chapter 4. .NET Remoting: A More Durable DCOM |
| | | | The Role of .NET Remoting in a Distributed System |
| | | | .NET Remoting Fundamentals |
| | | | Key .NET Remoting Design Decisions |
| | | | A Simple Remoting Server |
| | | | SingleCall Objects |
| | | | Singleton Objects |
| | | | Bidirectional Communication |
| | | | Configuring Object Lifetime |
| | | | Common Remoting Exceptions |
| | | | Summary |
|
| | | | Chapter 5. XML Web Services (RPC the Easy Way) |
| | | | The Role of XML Web Services in a Distributed System |
| | | | .NET Remoting vs. XML Web Services |
| | | | XML Web Service Plumbing |
| | | | Creating an XML Web Service |
| | | | Testing the XML Web Service |
| | | | Consuming the XML Web Service |
| | | | ASP.NET Platform Services |
| | | | Publishing an XML Web Service |
| | | | Cross-Platform XML Web Services |
| | | | Summary |
|
| | | | Chapter 6. Threaded Clients (Responsive Interfaces) |
| | | | What Is Multithreading? |
| | | | The Role of Threaded Clients in a Distributed System |
| | | | Threading in .NET |
| | | | Asynchronous Delegates |
| | | | Wait Handles |
| | | | Callbacks |
| | | | Asynchronous I/O |
| | | | Custom Threading |
| | | | Locking |
| | | | Custom Threaded Objects |
| | | | Summary |
|
| | | | Chapter 7. Thread Pools and Services (Scalable Programming) |
| | | | The Role of Threading in a Distributed System |
| | | | Singleton Basics |
| | | | An XML Web Service Singleton |
| | | | Windows Services |
| | | | Summary |
|
| | | | Chapter 8. Messaging (Lightweight Communication) |
| | | | The Role of Messaging in a Distributed System |
| | | | Fire-and-Forget Communication |
| | | | Introducing Message Queuing |
| | | | Message Queuing Basics |
| | | | Manipulating Queues in .NET |
| | | | Sending a Message |
| | | | Message Queues in a Distributed Application |
| | | | Summary |
|
| | | | Chapter 9. COM+ (Component Services) |
| | | | The Role of COM+ in a Distributed System |
| | | | COM and Interop |
| | | | COM+ Registration Basics |
| | | | Object Pooling |
| | | | Just-in-Time Activation |
| | | | Automatic Transactions |
| | | | Less Useful COM+ Services |
| | | | Summary |
|
|
| | | Part II: Developing an Architecture |
| | | | Chapter 10. Enterprise Application Modeling |
| | | | Key Considerations for Distributed Components |
| | | | Performance vs. Scalability |
| | | | Designing in Tiers |
| | | | Distributed Design Patterns |
| | | | Choosing the Right .NET Technology |
| | | | Physical Architecture |
| | | | Summary |
|
| | | | Chapter 11. Advanced Remoting Techniques |
| | | | Developing with .NET Remoting in Mind |
| | | | .NET Remoting and XML Web Services Revisited |
| | | | Programmatic Registration |
| | | | Dynamic Publication |
| | | | Summary |
|
| | | | Chapter 12. Optimizing the Data Tier |
| | | | Connection Pooling |
| | | | Developing a Data Transfer Plan |
| | | | Caching |
| | | | Optimizing the Database |
| | | | Summary |
|
| | | | Chapter 13. Implementing Security |
| | | | Authentication and Authorization |
| | | | Windows Authentication |
| | | | Custom Role-Based Authentication |
| | | | Encryption |
| | | | SSL |
| | | | The .NET Encryption Classes |
| | | | Summary |
|
| | | | Chapter 14. Monitoring, Logging, and Profiling |
| | | | Server-Side Logging |
| | | | Client-Side Logging |
| | | | Profiling with Performance Counters |
| | | | Summary |
|
| | | | Chapter 15. Deployment Strategies |
| | | | Traditional Deployment Problems and .NET Solutions |
| | | | The Application Launcher |
| | | | The Application Browser |
| | | | Summary |
|
|
| | | Part III: Case Studies |
| | | | Chapter 16. Invoicer.NET Traveling Sales |
| | | | Defining the Problem |
| | | | Defining the Solution |
| | | | The Data Layer |
| | | | The Back-End OrderProcessor Service |
| | | | The Web Front End |
| | | | The XML Web Service Layer |
| | | | Migration Strategies |
| | | | Summary |
|
| | | | Chapter 17. Transact.NET Order Fulfillment |
| | | | Defining the Problem |
| | | | Defining the Solution |
| | | | The Data Layer |
| | | | The Order Submission XML Web Service |
| | | | The Order Client |
| | | | The Internal OrderFill Client |
| | | | Future Directions |
| | | | Summary |
|
| | | | Chapter 18. SuperCompute.NET Work Requests |
| | | | Defining the Problem |
| | | | Defining the Solution |
| | | | The Data Layer |
| | | | The Render Web Service |
| | | | The Client |
| | | | The Task Processor |
| | | | Future Directions |
| | | | Summary |
|
| | | | Chapter 19. Microsoft Case Studies |
| | | | The IBuySpy Storefront |
| | | | The IBuySpy Portal |
| | | | Duwamish 7 |
| | | | .NET Pet Shop |
| | | | Fitch & Mather Stocks 7 |
| | | | Nile Books |
| | | | ColdStorage |
| | | | Jaggle |
| | | | Favorites Service |
|
|
| | | About the Author |
| | | | Matthew MacDonald |
|