Upload
phamcong
View
224
Download
1
Embed Size (px)
Citation preview
1
Orientation in Objects GmbH
Weinheimer Str. 6868309 Mannheim
Reporting mit EclipseBIRT
BIRT - Business Intelligence and Reporting Tools
Tobias Kieninger<[email protected]>
2
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
) Akademie ) ) Beratung )
„Orientierung“ in Objekten
• Schulungen, Coaching, Weiterbildungsberatung, Train & Solve-Programme
• Methoden, Standards und Tools für die Entwicklung von offenen, unternehmens- weiten Systemen
• Schlüsselfertige Realisierung von Software• Unterstützung laufender Projekte• Pilot- und Migrationsprojekte
) Projekte )
2
3
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Gliederung
• Get to know BIRT• Design(er)• Integration und Erweiterung• Heute und Morgen
4
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Business Intelligence
• Business Intelligence?– Intelligente Geschäfte?– Geschäftsintelligenz?
• Systeme und Prozesse zur systematischen Analyse (intelligence)
• Unter "Business Intelligence" verstehen wir die Integration vonStrategien, Prozessen und Technologien, um aus verteilten undinhomogenen Unternehmens-, Markt- und Wettbewerberdatenerfolgskritisches Wissen über Status, Potentiale und Perspektivenzu erzeugen!
Quelle: http://www.i-bi.de(Institut für Business Intelligence)
3
5
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Reporting im Alltag: Paper Hell
• Rohdaten auf Endlospapier– Zeitaufwändig– „Schmierzettel Reporting“
6
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Reporting im Alltag: MS Hell
• Das meist verwendete Reporting Tool: MS Excel :-)
• Stufe 2: Excel + Makros
• Vorteile– Weit verbreitet– „Einfach“ zu bedienen
• Nachteile– Fehlender Überblick?– Fehleranfällig da nur Clientseitig– Außerhalb von Softwareentwicklung
4
7
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Reporting im Alltag (2): Reporting tool
• Reports werden zentral generiert und verteilt• Informationen gehen an jeden
– Unabhängig davon ob Person überhaupt Interesse an Infos hat– Report - Overhead
• Folgen: Berichte werden nicht mehr gelesen– Exception-Reporting als Ausweg?
8
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Reporting im Alltag (3): 4th Generation Reporting
• Ad Hoc Reporting• Gezielte Verteilung zentral generierter Berichte• Parametrisierte Berichte
5
9
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Reporting im Alltag (4): BI / OLAP
• Interaktive Berichte– Daten aus wechselnden Standpunkten zu betrachten– Ausschneiden der Daten die von Interesse sind (slicing, dicing)– Anzeige z.B. als Pivot-Tabelle
10
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Reporting im Unternehmen und in Projekten?
• Reporting wird unterschätzt– Entscheider interessiert sich (eigentlich) mehr für die Reports
• Wag the dog– Gute Reports steigern die Nachfrage nach mehr…– Wiederverwendung durch Cut and Paste
• Implementierung bisher?– Manuell implementiert.
• XSLT, FO, iText, POI…– JSP selbst gestrickt– Eigene Export Funktionen– Crystal Reports? Jasper Reports?
6
11
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
BIRT - Business Intelligence Reporting Tools
• BIRT: Business Intelligence and Reporting Tools– Toplevel Eclipse Projekt– Initiale Sourcen von Actuate
• Homepage: http://www.eclipse.org/birt
• Version– 1.0 Juni 2005– 2.1.1 26. September 06
12
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Ziele von BIRT
• Erstellung von Berichten und Analyse von Informationen– aus verschiedenen Datenquellen
• flache Dateien• SQL-Datenbanken• XML Files• Java-Objekte
– Datenverarbeitung• Extraktion, Manipulation, Aggregation
– flexible Präsentation• formatiertes Layout, verschiedene Ausgabeformate
7
13
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Für wen ist BIRT?
• Zielpersonen:– Anwendungsentwickler
• Programmierer• Bericht fest in Anwendung verankert
– Businessanwender (Endanwender)• Keine Programmierkenntisse• Dort Bedarf an Berichten• Selbständige Berichtserstellung mit BIRT
Techi
Chef
14
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
BIRT API Übersicht
Data
Report Engine
GenerationServices
PresentationServices
Eclipse Report Designer
Report Design Engine
XMLReportDesign
ReportDocument
HTMLPDFPrintXML…
Data Transform.Services
ChartingServices
1
34
Data Tools Project
Open Data Architecture(ODA) 2
8
15
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Birt Komponenten
• Report Designer Full Eclipse Install– BIRT Reporting Framework, Eclipse SDK und Abhängigkeiten– Alles was man benötigt außer iText.jar
• RCP Report Designer– Beispiel für Einbindung in eigene RCP Anwendung
• BIRT SDK– Source Code, Dokumentation und Beispiele
16
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Birt Komponenten II
• BIRT Report Engine– Generiert Berichte– Läuft intern in einem Tomcat– Zeigt Berichte über Netz an
• Chart Engine– Kann auch unabhängig von Birt angewendet werden– Sieben Chart Typen– Ausgabe als Grafik (SVG, GIF, JPG, …)
• Beispiele (Samples)• Beispiel Datenbank
9
17
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Gliederung
• Get to know BIRT• Design(er)• Integration und Erweiterung• Heute und Morgen
• Designer• Scripting
18
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
BIRT Designer
• WYSIWYG• Drag & Drop
10
19
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
BIRT Views
• Komponenten Palette• Outline des Berichtes• Mehrere Data Sources• Statische und
dynamische Parameter• Wiederverwendbarkeit
durch Libraries undTemplates
• Importieren von CSSStyle sheets möglich
20
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
BIRT Editor
• Layoutansicht• Skriptansicht• Zugriff auf grafische Komponenten oder direkt XML
11
21
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Property Editor View
• Einfacher Property Editor• Mapping, Highlighting, Sortierung, Filter, Sichtbarkeit…
22
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Vorschau
• Vorschau des Reports während des Erstellens• Daten werden gecached• HTML oder PDF
12
23
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Chart Builder
• Einfacher Wizard• Sieben Chart Typen• Viele Untertypen• Ausgabe als
– SVG– PNG– GIF– JPG– BMP
• Anwendung von Filtern
24
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Libraries
• Wiederverwendung vonReporteinstellungen– Styles– DataSources– Parameter– …
13
25
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Gliederung
• Get to know BIRT• Design(er)• Integration und Erweiterung• Heute und Morgen
• Designer• Scripting
26
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
BIRT JavaScript
• Basiert auf Mozilla Rhino Script– http://www.mozilla.org/rhino/
• Server Side Scripting -- nicht Browser Scripting
• Zugriff auf– Komplette JavaScript API
• Auch Java Klassen– Spezielle BIRT Objekte und Funktionen
• Spezielle BIRT Objekte und Methoden• Report Object Model (ROM)• BIRT Globals
14
27
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
BIRT Scripting
• Expression Scripting– Scripts geben Werte zurück– Verwendbar in Expression Builder
• Method Scripting– JavaScript werden bei Events aufgerufen– In Script View
• POJO Scripting– Integration von POJOs möglich– POJOs als Datenquelle
28
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Expression Scripting - Einsatzarten
• An fast jeder Stelle– Aggregieren von Daten in Gruppen– Berechnete Spalten in ResultSets– Filtern von Daten– Mappen von Werten– Highlight von Elementen anhand von Bedingungen– Festlegung von Gruppierungsschlüsseln– Dynamische Hyperlinks– Dynamische Bilder– Dynamische Texte
15
29
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Expression Scripting
30
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Scripting Outline
16
31
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Report Engine
Paginated HTML
CSV
Application
.Rptdoc
Generation + Presentation
Generation Presentation
Report Engine
BIRT Workflow
.Rptdesign
Datenquelle
Design Engine
Report Designer
HTMLPDF…
32
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
BIRT Event Model
Report LevelInitialize
beforeFactoryafterFactory
Data Source/SetbeforeOpenafterOpenonFetch
beforeCloseafterClose
Report ElementonPrepareonCreate
Report LevelInitialize
beforeRenderafterRender
Report ElementonRender
Generation Phase Presentation Phase
17
33
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Event Handler mit Java
• EventHandler können in Java implementiert werden• Werden über Property-Editor mit einem Element verknüpft
34
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Demo
• Scripting– Durchschnittsberechnung
18
35
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Gliederung
• Get to know BIRT• Design(er)• Integration und Erweiterung• Heute und Morgen
36
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Was möchten wir integrieren?
• Report Engine API– Ermöglicht es eigenen Viewer zu implementieren– Verwendung in beliebiger Java Anwendung
• Design Engine API– Zur Erstellung und Bearbeitung von Report Designs
• Designer in RCP Anwendung einbetten
• Charting API– Erstellt und Bearbeitet Diagramme
19
37
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Integrationsmöglichkeiten
RptDesignXML
Design File
RptDesignXML
Design File
RptDesignXML
Design File
RptDocumentReport
Document
RptDocumentReport
Document
RptDocumentReport
Document
HTML, PDF, Inhaltsverzeichnisse, Bookmarks, CSV
Web Viewer
Eclipse Plugin J2EE
Web Viewer
J2EE
Report Engine
Java Applikation
Report EngineReport Engine
38
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
BIRT Web Viewer
• Generierung des Reports als PDF oder HTML• Unterstützt mehrere HTML Seiten• Export zu CSV• Rendert auch Bilder und Charts• Unterstützt Parameter
20
39
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
BIRT Viewer Demo
40
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Report Engine API
Report Engine
DataExtractionTask
DataPreviewTask
GetParameterDefinitionTask
RunTask
RenderTask
RunAndRenderTask
RptDesignXML
Design File
ReportDocument
PDF,HTML,
...
21
41
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Möglichkeiten BIRT zu erweitern
• BIRT ist nicht nur ein Tool, es ist ein Framework
• ODA – DTP (Data Tools Project)– Anbindung eigener Datenquellen– DTP als Eclipse Subproject
• Report Rendering Extension– Emitter– Schnittstelle zum Anbinden neuer Ausgabeformate
• Report Item Extension
42
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
BIRT Open Data Access API (ODA)
• Anlieferung der Daten in Zeilen und Spalten
• Warum?– Reportentwickler versten Zeilen und Spalten– Kleinster gemeinsamer Nenner für Design Elemente
• DataSource als Extension Point
22
43
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Erweiterung durch DTP Data Tools Project (ODA)
IDriver IConnection
IDataSetMetaData
IQuery
IResultSet
IResultSetMetaData
erstellt erstellt
44
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Anbindung im Projekt
Veranstaltung
- anfangsdatum: Date- anzahlTeilnehmer: int
Seminar
- seminarname: String- seminarkuerzel: String
Bewertung
- kompetenz: double- verstaendnis: double- fragen: double- stil: double
10..*0..*
1
Trainer
- name: String- userName: String
1
0..*
23
45
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Integration mittels Data-Set Scripting
46
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Gliederung
• Get to know BIRT• Design(er)• Integration und Erweiterung• Heute und Morgen
24
47
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Trauerliste - Ein paar Beschwerden…
• Beschwerden über– Performance (BIRT 1.0 mit FOP)– Instabilität des Designers
• In manchen Versionen– Starke Änderungen am Format, Abwärtskompatibilität
• JavaScript• ROM
– Fehlende Dokumentation• Problem erkannt, Problem gebannt?
– Webviewer:• Jedes Bild wird bei jedem Request auf Festplatte gespeichert
– Trotz Pagination werden alle Daten geladen
48
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
BIRT 2.2 - What‘s next?
• Mehr Dokumentation
• DataSource– Web-Service DataSource– Extended FlatFile– Parameter und Suchanfragen
in/an XML-Dateien– Referenzierung von Datenquellen
aus Verbindungsprofilen
• Emitter– Post-Script, XML, Word und Excel-Emitter
25
49
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
BIRT 2.2 - What‘s next?
• Design(er)– Formatierung von TOCs– Styles in .css-Dateien
• Features– Crosstabs– Ad hoc Parameter in Datenanfragen– Grafischer Query-Builder– Verbessertes Debugging in Designer– Wizard zur Erzeugung eines ODA-Stubs– Mehr Charttypen
• Fehler beheben ☺
-> angekündigt für Juni 2007
50
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
BIRT Fazit heute?
• "Anreicherung" am (Open Source) Markt– Interessante "Freie"
• Pentaho (JFree)• iReport (JasperReports)• Crystal for Eclipse
• Viele Wünsche erfüllt– Noch schneller sind neue Wünsche da ☺
• Wachsende Popularität und Stabilität
26
51
© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT
Literaturhinweise
• BIRT: A Field Guide to Reporting• Broschiert: 704 Seiten• Addison Wesley• Erscheinungsdat: 26. Oktober 2006• Sprache: Englisch• ISBN: 0321442598
• Integrating and Extending BIRT• Broschiert: 608 Seiten• Addison Wesley• Erscheinungsdat: 22. November 2006• Sprache: Englisch• ISBN: 0321443853
Orientation in Objects GmbH
Weinheimer Str. 6868309 Mannheim
Vielen Dank für IhreAufmerksamkeit !