IN THIS CHAPTER
Scalability, which refers to a system's ability to maintain the performance as the load increases, is one of the key characteristics of an enterprise application. The increased load can be due to a larger number of users, a larger number of transactions, more complex queries, or a larger volume of data. SQL Server 2005 introduces several new features to aid you in building scalable and distributed database applications. Service Broker is one such new feature that allows you to build scalable, reliable, secure, asynchronous, message-based, loosely coupled, distributed database applications.
Scalable application architectures often implement techniques such as performing parts of processing asynchronously, queuing the tasks for deferred or batch processing, and breaking tight coupling to distribute the load and to scale out. For instance, when an order record is inserted, the order fulfillment tasks can be queued, performed asynchronously, or performed on a different machine to increase the overall throughput of the order-accepting application and to shorten the interactive response time. Service Broker, a new component in the SQL Server 2005 database engine, provides the infrastructure and services for building such asynchronous, queued, distributed database applications. New DDL and DML statements have been introduced to create queues, send messages, receive messages, and so on. In other words, Service Broker acts as a framework and extensions to Transact-SQL (T-SQL) that you use to create message-based applications. SQL Server 2005 itself makes use of Service Broker to support various new features, such as Database Mail (to asynchronously send emails), Query Notification (to asynchronously inform the client about change in the data), Event Notification (to asynchronously send DDL and trace event notifications), and so on.
This chapter introduces Service Broker concepts and explores ways to configure, administer, monitor, and troubleshoot Service Broker applications.