Microsoft SQL Server 2005 Reporting Services Architektur und Verwendung Einführung • • • • • Architektur Definition Lebenszyklus Einsatz-Szenario Schlüssel-Vorteile Architektur Analysis Services OLAP & Data Mining Data Transformation Services ETL SQL Server Relational Engine Management Tools Development Tools Reporting Services Architektur Browser Datenquellen (SQL, OLE DB, XML/A, ODBC, Oracle, Sonstige) Office XML Web Service-Schnittstelle Eigene Anwendung Sicherheitsdienste (NT, Passport, Eigene) Report Server Berichtsverarbeitung Ausgabeformate (HTML, Excel, PDF, Eigene) Datenverarbeitung Sicherheit Formatierung Ausgabe SQL Server-Katalog Ausgabeziele (E-mail, SharePoint, Eigene) Definition • Berichtsplattform ist nutzbar für traditionelle statische und interaktive Berichte • Skalierbare, verwaltbare und einbettungsfähige Server-Infrastruktur • Integriert mit SharePoint, Office-Anwendungen, Browser und Entwicklungsumgebungen • Einzelne Plattform und Werkzeuge für alle Typen von strukturierten Daten (relational, hierarchisch, multidimensional) aus unterschiedlichen Datenquellen (SQL Server, Oracle, ODBC-DBs und XML) • Durch URL- und Web Service-Programmierbarkeit in .NET/Java/PHPAnwendungen nutzbar. • Ausbaufähige Lösung für erweiterte Untersuchungen hinsichtlich Data Mining mit den Analysis Services 2005 Lebenszyklus: Berichtserstellung • • • Berichte werden beschrieben in Report Definition Language (RDL), einem XML-Format Verwendung von Microsoft- oder Drittanbieter-Werkzeugen mit RDLUnterstützung Erstellen von Einzelberichten aus mehreren Quellen (SQL, OLE DB, ODBC, Oracle und .NET-Quellen) Lebenszyklus: Bericht-Management Berichtsdefinitionen, Ordner und Ressourcen werden veröffentlicht und verwaltet in einem Reporting Web Service Verwaltete Berichte können bei Bedarf oder per Termin abgerufen werden und werden für Konsistenz und Leistung gespeichert. Skalierbare und anpassungsfähige Architektur Lebenszyklus: Berichtsauslieferung Traditionelle (Papier) und interaktive (Web) Berichte Bei Bedarf (“pull”) oder ereignisbasierte (“push”) Lieferung Auswahl aus verschiedenen Formaten (HTML, Excel, PDF, XML) Ausgabe auf fast jedem Gerät (E-Mail, Dateiverteilung, etc.) Einsatz-Szenario Datenquellen Bericht-Metadaten & Cache Failover Cluster Berichtsserver Web Farm Klienten IIS Report Server Oracle SQL Server 2005 Windows Server Windows Server IIS SQL Server Report Server SQL Server 2005 DB2 Windows Server Windows Server IIS Dateien, OLE DB, ODBC, .NET Report Server Windows Server Verteilung Schlüssel-Vorteile • Offene, erweiterbare und anpassungsfähige Berichtsplattform für Unternehmen • (Open)Office-Integration • VS.NET-Entwicklungsumgebung • Zusammenarbeit mit existierenden Datenquellen • Skalierbare, flexible und kosteneffiziente Lösung Fragen... Gestaltung • • • • • Erstellung Layout Berichtselemente Dynamik Bereitstellung Erstellung • Report Designer befindet sich in Visual Studio.NET 2005 • Zwei Erstellungswege – Berichtsassistent – Leerer Bericht • Andere Optionen – XML-Konfigurationsdatei erstellen – Anwendung erstellen, die Definitionen generieren – Einsatz eines Drittanbieter-Tools Erstellung • Datenzugriff erfolgt über T-SQL (SQL, Prozeduren, Funktionen, Sichten)oder grafisch über einen komplexen Abfrage-Designer Erstellung • Die allgemeine Berichtsgestaltung erfolgt über – zwei verschiedene Design-Oberflächen – die Webservices-Schnittstelle – die direkte Erzeugung von RDF-Dateien im XML-Format Layout • Freies Layout – Ähnlich der Formularerstellung – Begrenzungen können eingestellt werden – Berichtselemente können in einigen Anzeigegeräten dynamisch erweitert werden – Berichtselement können verschachtelt werden • Seitenumbrüche – Logische und physikalische Seitenumbrüche – Optionale Seitenköpfe und Fußzeilen Berichtselemente • Textbox $100,000 • Bild • Line • Rechteck • Unterbericht • Datenregionen (Liste, Tabelle, Matrix, Chart) Berichtselemente: Eigenschaften Alle Berichtselemente • Background Color* • Background Image* • Border Color* • Border Style* • Border Width* • Color* • Padding* *Dynamische Ausdrücke Textboxen • Can Grow • Font Family* • Font Size* • Font Style* • Font Weight* • Format* • Hide Duplicates • Line Height* • Text Align* • Text Decoration* • Vertical Align* Berichtselemente: Liste • Wiederholbare Bereiche mit Freiform-Layout • Ähnlich wie “bands” in anderen Berichtssystemen – Aber mehrere Listen können nebeneinander stehen • Listen innerhalb von Listen möglich, um Hierarchieebenen zu erstellen • Komplexe wiederholbare Bereiche möglich Brian $10,000 Jason $20,000 Steve $30,000 Berichtselemente: Tabelle • Wie Listen mit Spalten • Feste Spalten, sich wiederholende Reihen • Zellen können mehrere Spalten überspannen • Mehrere Tabellenreihen pro Datensatz möglich • Tabellenzellen können jedes Berichtselement enthalten • Schneller und kleiner als Listen • Einfache Elementausrichtung • Einsatz für die meisten Berichte Person Region Sales Brian North $10,000 Dan North $20,000 Total North $30,000 Steve East $50,000 Total East $50,000 Grand Total $80,000 Berichtselemente: Matrix • Wiederholungen in Reihen und Spalten • Auch bekannt als Pivot- oder Kreuztabelle • Beliebiges Format der Köpfe • Unterschiedliches Format für Untersummen • Matrix-Zellen können beliebge Berichtselemente enthalten • Einsatz, wenn Spaltenköpfe auch Datenwerte sind Sales 2000 2001 2002 Brian $100 $110 $120 Jason $200 $250 $300 Steve $300 $400 $300 Total $600 $760 $720 Berichtselemente: Charts • Daten aus Feldern in einem DataSet (basierend auf Ausdrücken) • Umfangreiches Gestaltungsmöglichkeiten, Typen und Eigenschaften • Gleiche Funktionalität wie Matrix (gruppieren, sortieren, filtern) • Kategorien können Gruppen oder Skalare sein Dynamik: Ausdrücke • Die meisten Eigenschaften können über Ausdrücke dynamisch gesteuert werden • Ausdrücke benutzen Visual Basic .NET-Syntax • Werte aus DataSets • Werte von anderen Berichtselementen • Werte von globalen Eigenschaften und Benutzer-Eigenschaften • Aggregate: Sum, Avg, Count, Min, First, etc. • Beispiele – – – – =Fields!Name.Value =Fields!First.Value & " " & Fields!Last .Value =Sum(Fields!Sales.Value) =IIF(Sum(Fields!Sales.Value)>10, "green", "red") Dynamik: Parameter • Berichtsparameter könnnen in Berichtsausdrücken benutzt werden (auch Abfrageparameter) • Menge von gültigen Werten und Standardwerten kann statisch oder abfragebasiert sein • Parameter können hierarchisch sein – Auswahl von Parameterwerten können spätere gültige Werte beeinflussen • Ansprache über globale Parameter-Sammlung, z.B. – =IIF(Fields!Sales.Value > Parameters!Goal.Value, “PASS", “FAIL") Dynamik: Interaktivität • Berichtselementen kann Interaktivität hinzugefügt werden – – – – Herunterklicken (Drill down) innerhalb eines Elements Durchklicken (Drill through) zu einem anderen Bericht Lesezeichen/Sprünge innerhalb eines Berichts Verknüpfungen zu Netz-Ressourcen/URLs • Anzeigen/Ausblenden von Regionen • Verzeichnis für Berichtsstruktur Dynamik: Datenquellen • Mehrere Datenmengen für einen Bericht • Unterstützte Datenquellen – SQL Server (7.0, 2000, 2005) – Analysis Services (2000, XML, 2005) – OLE DB, ODBC, Oracle und andere .NET-Datenquellen • Abfrage-Designer in Report Designer für SQL Server und OLE DB • Manuelle SQL-Eingabe, Aufruf von Prozeduren/Sichten/Funktionen möglich • Abfrageparameter können zu Berichtsparameter umgenutzt werden und in URLs für den Bericht auftreten, dadurch Berichtsnutzung in Portalseiten möglich Dynamik: Berichtsservermodelle • Fortgeschrittene Benutzer können auf Basis von aufbereiteten, mit Berechnungen oder zusätzlichen Feldern versehenen Berichtsmodellen eigene Berichte erstellen und speichern und in einem eigenen Ordner speichern Bereitstellung: Veröffentlichung • Bereitstellung überträgt Bericht, Bilder und Datenquellen auf Report Server – Berichtsdefinitionen sind in XML-Report Definition Language (RDL) geschrieben und können über den Report Designer oder programmgesteuert erstellt werden – Auf dem Server Kompiliierung und Speicherung in SQL Server Metadaten-Datenbank • Nach der Bereitstellung – Sicherheit einrichten – Caching und zeitgebundene Ausführung oder Abos einrichten Fragen... Schnittstellen • Möglichkeiten • Architektur • Schnittstellen für Programmierung • Schnittstellen für Verwaltung Möglichkeiten • Verwendung in .NET-basierten Lösungen ohne Berichtsfokus, die aber Berichtsdaten oder –anzeige benötigen • Integration über URL-Zugriff oder Webservices auch in Java und PHP möglich • Durch Berichtsbeschreibung in XML Berichtsgestaltung und Veröffentlichung auch in anderer Software möglich • Server-Erweiterungen (Add-ons) • Server Management-Anwendungen • Portale und zusammen arbeitende Anwendungen • Zugriff auf Berichte oder reiner Datenabruf möglich Architektur Browser Datenquellen (SQL, OLE DB, XML/A, ODBC, Oracle, Sonstige) Office XML Web Service-Schnittstelle Eigene Anwendung Sicherheitsdienste (NT, Passport, Eigene) Report Server Berichtsverarbeitung Ausgabeformate (HTML, Excel, PDF, Eigene) Datenverarbeitung Sicherheit Formatierung Ausgabe SQL Server-Katalog Ausgabeziele (E-mail, SharePoint, Eigene) Schnittstellen für Programmierung • Anpassbare XML-Beschreibung – Offenes und allgemein zugängliches Datenmodell (XML Schema) – Verwendung, wenn Anwendung spezielle Gestaltungs- oder Ausgabemöglichkeiten erfordert – Einfache Verwendung für externe Berichtsdefinition – Direkte Erstellung über XML oder in .NET über spezielle Klassen • Öffentliche Schnittstellen – URL-Zugriff von anderen Plattformen und Sprachen – Web Service / SOAP • Management-Schnittstellen – Web Service / SOAP • Erweiterungen – Daten, Auslieferung, Formatierung und Sicherheit Schnittstellen für Programmierung: Überblick Report Browser Designer Klienten-Hilfen Report Manager http://<server>/reports URL-Zugriff SOAP-Webservice reportservice.asmx Web Service (IIS / ASP.NET) http://<server>/reportserver WMI Win32 Service Bereitstellung Shared Components Datenabruf Formatierung Sicherheit SQL Server Datenbank / SQL Server Agent Schnittstellen für Programmierung: URL • Report Server http://[servername]/ReportServer – Standard-Web Service-Schnittstelle – Komplexe Parameter-Anweisungen • Report Server Web-Anwendung http://[servername]/Reports • SSL-Unterstützung • Vollständig lokalisierte Verwendung – Basierend auf Sprache im HTTP-Kopf Schnittstellen für Programmierung: Parameter • Bericht-Parameter – Parameternamen entsprechen Berichtsdefinition – Beispiel: http://servername/ReportServer/ReportName?CategoryID=1&EmployeeID=1 • Authentifizierung (dsu: and dsp:) – Zugriff bis auf Datensatzebene – Beispiel: https://servername/ReportServer/ReportName? dsu:DataSet1=MyUserName& dsp:DataSet1=MyPassword – Verwendung von HTTPS POST möglich – Verwendung von sicheren Protokollen möglich • Parameter-Einsatz – Filterung, Programmsteuerung, Ausgabearten – Example: http://servername/ReportServer/ReportName? rc:Section=7&rc:HTMLFragment=true Web Service-Schnittstelle • • • • • • Namespace Management Elementeigenschaften Berichtsausführung Parameter Berichts-Historie Data Source Management • • • • • Zeitpläne Abonnement und Auslieferung Verknüpfte Berichte Job Management Sicherheitsmanagement http://[servername]/ReportServer/Reportservice.asmx?wsdl • • Proxy generiert von Visual Studio .NET – Komplexe Typen in XML Schema – Synchrone und asynchrone Verwendung – Aktualisuerungsoperationen können im Batch-Modus laufen SOAP Headers – Session ID, Batch ID – Server Info • Basale Authentifizierung – System.Net.NetworkCredentials – rs.Credentials = new System.Net.NetworkCredential ("user", "pwd", "domain") • Windows-integrierte Authentifizierung – rs.Credentials = System.Net.CredentialCache.DefaultCrede ntials – System.Net.CredentialCache Schnittstellen für Programmierung: Erweiterung • Erweiterungen erlauben neue und individuelle zusätzliche Berichtssystem-Eigenschaften • Managed Code läuft im Server Prozess • Veröffentlichte CLR-Schnittstellen erlauben Verwendung in allen .NET-fähigen Sprachen • Erweiterungstypen – – – – – Eigene Funktionen Datenquellen Ausgabe Formatierung Sicherheit • Einsatz von .NET CAS (Code Access Security) Schnittstellen für Verwaltung Werkzeuge Schnittstellen • Web Services / SOAP API • – Web-basierte Verwaltungsanwendung bei Reporting Services vorhanden – Optimiert für ASP.NETVerwendung, einsetzbar auch mit Java/PHP – Volle SOAP API-Implementierung mit komplexen Typen – Automatische WSDL-Generierung – Möglichkeit, Service-Referenz in Visual Studio .NET hinzuzufügen – Unterstützung von SSL • • Klienten-Hilfen – Script Host – Server-Konfiguration – Encryption Key Management WMI – Nutzung für Verwaltung und Konfiguration – Auch erreichbar, wenn Web Service abgeschaltet ist – WMI-Ereignisse Report Manager • • Eigene Anwendungen Win32 Management Fragen... Verwaltung • • • • Ordnerstruktur Sicherheitsmodell Zeitpläne DatenquellenManagement • Berichtsausführung • Snapshots und Historie • Abonnements Ordnerstruktur • Hierarchischer und virtueller Namensraum wird für Strukturierung und vereinfachten Benutzerzugriff eingesetzt • Ordner-Metapher für die Organisation von Berichten und Sicherheitsrichtlinien • Element-Typen – Bericht – Ordner – Data Source – Sonstige Ressourcen (Dateien) • Elemente werden durch Pfad in SOAP API und URL referenziert (z.B.: /Adventure Works/Sales Report) • Spezieller Ordner Meine Berichte mit automatisch konfigurierter Sicherheit Sicherheitsmodell • Aufgaben – Menge an niedrigschwelligen Operationen – Element-Ebene (z.B. Berichtserstellung) oder System-Ebene (z.B. Jobs verwalten) • Rollen Operation Aufgabe – Menge an Aufgaben – Standardrollen schon vorab installiert (browser, publisher) – Rollen können konfiguriert, neue erstellt werden Rolle • Gruppen / Benutzer – Windows / Active Directory / Eigene • Rollenzuweisung Gruppe oder Benutzer Rollenzuweisung – Verknüpft Gruppen / Benutzern mit Rollen – Erbt von Eltern im gleichen Namensraum Element Zeitpläne • Verwaltungsereignisse können zeitlich organisiert werden – Caching, Abonnements, Historie • Zeitpläne werden in Datenbank gespeichert und im SQL Agent integriert – Bei Auslösung fügt der Agent einen Warteschlangeneintrag hinzu • Gesteuerte Ereignisse werden in DB gesammelt und von Windows Server-Dienst verwaltet und verbreitet • Zeitpläne können gemeinsam und getrennt genutzt werden für Berichte, Abonnements und Caches • Pausieren, wiederaufnehmen und entfernen möglich Datenquellen-Management • Administrator kann Verbindungstypen und –zeichenkette nach Veröffentlichung beeinflussen • Sicherheitsoptionen – Anmeldebildschirm – Sicher gespeicherte Benutzerinformationen • Verschlüsselt im Cache oder DB • Optionale Rollenübernahme nach Verbindung bei SQL Server möglich – Integrierte Sicherheit • Erfordert Kerberos – Keine • Gemeinsam genutzte Datenquellen – Verbindung und Benutzerinformationen als gesichertes Objekt – Ein zentraler Verwaltungspunkt für mehrere Berichte Berichtsausführung • Ausführungssitzungen – Automatisch erstellt für jede Berichtsausführung – Behält Konsistenz zwischen Server-Postbacks (Bilder, Seitenaufbau, Export) – Session timeout set in server configuration file • Administrator entscheidet, ob Berichte auf Benutzeranfrage direkt oder auf Basis von zwischengespeicherten Daten erfolgen • On-demand-Berichte können für mehrere Benutzer gecacht werden – Cache gültig für eine angegebene Zeit nach Ausführung oder nach Zeitplan – Grenzen: benutzerspezifische Ausdrücke (User ID, Sprache), Sicherheitsinformationen Berichtsausführung • Timeouts – Abfrage-Timeouts werden in der Berichtsbeschreibung festgelegt – Ausführung-Timeouts können systemweit oder pro Bericht gesetzt werden – Lang laufende Berichte können manuell gestoppt werden • Ausführungs-Log – Alle Berichtsausführungen können in der DB protokolliert werden – DTS-Pakete für die Auswertung der Log-Daten sind verfügbar Snapshots und Historie • Ausführungs-Snapshots – Berichtsausführung ist Zeitplan-gesteuert; alle Benutzer erhalten gleiche Daten – Einzelne Instanz eines verarbeiteten Berichts – Grenzen: Keine AbfrageParameter oder benutzerspezifische Ausdrücke sowie Sicherheitsinfos • Historie-Snapshots – Mehrere Instanzen von Berichtsausführungen werden für Archivierung, Nachverfolgung und Beweislegung gespeichert – Speicherung erfolgt unabhängig von Datenquelle und Berichtsbeschreibung – System- und berichtsspezifische Aufbewahrungspolitik Abonnements: Überblick • Benutzer- oder Administrator-definierte Abos möglich • Abo wird bei Ereignis ausgelöst (Zeitplan, Snapshot-Erstellung, extern) • Ausgabe-Erweiterung (E-Mail, Dateisystem) legt Ausgabeart fest – E-Mail-Ausgabe benötigt lokalen/entfernten SMTP-Server – Erweiterungsfähige Auslieferungsarchitektur • Ausgabeformat spezifizierbar (HTML, XLS etc.) – Links oder fertige Berichte ausgabefähig • Zwei Arten von Abos – Standard – Datengesteuert Abonnements: Arten • Standard • Datengesteuert • Einzelner Bericht mit Versand an festgelegtem Adressatenkreis Anpassung der Ausgabe pro Benutzer möglich Funktionsweise – Benutzer erstellt StandardAnfrage mit Zeit- und Formatangaben – Versand nach Zeitplan oder Snapshot-Erstellung – Angabe bzgl. Format, Parameter, Speicherort • Bericht mit dynamisch ermitteltem Adressatenkreis und angepasstem Inhalt für jeden Adressaten Funktionsweise – Administrator-definiert – Festlegung von dynamischer Adressatenermittlung und Parameterauswahl – Angabe der Auslieferungseigenschaften und Parameterwerte – Versand nach Zeitplan oder Snapshot-Ereignis • • • Fragen... Comelio-Unterstützung • • • • • Konzeption Einrichtung Programmierung Einführung Zukunft Konzeption • Bedarfsermittlung – System-/Netzwerkvoraussetzungen – Lizenzen – Berichtsumfang – Anpassung von Datenstrukturen, Datenquellen, Import/Bereinigung • Planung – Systemarchitektur – Berichtsarten, -aufbau, anforderungen – Sicherheitskonzept – Software-/Datenarchitektur – Erweiterungen Einrichtung • Systemeinrichtung – Datenbank installieren, einrichten, vorbereiten – Import-Vorgang einrichten und durchführen – Datenbereinigung und anpassung – Abfragen, Prozeduren, Funktionen, Sichten erstellen – Sicherheitsrichtlinien aufbauen und bestehende übertragen – Auslieferungsarten umsetzen • Berichtserstellung – Berichte gestalten – Interaktivität und Dynamik einrichten – Ausgabeformate gestalten – Gruppierungen, Filterungen einrichten und dynamisieren Programmierung • Verwaltungssicht – Datenimport, -bereinigung und –aufbereitung – Integration von unterschiedlichen Datenquellen – Benutzer-, Berichtsverwaltung • Benutzersicht – Erweiterung um • Zusätzliche Ausgaben • Sonder-Funktionen • Spezielle Untersuchungen und Abfragetechniken – Integration in Portal und anderen Anwendungen – Weiterverarbeitung von Berichtsdaten in anderen Anwendungen Einführung • Administrator – Berichte einrichten, verwalten und sichern – Administration von Berichtsserver und Datenbank – Benutzer-, Rechte- und Rollenverwaltung – Datensicherung • Standard-Benutzer – Berichte verstehen, aufrufen, verwenden, abonnieren – Berichte personalisieren • Profi-Benutzer – Berichtsmodelle verwenden und selbstständige Untersuchungen durchführen – Eigene Berichte erstellen und veröffentlichen – Verwendung von Berichtsdaten in anderen (Office-) Anwendungen Zukunft • Expertensystem – Einführung der Analysis Services für erweiterte Business IntelligenceNutzung und Data Mining – Individuelle Auswertungen auf Basis von Regelmaschinen für Prognose und Wissensgenerierung • Unternehmenswissen – Dokumentenmanagement – Anreicherung und Verknüpfung von Datenstrukturen um weitere Daten und Dateien – MS Sharepoint Portal Server Fragen...