BIRT Best Practices Actuats Day

19
BIRT Best Practices Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de [email protected] Christian Brell Java, XML und Open Source seit 1998 ) Competence Center) ) Object Rangers ) Schulungen, Coaching, Unterstützung laufender Schlüsselfertige Realisierung ) Software Factory ) BIRT Best Practices © 2010 Orientation in Objects GmbH Weiterbildungsberatung, Train & Solve-Programme Methoden, Standards und Tools für die Entwicklung von offenen, unternehmens- weiten Systemen Java Projekte Perfect Match Rent-a-team Coaching on the project Inhouse Outsourcing von Java Software Individualsoftware Pilot- und Migrationsprojekte Sanierung von Software Software Wartung 2

description

tips birt

Transcript of BIRT Best Practices Actuats Day

  • 1BIRT Best Practices

    Orientation in Objects GmbH

    Weinheimer Str. 6868309 Mannheim

    [email protected]

    Christian Brell

    Java, XML und Open Source seit 1998

    ) Competence Center)) Object Rangers )

    Schulungen, Coaching, Untersttzung laufender Schlsselfertige RealisierungJ S f

    ) Software Factory )

    BIRT Best Practices 2010 Orientation in Objects GmbH

    Weiterbildungsberatung, Train & Solve-Programme

    Methoden, Standards und Tools fr die Entwicklung von offenen, unternehmens-weiten Systemen

    Java Projekte

    Perfect Match Rent-a-team Coaching on the project Inhouse Outsourcing

    von Java Software

    Individualsoftware Pilot- und Migrationsprojekte Sanierung von Software Software Wartung

    2

  • 2Warum Best Practices?

    Ein Bericht existiert selten allein Copy And Paste ist schlecht

    Bericht baut auf Datenbank auf Starke Abhngigkeit von Bericht zu Datenbank

    Verschiedene Ausgabeformate Komplexe Logik um Bericht auf Ausgabeformate zu optimieren

    Entwickeln im Team

    BIRT Best Practices 2010 Orientation in Objects GmbH

    Entwickeln im Team Wartung und Weiterentwicklung von ursprnglichem Entwickler

    geleistet?

    3

    Gliederung

    Arbeit mit Libraries Templates BIRT JavaScriptBIRT JavaScript Event-Handler Datenbanken Security Checkliste fr Reportprojekte Zusammenfassung

    BIRT Best Practices 2010 Orientation in Objects GmbH 4

  • 3Libraries

    Container fr wiederverwendbare Elemente

    Modularisierung und Wiederverwendung mittels Libraries vonModularisierung und Wiederverwendung mittels Libraries von Data Sources Data Sets Styles Elemente

    Bericht kann beliebig viele Libraries nutzen

    BIRT Best Practices 2010 Orientation in Objects GmbH

    Bericht kann beliebig viele Libraries nutzen Drag&Drop von Elementen in Bericht

    nderungen im Lib fhrt zu nderung in den abhngigen Berichten

    5

    Styles

    "Styles" zur Wiederverwendung von Formatierung Hybrid aus CSS und MS Word Styles

    Styles erhalten Namen Styles knnen einzelnen Report Elementen zugewiesen werden

    Beispiel Style mit Namen ColumnHeading erstellen Allen Spaltenberschriften zuweisen

    BIRT Best Practices 2010 Orientation in Objects GmbH

    Vordefinierte Styles erleichtern Formatierung Bsp: table-header entspricht allen Tabellenberschriften

    6

  • 4Libraries - Themes

    Gruppierung von Styles zu Themes in Library

    Pro Report kann ein Theme gewhlt werdenPro Report kann ein Theme gewhlt werden Nur Styles aus gewhltem Theme nutzbar

    Themes sind voneinander unabhngig Knnen verschiedene Styles beinhalten

    BIRT Best Practices 2010 Orientation in Objects GmbH 7

    Libraries Best Practices

    Mehrfache Libraries empfohlen Library fr Datenquellen: Datenbankverbindungen, Abfragen, Library fr Themes: Hinterlegen von Styles und Master Pagesy g y g Library fr Elemente: Wiederverwendbare Grids, Label, Tabellen,

    Nur wiederverwendbare Elemente gehren in Library Lohnt wenn gleiches Element mehr als 1x auftaucht

    Elemente in Library einfach halten Komplexe Elemente hufig nicht wiederverwendbar

    BIRT Best Practices 2010 Orientation in Objects GmbH

    Komplexe Elemente hufig nicht wiederverwendbar Features schwer zu warten

    8

  • 5Gliederung

    Arbeit mit Libraries Templates BIRT JavaScriptBIRT JavaScript Event-Handler Datenbanken Security Checkliste fr Reportprojekte Zusammenfassung

    BIRT Best Practices 2010 Orientation in Objects GmbH 9

    Templates

    Report in irgendeinem Stadium Startpunkt fr neuen Report

    Gleiche Mglichkeiten wie Reports Einbinden von Libraries Einfgen von Datenquellen, Abfragen Tabellen Strukturelemente

    Bei anlegen eines neuen Reports kann

    BIRT Best Practices 2010 Orientation in Objects GmbH

    Bei anlegen eines neuen Reports kannTemplate ausgewhlt werden

    10

  • 6Unterschiede Libraries und Templates

    Reports verlieren ihre Verbindung zu verwendetem Template nderungen am Template gelten nur fr zuknftige Reports

    Reports behalten ihre Verbindung zu Libraries nderung an Element aus Library spiegelt sich in allen Reports wieder

    die dieses Element verwenden

    Templates sind unfertige Reports

    Libraries sind keine Reports

    BIRT Best Practices 2010 Orientation in Objects GmbH

    Libraries sind keine Reports

    11

    Templates Best Practices

    Einsatz von Templates pro Reportprojekt Untersttzung der Reportdesigner durch definierten Ausgangspunkt

    Template verlinkt Report bereits mit notwendigen Libraries Importiert ber Reports hinweg verwendete Elemente

    Master-Pages Data-Sources Stukturelemente

    Definiert evtl. bereits verwendeten Theme

    BIRT Best Practices 2010 Orientation in Objects GmbH 12

  • 7Gliederung

    Arbeit mit Libraries Templates BIRT JavaScriptBIRT JavaScript Event-Handler Datenbanken Security Checkliste fr Reportprojekte Zusammenfassung

    BIRT Best Practices 2010 Orientation in Objects GmbH 13

    BIRT Scripting

    Basiert auf Mozilla Rhino Script

    Expressions (Ausdruckserstellung)Expressions (Ausdruckserstellung) Ausdrcke die einen einzelnen Werte zurck geben Rckgabewert ist implizit letzte Zeile die vor Beendigung erreicht wird

    Kein return statement erlaubt! Anwendung mittels Expression Builder

    Eventhandler (Method Scripting)Spter!

    BIRT Best Practices 2010 Orientation in Objects GmbH

    Spter!

    14

  • 8BIRT Scripting - Alltag

    Hufig verwendete Funktionen pro Bericht nachprogrammiert Copy&Paste Reimplementierung pro Berichtp g p

    Berichte mit Geschftslogik berfrachtet Teilweise nur schwer von Berichtslogik abzugrenzen

    Wenig Untersttzung durch Entwicklungsumgebung Kein Syntaxhighlighting, keine Code-Completion

    BIRT Best Practices 2010 Orientation in Objects GmbH 15

    Funktionen schwer wartbar Kein berblick ber verwendete Funktionen

    Trennung von Geschftslogik und Berichtsdesign

    Auslagern oft verwendeter Skripte als Funktion in eigene Datei .js Datei enthlt RhinoScript Funktionen deklarierte Funktionen in Report nutzbarp

    Trennung von Geschftslogik und Berichtsdesign Funktionen sind isoliert wart- und testbar

    Junit?

    Komplexe Logik aufwndig umzusetzen Wenig Untersttzung ber vorhandene Tools

    Nur begrenztes Syntaxhighlighting

    BIRT Best Practices 2010 Orientation in Objects GmbH

    Keine Code-completion

    Logik in Java programmieren und ber Rhino Script einbinden

    16

  • 9Gliederung

    Arbeit mit Libraries Templates BIRT JavaScriptBIRT JavaScript Event-Handler Datenbanken Security Checkliste fr Reportprojekte Zusammenfassung

    BIRT Best Practices 2010 Orientation in Objects GmbH 17

    Event Handler Kurze Wiederholung

    Bei Berichtsgenerierung werden Hook-Methoden aufgerufen

    Beziehen sich auf einzelne ReportelementeBeziehen sich auf einzelne Reportelemente Bericht als ganzes Datenquellen und Datasets Elemente des Berichts

    Implementierung in Java oder JavaScript

    Generation Phase Presentation Phase

    BIRT Best Practices 2010 Orientation in Objects GmbH 18

    Report LevelInitialize

    beforeFactoryafterFactory

    Data Source/SetbeforeOpenafterOpenonFetch

    beforeCloseafterClose

    Report ElementonPrepareonCreate

    Report LevelInitialize

    beforeRenderafterRender

    Report ElementonRender

    Generation Phase Presentation Phase

  • 10

    Events - Run then Render Pipeline (Web viewer)

    Generation PhaseInitialize onPrepareonPrepare

    onPrepareTableRow

    Report

    beforeFactorybeforeOpenafterOpenonFetch

    onPrepare

    onCreate

    beforeCloseafterClose

    onCreateonCreate

    RowDataItemData Set

    afterFactory

    BIRT Best Practices 2010 Orientation in Objects GmbH 19

    afterFactory

    Presentation PhasebeforeRender onRenderonRender

    onRenderafterRender

    Events Best Practice

    initialize Wird als erstes aufgerufen globale Variablen initialisiereng Security Checks

    beforeFactory Manipulieren der Reportstruktur

    Z.B. Lschen von Elementen

    beforeRender

    BIRT Best Practices 2010 Orientation in Objects GmbH

    Logik in Abhngigkeit des Ausgabeformats Z.B. Theme Switching (spter)

    20

  • 11

    Events Best Practice

    afterFactory, afterRender Cleanup

    onCreate Elemente in Abhngigkeit der Daten verndern

    onRender Elemente in Abhngigkeit der Daten und/oder des Ausgabeformats

    ndern Grenanpassung fr PDF

    BIRT Best Practices 2010 Orientation in Objects GmbH

    p g

    21

    Events - Theme Switching

    BIRT Best Practices 2010 Orientation in Objects GmbH 22

  • 12

    Gliederung

    Arbeit mit Libraries Templates BIRT JavaScriptBIRT JavaScript Event-Handler Arbeit mit Datenbanken Security Checkliste fr Reportprojekte Zusammenfassung

    BIRT Best Practices 2010 Orientation in Objects GmbH 23

    Arbeit mit Datenbanken

    Datenbankverbindung immer in Library auslagern

    ffnen einer Datenbankverbindung teuerffnen einer Datenbankverbindung teuer Verbindung nicht von BIRT pro Lauf herstellen lassen

    Besser Mglichkeiten der Laufzeitumgebung nutzen JNDI Datenbankverbindung ber ReportEngine API injizieren

    Datenbanksystem optimiert auf Datenverarbeitung Filtern und Sortieren in Datenbank ist schneller!

    BIRT Best Practices 2010 Orientation in Objects GmbH

    Starke Abhngigkeit zwischen Report und Tabellenstruktur Entkoppelung durch Arbeit mit Views Entkoppelung durch Verwenden von Stored Procedures Delegieren an DB-Entwickler

    24

  • 13

    Gliederung

    Arbeit mit Libraries Templates BIRT JavaScriptBIRT JavaScript Event-Handler Arbeit mit Datenbanken Security Checkliste fr Reportprojekte Zusammenfassung

    BIRT Best Practices 2010 Orientation in Objects GmbH 25

    Security

    Visibility meist kein Mittel um Daten zu verstecken .rptdocument enthlt Daten aller Reportelemente Besser Element in beforeFactory Event aus Report lscheny p

    Parameterinjektion Keine Reportparameter ber JavaScript in Abfrage basteln

    BIRT Best Practices 2010 Orientation in Objects GmbH

    Keine Reportparameter ber JavaScript in Abfrage basteln Nur ber Parameter-Tab in Dataset verlinken

    Reportdesign ffentlich? Aktive Suche nach Schwachstellen mglich

    26

  • 14

    Gliederung

    Arbeit mit Libraries Templates BIRT JavaScriptBIRT JavaScript Event-Handler Datenbanken Security Checkliste fr Reportprojekte Zusammenfassung

    BIRT Best Practices 2010 Orientation in Objects GmbH 27

    Checkliste fr Reportprojekte

    Requirement-Analyse fr Reports durchfhren

    Namenskonventionen festgelegenNamenskonventionen festgelegen

    Verzeichnisstruktur fr Projekt festgelegen

    Report- und Funktionsbibliotheken anlegen

    Laufzeitumgebung (Server) festlegen

    BIRT Best Practices 2010 Orientation in Objects GmbH

    Datenzugriffe spezifizieren (SQL-Query vs. Stored Procedures, XML,..)

    28

  • 15

    Checkliste fr Reportprojekte - 2

    Wiederverwendung evtl. bestehender Java Klassen analysieren

    Mehrsprachigkeit?Mehrsprachigkeit?

    Templates zur Untersttzung der Entwickler erstellen

    Templates zur Reportdokumentation anfertigen (Word, Wiki, )

    Testplan fr fertige Reports entwickeln

    BIRT Best Practices 2010 Orientation in Objects GmbH

    Projekt fr Bugtracking Tool aufsetzen (Jira, Bugzilla, )

    29

    Gliederung

    Arbeit mit Libraries Templates BIRT JavaScriptBIRT JavaScript Event-Handler Datenbanken Security Checkliste fr Reportprojekte Zusammenfassung

    BIRT Best Practices 2010 Orientation in Objects GmbH 30

  • 16

    Zusammenfassung

    JavaScript sehr mchtiges Werkzeug Entwicklung komplexer Logik besser in Java

    Einsatz von Libraries dringend empfohlen Templates knnen Arbeitsalltag deutlich vereinfachen

    Erstellen von Report- und Funktionsbibliotheken iterativer Prozess Regelmiger Austausch wichtig Refactoring

    BIRT Best Practices 2010 Orientation in Objects GmbH

    Komplexitt wchst mit Gre des Projekts Ebenso Wichtigkeit einer strukturierten Vorgehensweise Hufig schnell mit 2 Berichten begonnen, dann ?

    31

    Literaturhinweise

    BIRT: A Field Guide to Reporting (Revised) Broschiert: 794 Seiten Addison Wesley Erscheinungsdat: 28. August 2008 Sprache: Englisch ISBN: 978-0321580276

    Integrating and Extending BIRT (Revised) Broschiert: 724 Seiten Addison Wesley Erscheinungsdat: 7 August 2008

    BIRT Best Practices 2010 Orientation in Objects GmbH 32

    Erscheinungsdat: 7. August 2008 Sprache: Englisch ISBN: 978-0321580306

  • 17

    Literaturhinweise

    Le BIRT Experts Guide to BIRT Best Practices Le BIRT Expert s Guide to BIRT Best Practices David Mehi, eBook Erscheinungsdatum: 2009 (fortlaufend

    aktualisiert) Sprache: Englisch Bezugsquelle: http://www.lebirtexpert.com

    BIRT Best Practices 2010 Orientation in Objects GmbH 33

    BIRT User Group Mannheim

    Interessiert an regelmigem Austausch zum Thema BIRT?

    Grndung der BIRT User Group Mannheim im Anschluss an ActuateGrndung der BIRT User Group Mannheim im Anschluss an ActuateKundentag (heute, hier, 17:30 )

    BIRT Best Practices 2010 Orientation in Objects GmbH 34

  • 18

    Mehr von OIO zum Thema

    Schulung: Reporting mit Eclipse BIRT http://www.oio.de/seminar/open-source/eclipse-birt-reporting-

    schulung.htm

    Vortrag Jax2009: Eclipse BIRT Day: BIRT within Java Enterprise http://www.oio.de/m/konf/jax2009/BIRT-Enterprise-Architektur.pdf

    Vortrag W-Jax2006: Reporting mit Eclipse BIRT http://www.oio.de/m/konf/wjax2006/ReportingMitEclipseBIRT-final.pdf

    BIRT Best Practices 2010 Orientation in Objects GmbH 35

    Vielen Dank fr ihre Aufmerksamkeit !

    Orientation in Objects GmbH

    Weinheimer Str. 6868309 Mannheim

    [email protected]

  • 19

    ? ??? ?

    ???

    Fragen ?

    Orientation in Objects GmbH

    Weinheimer Str. 6868309 Mannheim

    [email protected]

    ??