Vorteile der Programmierung mit Service Broker

Für viele Datenbankanwendungen sind heute Queuing und asynchrones Messaging erforderlich. Zur Erfüllung dieser Anforderungen stellt Service Broker ein neues warteschlangenbasiertes, permanentes Messagingframework bereit. Mithilfe der von Service Broker bereitgestellten Transact-SQL-API können Sie problemlos Dienste entwickeln, um Anwendungsanforderungen im Hinblick auf Queuing oder asynchrone Kommunikation zu erfüllen.

Das Programmieren mit Service Broker bietet u. a. folgende Vorteile:

  • Flexible Entwicklung:: Die in einer einzelnen verteilten Anwendung verwendeten Programme können in mehreren Sprachen geschrieben werden. Die einzelnen Programme stellen die Funktionalität der einzelnen Komponenten einer verteilten Anwendung bereit.

  • Höhere Sicherheit: Sie können Sicherheitsanforderungen durch Zertifikate ausdrücken, sodass für die Anwendungskomponenten nicht der gleiche Sicherheitskontext gelten muss. Service Broker verwendet die Sicherheitsfeatures von SQL Server zum Sichern der Anwendungen.

  • Transaktionsverarbeitung: Die Nachrichtenverarbeitung wird in SQL Server-Transaktionen ausgeführt, um die Datenintegrität sicherzustellen. Service Broker unterstützt transaktionales Remotemessaging über eine Standardverbindung mit der Datenbank.

  • Garantierte Reihenfolge: Service Broker garantiert, dass eine Gruppe zusammengehöriger Nachrichten genau einmal und in der richtigen Reihenfolge übermittelt und verarbeitet wird, d. h., für die Bereitstellung dieser Funktionalität ist keine zusätzliche Codierung erforderlich.

  • Zuverlässige Übermittlung: Alle für eine Konversation (eine Gruppe zusammengehöriger Nachrichten, die zwischen mindestens zwei Diensten ausgetauscht werden) erforderlichen Daten werden in SQL Server permanent gespeichert. Service Broker unterstützt Cluster und Datenbankspiegelung. Eine Konversation kann auch bei Neustarts des Systems, Serverfailover, Netzwerkausfällen usw. fortgeführt werden, ohne dass Fehler auftreten oder Daten verloren gehen.

  • Verbesserte Skalierbarkeit: Durch das Service Broker-Routing werden Nachrichten auf Grundlage des Dienstnamens übermittelt, nicht auf Grundlage der Netzwerkadresse des Computers, auf dem der Dienst ausgeführt wird. Daher können Sie eine Anwendung auf mehreren Computern installieren, ohne den Anwendungscode zu ändern.

  • Nutzung vorhandenen Wissens: Service Broker verwendet Transact-SQL, um Objekte zu erstellen. Anwendungen, die Service Broker verwenden, werden meist in Transact-SQL oder in mit Microsoft .NET Framework kompatiblen Sprachen implementiert. Sie müssen keine neue Sprache erlernen, um Service Broker-Anwendungen zu erstellen.