Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

PDF Erstellung mit APEX

Ähnliche Präsentationen


Präsentation zum Thema: "PDF Erstellung mit APEX"—  Präsentation transkript:

0 PDF Erstellung mit APEX - eine kostenlose Alternative
Verfasser · weitere Angaben Thema der Präsentation · Datum 21. Deutsche Oracle Anwenderkonferenz PDF Erstellung mit APEX - eine kostenlose Alternative Dietmar Aust Opal-Consulting, Köln 1. Dezember 2008 Freue mich, dass sie so zahlreich erschienen sind – APEX erfreut sich einer stetig wachsenden Beliebtheit Im kommenden Vortrag werde ich Ihnen Alternativen zur PDF Erstellung in APEX vorstellen, die sich auch genau so im produktiven Einsatz bewährt hat.

1 PDF Erstellung mit APEX
Agenda Vorstellung Opal-Consulting PDF-Erstellung mit APEX Berichterstellung mit JasperReports Integration als externer Bericht Integration über XML Feed Fazit PDF Erstellung mit APEX Dietmar Aust

2 Vorstellung Opal-Consulting
Verfasser · weitere Angaben Thema der Präsentation · Datum Vorstellung Opal-Consulting Dipl.-Inform. Dietmar Aust, Freelance Consultant : Consultant bei der Oracle Deutschland GmbH / Düsseldorf Schwerpunkte: Oracle Portal, Oracle Reports, Oracle Forms, PL/SQL, PLSQL Web Toolkit (OWA) Seit 09/2000: Freiberuflich Schwerpunkte: Oracle Portal, Oracle Reports, Oracle Application Express, Oracle Express Edition Seit Nov ausschließlich APEX Entwicklung Aktivitäten (APEX) (XE) PDF Erstellung mit APEX Dietmar Aust

3 PDF–Erstellung mit APEX Die Problemstellung
Verfasser · weitere Angaben Thema der Präsentation · Datum PDF–Erstellung mit APEX Die Problemstellung Wozu PDF Berichte? Druckfähig / pixelperfektes Layout Standard – Berichtswesen Formulare, Rechnungen, Angebote Möglichkeiten der PDF – Erstellung mit APEX Unterstützung seit 3.0 Standard Support Apache FOP (nur PDF) Cocoon (PDF und RTF) Erweiterter Support Erfordert den BI-Publisher von Oracle ! Custom Solutions Beliebige Reporting Engine anbinden (URL-interface) Z.B. Oracle Reports, Crystal Reports, JasperReports, BIRT, etc… PDF Erstellung mit APEX Dietmar Aust

4 PDF–Erstellung mit APEX Standard-Integration - Berichtsregion
Verfasser · weitere Angaben Thema der Präsentation · Datum PDF–Erstellung mit APEX Standard-Integration - Berichtsregion Apache / mod_plsql Client 1 APEX Alternativen 1. XSL/FO Transformation mit FOP (nur PDF) 2. Cocoon (PDF + RTF) Definition: Auf dem Bericht Eigene Berichtslayouts mit XSLT spezifizieren Alternativen 1. XSL/FO Transformation mit FOP (nur PDF) 2. Cocoon (PDF + RTF) Definition: Auf dem Bericht Eigene Berichtslayouts mit XSLT spezifizieren 2 J2EE / Tomcat PDF Erstellung mit APEX Dietmar Aust

5 PDF–Erstellung mit APEX Standard-Integration
Verfasser · weitere Angaben Thema der Präsentation · Datum PDF–Erstellung mit APEX Standard-Integration Apache / mod_plsql Ablauf 1: Link ruft APEX Funktion auf 2: APEX ermittelt XSL des Layouts und das XML des Berichts 3: APEX macht Post an J2EE Server, übermittelt die Berichtsdefinition zusammen mit den Daten 1 APEX Client 2 J2EE / Tomcat PDF Erstellung mit APEX Dietmar Aust

6 PDF–Erstellung mit APEX Erweiterte Integration mit dem BI-Publisher
Optionen Berichtsabfragen definieren (Alle Items der Applikation, multiple Abfragen integrieren) Eigene Berichtslayouts mit MS Word gestalten Ausgabe in RTF und Excel Was bedeutet das? Lizenz für den BI-Publisher Sehr mächtige Integration Langfristig evtl. Option, insbesondere wenn die Fachabteilungen viele Berichte in Word / Excel haben Einbindung von Power Usern Installation PDF Erstellung mit APEX Dietmar Aust

7 PDF–Erstellung mit APEX
Verfasser · weitere Angaben Thema der Präsentation · Datum PDF–Erstellung mit APEX Konfiguration: /pls/apex/apex_admin (Instanz-Administration) Home>Service verwalten>Instance-Einstellungen PDF Erstellung mit APEX Dietmar Aust

8 PDF–Erstellung mit APEX Custom Integration
Apache / mod_plsql 1 Beliebige Reporting Engines JasperReports Oracle Reports … beliebige, die aufgerufen werden über: URL Betriebssystem-Aufrufe … (external procedure calls) http-Tunnel für beliebige Dateien Wie? Tunnel mit utl_http, Berücksichtigung des MimeTypes Wozu? => Security (nur wenige Ports) und Autorisierung (wer darf was)? APEX Client 2 3 J2EE / Tomcat Berichtsdefinitionen Daten aus Oracle mit JDBC PDF Erstellung mit APEX Dietmar Aust

9 JasperReports Übersicht
sehr beliebte Reporting Engine Java Bibliothek, um Reporting in Applikationen zu integrieren Standard im JBOSS Viele Projekte und große Kunden setzen es ein Berichtsdefinitionen in XML Funktionalitäten Datenquellen : JDBC, XML, OLAP, TEXT, … Ausgabeformate: PDF, XLS, HTML, CSV, TEXT, RTF, ODF Matrixberichte Multiple Datenquellen pro Bericht Berichtstrigger Unterberichte Bedingte Formatierung Fonts, Unicode, NLS PDF Erstellung mit APEX Dietmar Aust

10 JasperReports Beispiele
PDF Erstellung mit APEX Dietmar Aust

11 JasperReports Beispiele
PDF Erstellung mit APEX Dietmar Aust

12 JasperReports Beispiele
PDF Erstellung mit APEX Dietmar Aust

13 JasperReports Berichtsdesign mit dem iReport Designer
Graphischer Editor, um XML – Berichtsdefinitionen für JasperReports zu erstellen Aktuell zwei Versionen, klassisch und Netbeans Download des iReport Designers PDF Erstellung mit APEX Dietmar Aust

14 JasperReports Berichtsdesign mit dem iReport Designer
PDF Erstellung mit APEX Dietmar Aust

15 JasperReports Berichtsdesign mit dem Report Designer
Demo PDF Erstellung mit APEX Dietmar Aust

16 Integration I – externe Berichte http Tunnel
Berichtsdefinition in J2EE Applikation Aufruf aus APEX: Url für OnDemand Prozess OnDemand Prozess prc_show_url f?p=&APP_ID.:0:&APP_SESSION.:APPLICATION_PROCESS=prc_show_url:::F_TMP_1:&F_TMP_1. declare l_base_url varchar2(2000) := 'http://localhost:8080/jasperIntegration/report?_repName=Departments'; begin xlib_http_pck.display_url_raw(p_url => l_base_url || '&p_deptno=' || v('F_TMP_1')); exception when others then htp.p(sqlerrm); end; PDF Erstellung mit APEX Dietmar Aust

17 Integration I – externe Berichte http Tunnel
Implementierung des http Tunnels BEGIN l_http_request := UTL_HTTP.begin_request (p_url); DBMS_LOB.createtemporary (l_blob, FALSE); LOOP UTL_HTTP.read_raw (l_http_response, l_raw, l_buffer_size); DBMS_LOB.writeappend (l_blob, UTL_RAW.LENGTH (l_raw), l_raw); END LOOP; EXCEPTION WHEN UTL_HTTP.end_of_body THEN UTL_HTTP.end_response (l_http_response); END; HTP.p ('Content-length: ' || DBMS_LOB.getlength (l_blob)); OWA_UTIL.http_header_close; WPG_DOCLOAD.download_file (l_blob); DBMS_LOB.freetemporary (l_blob); PDF Erstellung mit APEX Dietmar Aust

18 Integration I – externe Berichte J2EE / Servlet
Implementierung des Servlets ds = (DataSource) initContext.lookup("java:comp/env/jdbc/" + dataSource); conn = ds.getConnection(); jasperPrint = JasperFillManager.fillReport(reportFileName + ".jasper", reportParams, conn); ServletOutputStream out = response.getOutputStream(); JRPdfExporter exporter = new JRPdfExporter(); exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, out); exporter.exportReport(); PDF Erstellung mit APEX Dietmar Aust

19 PDF Erstellung mit APEX
Integration I – externe Berichte Demo der Integration und der vereinfachten API Demo PDF Erstellung mit APEX Dietmar Aust

20 Integration II – XML Feed Übersicht
„echter“ Ersatz des BI-Publishers Kommunikation APEX  BI-Publisher: XML – Feed der Daten Berichtsdefinition als RTF-Template BI-Publisher werden die Daten mit dem Template verbunden und im gewünschten Format zurückgeliefert PDF Erstellung mit APEX Dietmar Aust

21 Integration II – XML Feed Umsetzung
Berichtsabfrage erstellen XML exportieren Berichtslayout mit JasperReports erstellen Berichtslayout hochladen (.jrxml) Berichtslayout auf der Region festlegen J2EE Applikation: Berichtsdefinition kompilieren (.jrxml => .jasper) Bericht befüllen (XML an JasperReports übergeben) Ergebnis zurückliefern PDF Erstellung mit APEX Dietmar Aust

22 Integration II – XML Feed Demo
PDF Erstellung mit APEX Dietmar Aust

23 PDF Erstellung mit APEX
Fazit Bloß nicht programmieren !!! (z.B. PL/PDF) JasperReports: kostenlos, stabil, performant und flexibel (API) iReport Designer: kostenlos, intuitiv, mächtig und nicht kompliziert Integration in APEX ist einfach und sicher umzusetzen Java Servlet Programmierung notwendig RTF Export nicht optimal Textfelder / Positionsrahmen nicht einfach zu editieren Keine Ränder im Dokument PDF Erstellung mit APEX Dietmar Aust

24 APEX Training - Ankündigung
Oracle APEX: Knowhow aus der Praxis! 23.03 – in Bensheim Dozenten: Patrick Wolf (APEX Entwickler des Jahres 2007; Oracle ACE Director) Denes Kubicek (APEX Entwickler des Jahres 2008; Oracle ACE) Dietmar Aust Praxisrelevant! Lessons learned von vielen APEX Projekten Hands-On Sessions PDF Erstellung mit APEX Dietmar Aust

25 PDF Erstellung mit APEX
Kontakt Opal-Consulting Dietmar Aust Web: Blog: PDF Erstellung mit APEX Dietmar Aust


Herunterladen ppt "PDF Erstellung mit APEX"

Ähnliche Präsentationen


Google-Anzeigen