Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und...

Post on 18-Sep-2018

226 views 1 download

Transcript of Reporting mit Eclipse BIRT - OIO Orientation in Objects ... · Strategien, Prozessen und...

1

Orientation in Objects GmbH

Weinheimer Str. 6868309 Mannheim

www.oio.deinfo@oio.de

Reporting mit EclipseBIRT

BIRT - Business Intelligence and Reporting Tools

Tobias Kieninger<kieninger@oio.de>

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

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

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

www.oio.deinfo@oio.de

Vielen Dank für IhreAufmerksamkeit !

27

Orientation in Objects GmbH

Weinheimer Str. 6868309 Mannheim

www.oio.deinfo@oio.de

? ?

???

Fragen ?