View
220
Download
1
Category
Preview:
Citation preview
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...
Recommended