Introduction to Microsoft SQL Server 2000 Reporting Services

Werbung
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...
Herunterladen