Microsoft SQL Server 2000 Reporting Services verfügt über eine modulare, verteilte Architektur, die jeglichen Anforderungen an Skalierbarkeit und Flexibilität gerecht wird. Die Verarbeitung wird über mehrere Komponenten verteilt, die erweitert und in maßgeschneiderte Lösungen integriert werden können.
| Architektur und Komponenten | |
| Serverkomponenten | |
| Berichtsverarbeitung | |
| Servererweiterungen | |
| Programmierschnittstellen | |
| Clientkomponenten |
Das folgende Diagramm zeigt die Architektur von Reporting Services und die Beziehungen der einzelnen Komponenten zueinander.

Abbildung 1: Die Architektur von Reporting Services
Zentraler Bestandteil von Reporting Services ist eine komponentenbasierte Serverplattform, über die Daten abgerufen, verarbeitet und im gewünschten Ausgabeformat verfügbar gemacht werden können. Die drei Hauptkomponenten sind: Report Manager, Report Server und die Report Server-Datenbank.
| Komponente | Funktionalität | ||||||||||
Report Manager | Ein webbasiertes Tool für den Zugriff auf Berichte und die Berichtsverwaltung, das im Lieferumfang von Reporting Services enthalten ist. Diese Komponente wird auf einem Webserver installiert. | ||||||||||
Report Server | Ein Webdienst mit mehreren Komponenten, der folgende Aufgaben erfüllt:
| ||||||||||
Report Server-Datenbank | Eine SQL Server-Datenbank, in der die von Report Server benötigten Informationen gespeichert werden. Hierzu gehören Berichtsdefinitionen, Berichtsmetadaten, zwischengespeicherte Berichte, Snapshots und Ressourcen. Darüber hinaus sind in dieser Datenbank Sicherheitseinstellungen, Kontoinformationen und Zeitplan- und Übermittlungsdaten gespeichert. |
Um eine optimale Skalierbarkeit und Zuverlässigkeit zu gewährleisten, können mehrere Instanzen von Report Server in einer Webfarmkonfiguration bereitgestellt werden. Darüber hinaus kann die Report Server-Datenbank in einem Failovercluster ausgeführt werden.
Bei der Berichtsverarbeitung wird eine Berichtsdefinition aus der Report Server-Datenbank abgerufen und zusammen mit den Daten aus der Datenquelle zur Erstellung des Berichts verwendet. Anschließend kann der Bericht in ein bestimmtes Format umgewandelt werden, zum Beispiel in HTML oder in eine Microsoft Excel-Tabelle.
Im folgenden Diagramm wird beschrieben, wie ein Bericht verarbeitet wird.

Abbildung 2: Verarbeitungsfluss
Die Berichtsverarbeitung beginnt mit einer veröffentlichten Berichtsdefinition. Eine Berichtsdefinition enthält eine oder mehrere Abfragen, Layoutinformationen sowie Code oder Ausdrücke. Anhand der kombinierten Berichts- und Datenverarbeitung wird ein Dataset mit Layoutinformationen in einem Zwischenformat erstellt, das für einen schnellen Abruf gespeichert oder für die Anzeige in einem bestimmten Format an eine Renderingerweiterung gerichtet werden kann. Nach Abschluss der Verarbeitung werden Berichte als CLR-Assemblierung (Common Language Runtime) kompiliert und auf dem Report Server ausgeführt.
Der Report Server kann das Zwischenformat auf unterschiedliche Weise nutzen. Zu den Features, die mit Berichten im Zwischenformat arbeiten, gehören Caching, Snapshots und Berichtshistorie.
Beim Zugriff auf einen Bericht (entweder bedarfsgesteuert oder im Rahmen eines Abonnements) entscheidet der Report Server, ob der Bericht komplett neu erstellt oder ob ein zwischengespeicherter Snapshot verwendet wird. Hat ein Administrator angegeben, dass ein Snapshot eingesetzt werden kann, ruft der Report Server das Zwischenformat aus der Report Server-Datenbank ab und verwendet es zum Rendern des Berichts. Anderenfalls wird mit der ersten Phase der Verarbeitung begonnen (Berichtsdefinition).
Die Datenquellenverarbeitung, das Rendering und die Übermittlung von Berichten werden mit Hilfe von Modulen implementiert, die sich im Report Server befinden.
| Erweiterung | Funktionalität | ||||||||||||||||
Datenverarbeitung | Der Abruf von Daten für Berichte erfolgt über Datenverarbeitungserweiterungen. Mit Reporting Services können Sie Daten aus folgenden Quellen abrufen:
| ||||||||||||||||
Rendering | Da Berichtsrendering und die Erstverarbeitung von Berichtsdaten getrennt sind, kann ein Bericht in verschiedenen Formaten ausgegeben werden. Hierfür werden Renderingerweiterungen verwendet. Reporting Services enthält folgende Renderingerweiterungen:
| ||||||||||||||||
Verteilung | Mit Hilfe von Übermittlungserweiterungen werden gerenderte Berichte anhand eines Zeitplanes oder in Abhängigkeit von einem anderen Ereignis an verschiedene Ziele weitergeleitet. Reporting Services enthält folgende Übermittlungserweiterungen:
|
Reporting Services wurde für eine große Bandbreite von Bedürfnissen im Rahmen des Berichtswesens konzipiert. Hierzu gehören auch die Anforderungen unabhängiger Softwareanbieter (Independent Software Vendor oder ISV), die Berichterstellungsfeatures in ihre Tools und Anwendungen integrieren möchten.
Aufgrund des modularen Aufbaus und der umfassenden Anwendungsprogrammierschnittstellen (Application Programming Interfaces oder APIs) von Reporting Services können Anwendungsentwickler und Unternehmen problemlos Berichterstellungsfunktionen in ihre Altsysteme oder Drittanbieteranwendungen integrieren. Beispielsweise können Entwickler mit den offenen Schnittstellen und Erweiterungen Folgendes tun:
| • | Erstellung von Anwendungen zum Verwalten eines Report Servers mit Hilfe einer SOAP-Schnittstelle (Simple Object Access Protocol). |
| • | Erstellung von Anwendungen oder Verwendung eines Webbrowsers für das Bearbeiten von Berichtsausgabedaten über URLs. |
| • | Erstellung zusätzlicher Rendering-, Übermittlungs- und Datenverarbeitungserweiterungen mit Microsoft .NET Framework. |
XML-Webdienst
Der XML-Webdienst von Reporting Services bietet einen zentralen Zugang zur kompletten Report Server-Funktionalität und kann die Funktion einer Kommunikationsschnittstelle zwischen Clientprogrammen und dem Report Server erfüllen.
Der XML-Webdienst setzt SOAP über HTTP ein, sodass Entwickler benutzerdefinierte Tools für jeden beliebigen Teil des Berichtslebenszyklus erstellen können, von der Verwaltung bis hin zur Ausführung.
URL-Zugriff
Der Report Server von Reporting Services lässt einen Zugriff über URL-Anfragen zu, sodass Entwickler die Möglichkeit erhalten, Hyperlinks für Berichte und Report Server-Elemente in Anwendungen einzubetten. Beispielsweise können sie auf Berichte auf dem Report Server zugreifen bzw. diese anfordern, indem sie eine URL angeben und die entsprechenden Parameter übergeben.
Die Formatierung der URLs entspricht den Industrierichtlinien des World Wide Web Consortiums (W3C) und der Internet Engineering Task Force (IETF). Die URLs sind mit den meisten Browsern und Anwendungen kompatibel, die eine URL-Standardadressierung unterstützen.
WMI-Provider
Reporting Services verfügt über einen WMI-Provider (Windows Management Instrumentation) für Dienstverwaltungsfunktionen.
Modulare Erweiterungen
Reporting Services bietet eine Reihe von APIs, mit deren Hilfe Entwickler benutzerdefinierte Erweiterungen für Reporting Services-Lösungen erstellen können. Aufgrund der modularen Architektur können diese Erweiterungen problemlos in die Lösung eingebunden werden, ohne dass eine Unterstützung von Microsoft bei der Entwicklung benötigt wird.
Reporting Services unterstützt APIs und Erweiterungen für:
| • | Datenverarbeitungserweiterungen, mit deren Hilfe Softwareentwickler Datenverarbeitungserweiterungen für eigene Datenspeicher erstellen können. |
| • | Renderingerweiterungen für Berichte, welche die zahlreichen Renderingformate für die Übermittlung an bestimmte Geräte oder in bestimmten Formaten ergänzen. |
| • | Übermittlungserweiterungen für die Erstellung alternativer Methoden für die Verteilung von Berichten (zusätzlich zur standardmäßigen E-Mail-Versendung). |
| • | Sicherheitserweiterungen, sodass Benutzer Serveroperationen mit maßgeschneiderten Authentifizierungs- und Autorisierungsroutinen schützen können. |
Reporting Services umfasst eine Reihe von Clientkomponenten für die Erstellung und Verwaltung von Diensten. Für Lösungen von Drittanbietern können auch die Programmierschnittstellen in benutzerdefinierten Clientanwendungen eingesetzt werden.
| Clientkomponente | Funktionalität |
Report Designer | Ein grafisches Berichterstellungstool, das im Lieferumfang von Report Server enthalten ist. Dieses Tool ist in Microsoft Visual Studio® .NET 2003 integriert. |
Tools und Dienstprogramme | Reporting Services umfasst Befehlszeilenprogramme für die Dienstkonfiguration sowie für Skriptoperationen. |
Drittanbietertools | Drittanbieterclients zur Verwaltung und Erstellung von Berichten werden über offene Schnittstellen und eine Webdienste-API unterstützt. |
Hier erhalten Sie weitere technische Einzelheiten zu SQL Server Reporting Services.
| • | Reporting Services Deployment Guide (engl.) |