Agenda - Opal

Werbung
Agenda
► Warum?
► JasperReports
▪  Kurzvorstellung, Features
▪  Getting Started
▪  Umsetzung relevanter Use Cases in JasperReports
► Integration with APEX
► 3 Dinge!
▪  JasperReports ist
eine mächtige
Alternative zu
Oracle Reports
▪  Die wichtigsten
Design Patterns
sind übersetzbar
▪  Einfache
Integration mit
APEX
► Fazit
Oracle Reports to JasperReports
26.06.2012
Page 1
Vorstellung Opal Consulting
► Entwicklung von Web-Applikationen auf dem Oracle Stack seit 1997
▪  Portal, Forms, Reports, OWA Toolkit, jetzt fokussiert auf APEX!
► Dipl.-Inform. Dietmar Aust, Freelance Consultant
► 1997-2000: Consultant bei Oracle in Düsseldorf
► Seit 09/2000: Freiberuflich, seit 2006 ausschließlicher Fokus APEX
► Blog: http://daust.blogspot.com/
► Regelmäßige Vorträge in der Oracle Community (ODTUG, DOAG,
OOW)
► Bereitstellung kostenloser Tools, z.B die JasperReportsIntegration
▪  http://www.opal-consulting.de/tools
Oracle Reports to JasperReports
26.06.2012
Page 2
Vorstellung Opal Consulting
► Regelmäßige Durchführung von APEX Trainings
zusammen mit Denes Kubicek
► Mitautor von „Oracle APEX und XE in der Praxis“
▪  Veröffentlicht 21.12.2009 auf Deutsch
► Mitautor von „Expert Oracle Application Express“
−  Veröffentlicht 25.05.2011
−  Charity Projekt in Gedenken an Carl Backstrom
und Scott Spadafore (ehemalige Entwickler
aus dem APEX Team)
Oracle Reports to JasperReports
26.06.2012
Page 3
Warum?
::Ablösung von Oracle Forms und Reports?
► Oracle Forms and Oracle Reports werden mittelfristig von Oracle nicht
mehr unterstützt
▪  Viele Firmen suchen sich Alternativen zu Oracle Forms
▪  Oracle (Sales) empfiehlt Fusion / ADF, den „Java Stack“, ist es immer die
beste Wahl?
► Triftige Gründe, um zu APEX zu wechseln:
▪  Investitionsschutz
−  Es wurde bereits viel in die Business Logik mit PL/SQL investiert
−  Robuster, gut getesteter, performanter und zuverlässiger Code
▪  Menschen:
−  Technologische Ähnlichkeit, SQL und PL/SQL ebenfalls Fundament
von APEX, sanfte Lernkurve durch Fokussierung auf Business
Logik, HTML, CSS und Javascript später bei Bedarf hinzufügen
−  Motivierte Mitarbeiter durch schnelle Erfolgserlebnisse. APEX macht
Spaß!
Oracle Reports to JasperReports
26.06.2012
Page 4
Warum?
::Alternativen?
► Alternativen im Open Source Bereich
▪  Eclipse BIRT, JasperReports und Pentaho
▪  Aktuelle Vergleichsstudie (2012, basiert auf JasperReports 4.5.0):
−  http://www.innoventsolutions.com/open-source-reporting-review-birtjasper-pentaho.html
−  http://www.innoventsolutions.com/jasper-review.html
▪  JasperReports ist der Favorit für seitenoriente druckfähige Ausgaben
► JasperReports
▪  Begonnen auf Sourceforge in 2001, 2005 kam Release 1.0
▪  Kontinuierliche Weiterentwicklung (mind. 6 Releases pro Jahr)
▪  Der am häufigsten eingesetzte Open Source Berichtsgenerator mit über
175.000 produktiven Installationen weltweit
▪  Case Studies: http://www.jaspersoft.com/case-studies
▪  Kommerzieller Support und Training ist verfügbar
▪  Open Source => kein Vendor-lock in
Oracle Reports to JasperReports
26.06.2012
Page 5
JasperReports
::Die Komponenten
► Komponenten
▪  JasperReports Library
−  http://jasperforge.org/projects/jasperreports
−  Die Laufzeitumgebung
▪  iReport Designer
−  http://jasperforge.org/projects/ireport
−  Editor für den visuellen Entwurf des Berichts
−  Das JasperSoft Studio ist eine alternative Implementierung
basierend auf Eclipse
▪  JasperReports Server
−  http://jasperforge.org/projects/jasperserver
−  Portal für das Deployment, Benutzerverwaltung und Rechtemangement
Oracle Reports to JasperReports
26.06.2012
Page 6
JasperReports
::Architektur
► Was ist es?
▪  „Einfach nur“ eine Java Bibliothek, die in beliebige Java Applikationen
integriert werden kann, z.B. SWING, RCP, J2EE, auf der Kommandozeile
mit ANT oder direkt Java.
▪  Basiert auf anderen Open Source Bibliotheken wie iText, Groovy,
Hibernate, JFreeChart, Log4J, POI, etc.
► In der Entwurfsphase
▪  Berichtsdefinition im XML Format (z.B. report.jrxml)
▪  Umwandlung (Kompilation) in ein Binärformat (z.B. report.jasper)
► Zur Laufzeit
▪  Es wird eine Datenquelle initialisiert
▪  Laufzeitparameter werden an JasperReports übergeben und der Bericht
mit Daten befüllt. Daraus entsteht ein JasperPrint Objekt
▪  Dieses kann dann in die verschiedenen Formate exportiert werden (HTML,
PDF, XLS, DOC, RTF, DOCX, ...)
Oracle Reports to JasperReports
26.06.2012
Page 7
JasperReports
::Funktionen
► Funktionen:
▪  JasperReports bietet alle Funktionen, die ein moderner
Berichtsgenerator haben sollte
▪  Datenquellen: JDBC, XML, OLAP, TEXT, Hadoop …, zus. beliebige
Erweiterbarkeit über benutzerdefinierte Datenquellen
▪  Mehrere Datenquellen pro Bericht
▪  Ausgabeformate: pdf, xls, xlsx, html, xhmtl, csv, text, rtf, odf, docx, pptx, ...
▪  Matrixberichte
▪  Charts (JFreechart)
▪  Berichtstrigger
▪  Unterberichte / Modularisierung / Wiederverwendbarkeit
▪  Bedingte Formatierung (Stile)
▪  Bedingte Darstellung von Feldern
▪  Skriptsprachen, insbesondere für Berechnungen und Bedingungen: Java,
Groovy, Javascript
▪  Fonts, Unicode, NLS
▪  …
Oracle Reports to JasperReports
26.06.2012
Page 8
JasperReports
::Beispiele
Oracle Reports to JasperReports
26.06.2012
Page 9
JasperReports
::Beispiele
Oracle Reports to JasperReports
26.06.2012
Page 10
JasperReports
::Beispiele
► Weitere Beispiele:
▪  JasperReports-­‐Demo-­‐Documents/
Oracle Reports to JasperReports
26.06.2012
Page 11
JasperReports
::iReport Designer GUI
Oracle Reports to JasperReports
26.06.2012
Page 12
JasperReports
::Lizensierung
► JasperReports ist verfügbar unter der Lesser General Public License
version 3 (LGPLv3)
▪  http://www.gnu.org/licenses/lgpl-3.0.html
► JasperReports kann
▪  in Produktionssystemen im Unternehmen verwendet oder auch
▪  in kommerziellen Systemen eingebettet werden (solange die jar-Dateien
nicht geändert werden)
► Alle verwendeten Bibliotheken sind nicht viral (ähnlich zu GPL), also
meistens Apache oder LGPL Lizenzen:
▪  http://jasperforge.org/plugins/espforum/view.php?
group_id=102&forumid=103&topicid=7255
► Disclaimer: Dies ist keine gesicherte rechtliche Auskunft, bitte die
Lizenzbedingungen für den eigenen Fall prüfen lassen
Oracle Reports to JasperReports
26.06.2012
Page 13
JasperReports
::Getting Started
► JasperReports Library
▪  http://jasperforge.org/website/jasperreportswebsite/trunk/
documentation.html?header=project&target=jasperreports
Oracle Reports to JasperReports
26.06.2012
Page 14
JasperReports
::Getting Started
► JasperReports Library
▪  Referenz der Beispiele:
http://jasperforge.org/uploads/publish/jasperreportswebsite/trunk/
sample.reference.html
▪  Separater Download des Sourcecodes mit allen Beispielen
(jasperreports-4.6.0-project.zip)
► iReport Designer
▪  Forum: http://jasperforge.org/projects/ireport/forum/
▪  Wiki: http://jasperforge.org/plugins/mwiki/index.php/Ireport
▪  Tutorials & Hilfe:
http://jasperforge.org/uploads/publish/ireportwebsite/IR%20Website/
ir_documentation.html
Oracle Reports to JasperReports
26.06.2012
Page 15
JasperReports
::Getting Started
► Kostenpflichtiges Material: http://www.Jaspersoft.com
▪  iReport Designer Ultimate Guide (33€)
▪  https://www.jaspersoft.com/store/ireport-ultimate-guide-documentation
▪  Online Training, instructor led classes
Oracle Reports to JasperReports
26.06.2012
Page 16
JasperReports
::Getting Started
► iReport Designer – die eingebauten Beispiele nutzen
▪  Zuerst die Sample Database starten (im aktuellen Java Prozess)
▪  Datenquelle auswählen
▪  Die jeweiligen Beispielberichte ausführen
▪  Die Datenbank wird automatisch heruntergefahren, wenn der iReport
Designer geschlossen wird
Oracle Reports to JasperReports
26.06.2012
Page 17
JasperReports
::Kann ich alle Fragestellungen lösen?
► In den folgenden Folien konzentriere ich mich auf den Übergang von
Oracle Reports zu JasperReports sowie einige allgemeine
Fragestellungen, mit denen die Anwender Probleme haben.
► Die Beispiele basieren auf dem OEHR Beispiel-Schema:
▪  http://www.oracle.com/technetwork/developer-tools/apex/applicationexpress/packaged-apps-090453.html
► Die beiden Berichtsgeneratoren unterscheiden sich in der Art, wie der
Bericht abgearbeitet wird und auch wie ein Layout definiert wird.
► Oracle Reports:
▪  Multiple Layouts pro Bericht möglich
▪  Elemente können vertikal
und horizontal expandieren
▪  Rahmen und Wiederholungsrahmen
▪  Verwendung von Ankern
Oracle Reports to JasperReports
26.06.2012
Page 18
JasperReports
::Report Layout
► Berichtsbänder
▪  Title: erscheint nur einmalig am Anfang des Berichtes.
▪  pageHeader: erscheint oben auf jeder Seite, üblicherweise
um Logos, den Firmennamen oder Datumsinformationen zu
platzieren.
▪  columnHeader: listet die Spaltenüberschriften auf für
Datenfelder im Detailbereich
▪  Detail: ist der Bereich, in dem alle Zeilen einer Abfrage
ausgegeben werden
▪  columnFooter: dient der Zusammenfassung der Werte im
Detailbereich, um z.B. Summen, Durschnitte oder andere
Aggregate darzustellen
▪  pageFooter: erscheint unten auf jeder Seite
▪  Summary: erscheint am Ende des Berichts
Beispiel: 01-­‐Understanding-­‐Report-­‐Bands/understanding-­‐report-­‐bands.jrxml Oracle Reports to JasperReports
26.06.2012
Page 19
JasperReports
::Report Layout
► Report Layout mit JasperReports / Tipps:
▪  Berichtsbänder bestimmen das Layout und die Verarbeitung
▪  Einige Bänder expandieren nach Bedarf
▪  Layout Objekte können innerhalb eines Bandes unterschiedlich positioniert
werden (Positionstyp):
−  Fix relative to top
−  Float (wichtig, damit Elemente nach
unten verschoben werden können)
−  Fix relative to bottom
▪  Wichtige Einschränkung:
−  Die max. Höhe eines Bandes kann nicht größer sein als die
Seitenhöhe!
−  Workaround: Ein weiteres Detail-Band
hinzufügen
Oracle Reports to JasperReports
26.06.2012
Page 20
JasperReports
::Report Layout
► Report Layout mit JasperReports / Tipps:
▪  Elementeigenschaft „Remove line when blank“ lässt leeren Platz
kollabieren, wenn das Feld über eine Bedingung unterdrückt wird:
▪  Mit Frames Inhalte gruppieren
−  Mit der Maus kann im Report Inspector
die Zugehörigkeit zum Frame verändert
werden
Oracle Reports to JasperReports
26.06.2012
Page 21
JasperReports
::Use Case #: Master – Detail
► Master-Detail Beziehung
▪  Beispiel: Standort und alle Abteilungen an diesem Standort
▪  02-­‐Master-­‐Detail/master-­‐detail.jrxml ► Implementierung ganz normal über den Wizard, vordefinierte
Templates und Stile sind zu empfehlen
Oracle Reports to JasperReports
Demo: Master-Detail
Beziehung mit
Template und Stilen
26.06.2012
Page 22
JasperReports
::Use Case #: Master – multiple Details
► Master- multiple Details
▪  Beispiel: Standort, alle Abteilungen und Lager am Standort
▪  02-­‐Master-­‐Detail/master-­‐multiple-­‐details-­‐
subreport.jrxml ► Implementierung mit Unterberichten (Subreports)
Demo: Master-multiDetail Report mit
Unterbericht
► Wie?
▪  Subreport Element auf den Designbereich ziehen
▪  Parameter für den Aufruf übergeben und auf den Master filtern
► Vorteile / Nachteile
▪  Für jede Detail-Abfrage wird eine neue Berichtsdatei benötigt
▪  Gut geeignet, weitere Komplexität aufzubrechen und in den
Subreport zu verlagern
▪  Wiederverwendbarkeit / Modularisierung
Oracle Reports to JasperReports
26.06.2012
Page 23
JasperReports
::Use Case #: Master – multiple Details
► Master- multiple Details
▪  Beispiel: Standort, alle Abteilungen und Lager am Standort
▪  02-­‐Master-­‐Detail/master-­‐detail-­‐table-­‐
component.jrxml ► Implementierung mit der Table Component
Demo: Master-multiDetail Report mit
Table Component
► Wie?
▪  Table Component auf den Designbereich ziehen
▪  Dataset innerhalb des Berichtes erstellen
▪  Hat fast alle Eigenschaften eines Unterberichts
► Vorteile / Nachteile
▪  Direkt im Bericht integriert
▪  „Nur“ eine Tabelle, kein Titel-/
Summary Band
Oracle Reports to JasperReports
26.06.2012
Page 24
JasperReports
::Use Case #: Bedingte Anzeige einer Spalte
► Bedingte Anzeige einer Spalte
▪  Beispiel: Details anzeigen oder unterdrücken in Abhängigkeit der Daten
oder eines Parameters
▪  03-­‐Conditional-­‐Columns/conditional-­‐columns.jrxml
► Implementierung mit der Table Component
▪  http://thinkinginsoftware.blogspot.de/2011/06/ireport-dynamically-hideshow-columns.html
▪  „Print when“ Ausdruck auf der jeweiligen Spalte definieren
−  Z.B. $P{p_show_details}=="YES"
Oracle Reports to JasperReports
26.06.2012
Page 25
JasperReports
::Use Case #: Bedingte Formatierung
► Bedingte Formatierung (aka Format Trigger)
▪  Beispiel: der Auftragsstatus wird farblich gekennzeichet,
sowohl Zellen als auch Zeilen
▪  04-­‐Conditional-­‐Formatting/conditional-­‐
formatting.jrxml
Demo: Bedingte
Formatierung
► Implementierung mit Stilen und bedingten Stilen
► Wie?
▪  Stil erstellen
▪  Bedingung zu Stil hinzufügen
▪  Bedingten Stil einem oder mehreren Elementen hinzufügen
► Vorteile / Nachteile
▪  Flexibel und wiederverwendbar
▪  Nicht ganz so intuitiv
Oracle Reports to JasperReports
26.06.2012
Page 26
JasperReports
::Use Case #: Berichtstrigger
► Berichtstrigger
▪  Beispiel: Zu Beginn des Berichtes DML oder DDL Statements
absetzen
▪  05-­‐Report-­‐Trigger/report-­‐trigger.jrxml
Demo: Report-trigger
► Implementierung mit Scriptlets
► Wie?
▪  Java Klasse erstellen (Default Klasse JRDefaultScriptlet) und
benötigte Handler überschreiben, z.B. beforeReportInit()
▪  Klasse kompilieren
▪  Scriplet in Bericht registrieren
► Vorteile / Nachteile
▪  Durch einen JDBC Aufruf kann das Haupt-Select im Bericht
nicht beeinflusst werden, nur nachgelagerte Abfragen in einem
Dataset oder Subreport
Oracle Reports to JasperReports
26.06.2012
Page 27
JasperReports
::Use Case #: User Exits
► User Exits
▪  Beispiel: C / C++ können zur Laufzeit in Oracle Reports eingebunden
werden
▪  05-­‐Report-­‐Trigger/report-­‐trigger.jrxml
► Implementierung mit Scriplets
▪  Scriptlets können direkt per Methode aufgerufen werden oder an
verschiedenen Punkten in der Berichterstellung interne Variablen
beeinflussen.
▪  Die Scriplets werden in Java geschrieben
Oracle Reports to JasperReports
26.06.2012
Page 28
JasperReports
::Use Case #: Modularisierung / Wiederverwendbarkeit
► Modularisierung / Wiederverwendbarkeit
▪  Beispiel: Die Firmenadresse bzw. Liste der Geschäftsführer ist Bestandteil
von 100+ Berichten. Sollte sich daran etwas ändern, müssen alle Berichte
aktualisiert werden.
▪  06-­‐Modularization/modularization.jrxml
► Implementierung mit Unterberichten
▪  Mit einem Unterbericht kann die Fußzeile nur einmalig in einem Bericht
erstellt werden und in allen anderen Berichten als Unterbericht integriert
werden.
Oracle Reports to JasperReports
26.06.2012
Page 29
JasperReports
::Use Case #: Internationalisierung
► Internationalisierung
▪  Beispiel: Der Bericht soll sowohl auf Deutsch als auch
auf Englisch und Französisch ausgeführt werden.
Jeweils soll das entsprechende Datums- und
Zahlenformat berücksichtigt werden.
▪  07-­‐Internationalization/I18nReport.jrxml
Demo:
internationalization
► Implementierung
▪  Java unterstützt Internationalisierung vollständig (i18n
compliant)
▪  Formatmasken benutzen Platzhalter für NLS analog zu
Oracle, z.B. #,##0.00
▪  Textbausteine können über Properties-Dateien
ausgelagert werden
► Tipp:
▪  Umstellung der Landeseinstellungen in iReport über
Einstellungen > iReport > Compilation and Execution
Oracle Reports to JasperReports
26.06.2012
Page 30
JasperReports
::Use Case #: Abfragen basierend auf einem Refcursor
► Abfragen basierend auf einem Refcursor
▪  Beispiel: Der Bericht soll auf einem Refcursor ausgeführt werden.
▪  08-­‐RefCursor-­‐Query/refcursor.jrxml
► Implementierung mit Standardfunktionalität
▪  Wird direkt in JasperReports unterstützt
▪  Als Abfragesprache „plsql“ auswählen
► Tipps:
▪  http://rajendratambat.blogspot.de/2011/10/calling-oracle-stored-procedurein.html
▪  http://michakurt.blogspot.de/2010/02/how-to-integrate-jasperserverand.html
Oracle Reports to JasperReports
26.06.2012
Page 31
JasperReports
::Use Case #: Abfragen basierend auf einem Refcursor
► Abfragen basierend auf einem Refcursor
► Vorteile / Nachteile
▪  Die Datenfelder müssen manuell von Hand definiert werden
▪  Sehr gut geeignet, um einen VPD Kontext zu setzen, da damit die Abfrage
im Bericht direkt beeinflusst wird!
Oracle Reports to JasperReports
26.06.2012
Page 32
Integration mit Oracle APEX
► JasperReportsIntegration – kostenlose Integration mit APEX
▪  http://www.opal-consulting.de/tools
▪  http://www.opal-consulting.de/forums
Oracle Reports to JasperReports
26.06.2012
Page 33
Integration mit Oracle APEX
::Architektur
► Architektur
▪  1: Benutzer klickt auf Link in APEX
▪  2: PL/SQL API erstellt URL inkl.
Parameterübergabe, um J2EE Anwendung
zu starten (über utl_http)
▪  3: JasperReports erstellt JDBC zurück zu
Oracle, führt Bericht aus und liefert
Berichtsergebnis (z.B. PDF) zurück
► Eigenschaften
▪  Die Berichtsdateien werden lokal auf dem J2EE Server gespeichert.
−  Einfach zu entwickeln komplett aus iReport heraus, keine Roundtrips
notwendig
▪  Sicherheit durch Firewall implementiert
▪  Die API liefert einen BLOB zurück
−  Direkt dem Benutzer anzeigen, in Tabelle speichern oder als Email
Attachment verschicken
Oracle Reports to JasperReports
26.06.2012
Page 34
Integration mit Oracle APEX
::Getting started
► Test der J2EE Anwendung
▪  http://<server>:<port>/JasperReportsIntegration/
▪  1: Test der JDBC Connection
−  http://<server>:<port>/JasperReportsIntegration/test?
_dataSource=default
▪  2: Testbericht gegen die eigene Datenbank ausführen (test.jasper)
−  http://<server>:<port>/JasperReportsIntegration/report?
_repName=test&_repFormat=pdf&_dataSource=default
▪  3: Parameter an den Bericht übergeben
−  http://<server>:<port>/JasperReportsIntegration/report?
_repName=test&_repFormat=pdf&_dataSource=default&paramet
er1=1&parameter2=2
► Tipp:
▪  Die Besten Fehlermeldungen erhält man bei der Ausgabe im HTML
Format
Oracle Reports to JasperReports
26.06.2012
Page 35
Integration mit Oracle APEX
::Getting started
► Die Beispiel-Applikation (im Download
enthalten)
▪  src/apex/
f860_JasperIntegrationTest_1.1.0.0.sql
▪  Einfache Tests der installierten Software
▪  Report testing tool
► Demo der API Aufrufe:
▪  Show report
▪  Get report as BLOB
Oracle Reports to JasperReports
26.06.2012
Page 36
Integration mit Oracle APEX
::Getting started
► Schritt für Schritt Anleitung zur Integration in die Beispiel-Applikation:
▪  http://www.opal-consulting.de/downloads/free_tools/
JasperReportsIntegration/Opal-Consulting-JasperReportsIntegration.pdf
Oracle Reports to JasperReports
26.06.2012
Page 37
Fazit
► JasperReports ist eine mächtige Alternative zu Oracle Reports
► Die wichtigsten Design Patterns sind übersetzbar
► Die Integration mit Oracle APEX ist einfach
► Vorsicht mit den Bibliotheken bzgl. der Lizenzen, am besten die
Versionen verwenden, die iReport mit ausliefert.
Oracle Reports to JasperReports
26.06.2012
Page 38
Q&A
Q&A
Dietmar Aust
Opal-Consulting, Köln
www.opal-consulting.de
daust.blogspot.com
[email protected]
Oracle Reports to JasperReports
26.06.2012
Page 39
Backup – zus. Folien
Backup-Folien
Bei Bedarf
Oracle Reports to JasperReports
26.06.2012
Page 40
Warum?
::Ablösung von Oracle Forms und Reports?
► Jeder redet von einem Ersatz für Oracle Forms, was ist jedoch mit
Oracle Reports?
▪  Oracle Reports ist immer noch in 12c dabei, es wurde jedoch erst in der
letzen Minute entschieden
► Oracle BI-Publisher?
▪  Pro:
−  Power User können direkt mit den Office Produkten Templates
erstellen (Excel, Word und auch PDF Templates möglich)
▪  Contra:
−  Kosten
−  Komplexe pixel-perfekte Layouts können nicht vollständig umgesetzt
werden
−  Komplexere Funktionalitäten nur über direkte Verwendung von
XSLT Befehlen
−  Spalten in einer Tabelle können nicht konditional ausgeblendet
werden
Oracle Reports to JasperReports
26.06.2012
Page 41
JasperReports
::Lizensierung
►  iReport Designer und JasperServer Lizenz:
►  GNU Affero General Public License version 3 (AGPLv3), modifizierte Variante der
GPLv3
► Alle Lizenzvereinbarungen werden zusammen mit den jeweiligen
Bibliotheken ausgeliefert:
► Disclaimer: Dies ist keine gesicherte rechtliche Auskunft, bitte die
Lizenzbedingungen für den eigenen Fall prüfen lassen
Oracle Reports to JasperReports
26.06.2012
Page 42
Integration mit Oracle APEX
::Security - Authorization
► How can we implement access control to our reports and the data?
▪  We can implement a simple or complex scheme based on our
requirements.
▪  The J2EE server can only be reached through APEX / the database
▪  The user is authenticated against APEX => we can use :APP_USER
safely
► Access control to the report
▪  Can be implemented as an authorization scheme
► Access control to the underlying data
▪  Check the users‘ privileges before calling the report via the API.
Oracle Reports to JasperReports
26.06.2012
Page 43
Herunterladen