27
1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de [email protected] Reporting mit Eclipse BIRT BIRT - Business Intelligence and Reporting Tools Tobias Kieninger <[email protected]> 2 © 2006 Orientation in Objects GmbH Reporting 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 )

Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

Embed Size (px)

Citation preview

Page 1: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

1

Orientation in Objects GmbH

Weinheimer Str. 6868309 Mannheim

[email protected]

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 )

Page 2: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

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)

Page 3: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

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

Page 4: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

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

Page 5: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

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?

Page 6: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

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

Page 7: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

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

Page 8: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

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

Page 9: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

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

Page 10: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

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

Page 11: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

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

Page 12: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

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– …

Page 13: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

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

Page 14: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

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

Page 15: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

15

29

© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT

Expression Scripting

30

© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT

Scripting Outline

Page 16: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

16

31

© 2006 Orientation in Objects GmbHReporting mit Eclipse BIRT

Report Engine

Paginated HTML

PDF

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

Page 17: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

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

Page 18: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

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

Page 19: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

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

Page 20: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

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,

...

Page 21: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

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

Page 22: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

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..*

Page 23: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

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

Page 24: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

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

Page 25: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

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

Page 26: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

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

[email protected]

Vielen Dank für IhreAufmerksamkeit !

Page 27: Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und Technologien, um aus verteilten und ... PDF Print XML … Data ... – Wizard zur Erzeugung

27

Orientation in Objects GmbH

Weinheimer Str. 6868309 Mannheim

[email protected]

? ?

???

Fragen ?