Microsoft SQL Server 2005 Reporting Services Architektur und Verwendung.

Post on 06-Apr-2016

219 views 1 download

Transcript of Microsoft SQL Server 2005 Reporting Services Architektur und Verwendung.

Microsoft SQL Server 2005Reporting Services

Architektur und Verwendung

Einführung

• Architektur• Definition• Lebenszyklus• Einsatz-Szenario• Schlüssel-Vorteile

Architektur

Analysis ServicesAnalysis ServicesOLAP & Data MiningOLAP & Data Mining

Data TransformationData TransformationServicesServices

ETLETL

SQL ServerSQL ServerRelational EngineRelational Engine

Reporting ServicesReporting ServicesM

anagement Tools

Managem

ent ToolsDev

elop

men

t Too

lsD

evel

opm

ent T

ools

SQL Server-KatalogSQL Server-Katalog

Report ServerReport Server

XML Web Service-SchnittstelleXML Web Service-Schnittstelle

BerichtsverarbeitungBerichtsverarbeitung

AusgabeAusgabe

Ausgabeziele(E-mail, SharePoint, Eigene)

FormatierungFormatierung

Ausgabeformate (HTML, Excel, PDF, Eigene)

DatenverarbeitungDatenverarbeitung

Datenquellen(SQL, OLE DB, XML/A,

ODBC, Oracle, Sonstige)

SicherheitSicherheit

Sicherheitsdienste(NT, Passport,

Eigene)

Office Eigene Anwendung

Browser

Architektur

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/PHP-Anwendungen 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 RDL-Unterstü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

Dateien, OLE DB, ODBC, .N

ET

Oracle

SQL Server

DB2

KlientenBerichtsserver Web Farm

Windows ServerWindows Server

SQL Server 2005SQL Server 2005

Bericht-Metadaten & Cache Failover Cluster

Vertei-lung

Report ServerReport Server

Windows ServerWindows Server

IISIIS

Windows ServerWindows Server

SQL Server 2005SQL Server 2005

Report ServerReport Server

Windows ServerWindows Server

IISIIS

Report ServerReport Server

Windows ServerWindows Server

IISIIS

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• Bild• Line• Rechteck• Unterbericht• Datenregionen (Liste, Tabelle, Matrix,

Chart)

$100,000

Berichtselemente: Eigenschaften

Alle Berichtselemente• Background Color*• Background Image*• Border Color*• Border Style*• Border Width*• Color*• Padding*

Textboxen• Can Grow• Font Family*• Font Size*• Font Style*• Font Weight*• Format*• Hide Duplicates• Line Height*• Text Align*• Text Decoration*• Vertical Align*

*Dynamische Ausdrücke

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

Jason

Steve

$10,000

$20,000

$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 SalesBrian 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 2002Brian $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 Gestaltungs-mö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

SQL Server-KatalogSQL Server-Katalog

Report ServerReport Server

XML Web Service-SchnittstelleXML Web Service-Schnittstelle

BerichtsverarbeitungBerichtsverarbeitung

AusgabeAusgabe

Ausgabeziele(E-mail, SharePoint, Eigene)

FormatierungFormatierung

Ausgabeformate (HTML, Excel, PDF, Eigene)

DatenverarbeitungDatenverarbeitung

Datenquellen(SQL, OLE DB, XML/A,

ODBC, Oracle, Sonstige)

SicherheitSicherheit

Sicherheitsdienste(NT, Passport,

Eigene)

Office Eigene Anwendung

Browser

Architektur

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

SQL Server Datenbank / SQL Server Agent

Shared Components

Web Service(IIS / ASP.NET)

http://<server>/reportserver

Win32 Service

Schnittstellen für Programmierung: Überblick

URL-Zugriff SOAP-Webservicereportservice.asmx

Datenabruf

WMI

Bereitstellung

Sicherheit

Report Managerhttp://<server>/reports

Formatierung

Browser ReportDesigner

Klienten-Hilfen

Schnittstellen für Programmierung: URL

• Report Serverhttp://[servername]/ReportServer

– Standard-Web Service-Schnittstelle– Komplexe Parameter-Anweisungen

• Report Server Web-Anwendunghttp://[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

• 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.DefaultCredentials

– System.Net.CredentialCache

http://[servername]/ReportServer/Reportservice.asmx?wsdl

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

• Web Services / SOAP API– Volle SOAP API-Implementierung

mit komplexen Typen– Automatische WSDL-Generierung– Möglichkeit, Service-Referenz in

Visual Studio .NET hinzuzufügen– Unterstützung von SSL

• WMI– Nutzung für Verwaltung und

Konfiguration– Auch erreichbar, wenn Web

Service abgeschaltet ist– WMI-Ereignisse

• Report Manager– Web-basierte

Verwaltungsanwendung bei Reporting Services vorhanden

– Optimiert für ASP.NET-Verwendung, einsetzbar auch mit Java/PHP

• Klienten-Hilfen– Script Host– Server-Konfiguration– Encryption Key Management

• Eigene Anwendungen• Win32 Management

Schnittstellen Werkzeuge

Fragen...

Verwaltung

• Ordnerstruktur• Sicherheitsmodell• Zeitpläne• Datenquellen-

Management• 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

– Menge an Aufgaben– Standardrollen schon vorab installiert (browser, publisher)– Rollen können konfiguriert, neue erstellt werden

• Gruppen / Benutzer– Windows / Active Directory / Eigene

• Rollenzuweisung– Verknüpft Gruppen / Benutzern mit Rollen– Erbt von Eltern im gleichen Namensraum

Element

Rollen-zuweisung

Gruppe oderBenutzer

Rolle

Aufgabe

Operation

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 Abfrage-Parameter 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

• Einzelner Bericht mit Versand an festgelegtem Adressatenkreis

• Anpassung der Ausgabe pro Benutzer möglich

• Funktionsweise– Benutzer erstellt Standard-

Anfrage mit Zeit- und Formatangaben

– Versand nach Zeitplan oder Snapshot-Erstellung

– Angabe bzgl. Format, Parameter, Speicherort

• Datengesteuert

• Bericht mit dynamisch ermitteltem Adressatenkreis und angepasstem Inhalt für jeden Adressaten

• Funktionsweise– Administrator-definiert– Festlegung von dynamischer

Adressatenermittlung und Parameterauswahl

– Angabe der Auslieferungs-eigenschaften und Parameterwerte

– Versand nach Zeitplan oder Snapshot-Ereignis

Fragen...

Comelio-Unterstützung

• Konzeption• Einrichtung• Programmierung• Einführung• Zukunft

Konzeption

• Bedarfsermittlung– System-/Netzwerk-

voraussetzungen– 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 Intelligence-Nutzung 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...