Математика | ||||
Pro SQL Server 2005 Service Broker-Klaus Aschenbrenner 2007 str 436 | ||||
Pro SQL Server 2005 Service Broker-Klaus Aschenbrenner 2007 str 436
Contents at a Glance Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii About the Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv About the Technical Reviewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi PART 1 ¦ ¦ ¦ The Service Broker Programming Model ¦CHAPTER 1 Fundamentals of Message-Based Processing . . . . . . . . . . . . . . . . . . . . . . 3 ¦CHAPTER 2 Introduction to Service Broker. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 ¦CHAPTER 3 Service Broker in Action. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ¦CHAPTER 4 Service Broker Activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 ¦CHAPTER 5 Service Broker with Managed Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 ¦CHAPTER 6 Locking and Transaction Management . . . . . . . . . . . . . . . . . . . . . . . . . . 151 ¦CHAPTER 7 Distributed Service Broker Applications. . . . . . . . . . . . . . . . . . . . . . . . . . 221 PART 2 ¦ ¦ ¦ Advanced Service Broker Programming ¦CHAPTER 8 Advanced Distributed Service Broker Programming . . . . . . . . . . . . . . . 253 ¦CHAPTER 9 Service-Oriented Database Architecture . . . . . . . . . . . . . . . . . . . . . . . . . 285 ¦CHAPTER 10 Real-World Application Scenarios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 ¦CHAPTER 11 High Availability and Scalability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 ¦CHAPTER 12 Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 ¦INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 Contents vii Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii About the Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv About the Technical Reviewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi PART 1 ¦ ¦ ¦ The Service Broker Programming Model ¦CHAPTER 1 Fundamentals of Message-Based Processing . . . . . . . . . . . . . . . . 3 Message Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Message Anatomy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Messaging in Daily Life . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Why Messaging? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Asynchronous Message Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Deferred Message Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Fault Tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Distributed Systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Messaging Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Performance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Queue Reader Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Transaction Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Message Sequencing and Correlation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Maintenance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Messaging Architectures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 SOA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 SODA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Available Messaging Technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 MSMQ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Queued Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 BizTalk Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 XML Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 WCF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 viii ¦CONTENTS ¦CHAPTER 2 Introduction to Service Broker. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Conversations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Dialogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Dialog Lifetime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Conversation Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Message Sequencing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Reliable Delivery. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Anatomy of a Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Message Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Contracts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Queues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Service Programs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Routes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Transport Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Dialog Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Message Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 ¦CHAPTER 3 Service Broker in Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Defining Service Broker Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Message Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Contracts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Queue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Sending Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Retrieving and Processing Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Retrieving Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Processing Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Error Handling in Service Programs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Poison-Message Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Ending Conversations with Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 ¦CHAPTER 4 Service Broker Activation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Activation Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Startup Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 When Is Activation Needed? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 ¦CONTENTS ix Internal Activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Controlling Message Throughput. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Stored-Procedure Signing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Calling a Stored Procedure in Another Database . . . . . . . . . . . . . . . . . . . 90 Using a Single Stored Procedure to Process Many Queues . . . . . . . . . . . 94 External Activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Parallel Activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Troubleshooting Activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 When the Activated Stored Procedure Doesn’t Run . . . . . . . . . . . . . . . . 117 When Messages Remain on the Queue. . . . . . . . . . . . . . . . . . . . . . . . . . 117 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 ¦CHAPTER 5 Service Broker with Managed Code . . . . . . . . . . . . . . . . . . . . . . . . 119 The Managed Assembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Architecture and Design of the Managed Assembly. . . . . . . . . . . . . . . . . . . . . 123 Building a Managed Service Broker Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Building a Managed Service Program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Derive Your Service Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Implement an Entry Point. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Implement Message Type Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Deploy the Assembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Register the Managed Stored Procedure . . . . . . . . . . . . . . . . . . . . . . . . 138 Configure the Service Broker Activation . . . . . . . . . . . . . . . . . . . . . . . . . 139 Using the Service Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 A Practical Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 ¦CHAPTER 6 Locking and Transaction Management . . . . . . . . . . . . . . . . . . . . . 151 Conversation Groups and Locks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 State Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 GET CONVERSATION GROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 The Receive Loop with State Handling . . . . . . . . . . . . . . . . . . . . . . . . . . 160 State Handling with a Managed Stored Procedure . . . . . . . . . . . . . . . . . 164 A Practical Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Compensation Logic with Service Broker . . . . . . . . . . . . . . . . . . . . . . . . 198 Transaction Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Basic Receive Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Measuring Performance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 Batched Commits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 Cursor-Based Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Set-Based Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Binary Payload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 x ¦CONTENTS ¦CHAPTER 7 Distributed Service Broker Applications. . . . . . . . . . . . . . . . . . . . 221 Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Service Broker Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 Sending a Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 Routing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Routing Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Managing Routes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 Distributed Applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 The Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 Setting Up Routes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 Establishing a Communication Channel . . . . . . . . . . . . . . . . . . . . . . . . . 232 Setting Up Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 PART 2 ¦ ¦ ¦ Advanced Service Broker Programming ¦CHAPTER 8 Advanced Distributed Service Broker Programming . . . . . . . 253 Transport Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 LOCAL Route . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 TRANSPORT Route. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Dialog Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 Service Broker Security Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 Transport Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 Dialog Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 Recommendation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Transport Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Setting Up Tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 The Captured Service Broker Message . . . . . . . . . . . . . . . . . . . . . . . . . . 273 Replaying Service Broker Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Replacing Certificates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Transport Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Dialog Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 Service Listing Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 Exporting a Service Listing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 Importing a Service Listing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 ¦CONTENTS xi ¦CHAPTER 9 Service-Oriented Database Architecture . . . . . . . . . . . . . . . . . . . 285 Service-Oriented Database Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 SOA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 Reasons for SODA Architectures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Requirements for a SODA Service Provider. . . . . . . . . . . . . . . . . . . . . . . 288 Data in SODA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 Outside Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 Inside Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 SODA Features in SQL Server 2005 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 XML Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Native Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 SQLCLR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 Query Notifications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 ¦CHAPTER 10 Real-World Application Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . 329 Asynchronous Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 Defining the Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 Implementing the Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 Creating the Service Broker Infrastructure . . . . . . . . . . . . . . . . . . . . . . . 333 Writing the Service Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 Batch Frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 Creating the Service Broker Infrastructure . . . . . . . . . . . . . . . . . . . . . . . 338 The Implementation of the Batch Framework . . . . . . . . . . . . . . . . . . . . . 339 Extending the Batch Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 Publish-Subscribe Frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 Defining the Infrastructure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 Applying Publisher Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 Publishing Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 Priority-Based Message Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 Implementing Priority-Based Messaging. . . . . . . . . . . . . . . . . . . . . . . . . 358 Reliable Web Service Requests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 Service Broker Infrastructure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 Implementation of the Web Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 Using the Web Proxy in a Smart Client . . . . . . . . . . . . . . . . . . . . . . . . . . 388 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 xii ¦CONTENTS ¦CHAPTER 11 High Availability and Scalability . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 Database Mirroring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 Implementation Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 Setting Up Database Mirroring. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 Using Service Broker with Database Mirroring . . . . . . . . . . . . . . . . . . . . 402 Load Balancing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 Service Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 Initiator Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406 Message Forwarding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 Reliable Delivery. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 Network Topology Abstraction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409 Centralized Routing Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410 Work Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410 Using Message Forwarding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 Monitoring Message Forwarding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 Configuration Notice Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 Implementing Dynamic Routing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 Implementing the Configuration Notice Service . . . . . . . . . . . . . . . . . . . 417 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 ¦CHAPTER 12 Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 SQL Profiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 Using SQL Profiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 System Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 SQL Server Management Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432 Creating Service Broker Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 Retrieving Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 Цена: 200руб. |
||||