Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

ORACLE Reports 10g im J2EE-Umfeld: Reports und XML DB

Ähnliche Präsentationen


Präsentation zum Thema: "ORACLE Reports 10g im J2EE-Umfeld: Reports und XML DB"—  Präsentation transkript:

1 ORACLE Reports 10g im J2EE-Umfeld: Reports und XML DB
Dipl.-Inform. Jens Rettig

2 Agenda Vorstellung Reports und XML Reports in der J2EE-Welt
XML DB – Speicherung Reports-Zugriff mit SQL und XPath Kopplung von XML-Daten in XML-DB mit „Event Driven Publishing“ in Reports Probleme Fazit

3 ESEIS GmbH Evolutionäre Softwareentwicklung individueller Systeme GmbH
Gründung in 04/2002 Im vierten Geschäftsjahr erfolgreich „am Markt“ Ziele Investitionssicherung bei Partnern durch Weiterentwicklung bestehender Systeme Umfassende IT-Beratung Unterstützung bei allen Tätigkeiten im SE-Bereich Kompetenzen Oracle-Know-How von g Alle Phasen der Softwareentwicklung auf vielen Plattformen

4 Portfolio und Kunden Interessiert ? Hier könnte Ihr Logo stehen
Kompetente Beratung bei der Planung und Umsetzung von IT-Strategien für betriebliche Informationssysteme, insbesondere - der Einführung neuer Technologien und - der Migration von Systemen - der Weiterentwicklung von bestehenden Systemen Systementwicklung von unternehmensweiten Anwendungen mit modernem Software Engineering und Qualitätsmanagement Die ESEIS GmbH bietet von der Projektleitung bis zur Einführung Aufgaben aus der gesamten Palette des Software Engineering ! Interessiert ? Hier könnte Ihr Logo stehen Für weitere Informationen :

5 XML-Grundbegriffe: Schemata
DTD Document Type Definition Definition von Typen/“Sorten“ von XML-Dateien XML-Schema W3C XML Schema <xs:schema xmlns:xs=“ Nutzung von XML zur Beschreibung von XML xs:element xs:string xs:simpleType xs:complexType Für weitere Informationen s. Literatur

6 Nur für zwei-dimensionale Daten !!!
Reports und XML Reports verarbeitet XML-Dateien als Input „out of the box“ …aber das „kleingedruckte“… Nur für zwei-dimensionale Daten !!! The XML PDS implementation supports only two-dimensional listing of records. Oracle Reports expects the XML data file to be in simple table format with rows and columns. Oracle Reports iterates through the XML sequence at one level below the topmost element in the XML. If there are sequences at lower levels (nested elements), they are not handled. Thus, to generate a tabular report, you must "flatten" your XML file into simple row-column format, as shown in the following examples. (aus : „Oracle® Reports - Building Reports - 10g Release 2 (10.1.2) - B July 2005“, S. 720 von 796) nur nutzbar, wenn dies ausreicht… oder XML-Transformation erforderlich

7 Reports und XML: Beispiel
Reports liest XML-Datei und zugehörige XML-Schema/DTD-Datei Daten werden als Abfrage in separater Gruppe im Reports Datenschema dargestellt Zwei-Dimensionale Daten durch „Platt-klopfen“ Live -Demo

8 XML in Reports: Distribution.xml
Steuerung von Reports mit Hilfe von in XML-Dateien gespeicherten Informationen XML-Schema-Auszug Burst-Distribution Teilergebnisse separat verteilen (mit foreach) Report-Variablen zur Verteilung nutzen (z. B. als Mail-Empfänger, Dateiname) Detaillierte Erklärung im JDeveloper Steuerung mit Daten speichern !?

9 Reports in der J2EE-Welt
Aufruf von Reports direkt aus der Browser-Session des Clients Rückgabe des Ergebnisses an den Browser Verschiedene Ausgabeformate XML PDF (Excel-)Spreadsheet Verschiedene Ausgabeziele Per FTP, Mail, Ausgabe an Drucker Auch gleichzeitig per Burst Distribution

10 Reports in der J2EE-Welt: Beispiel
Aufruf von Reports direkt aus der Browser-Session des Clients z.B.: ?report=Mitarbeiterprofil.rdf&destype=screen &desformat=pdf&desname=my_mitarbeiterprofil.pdf Verschiedene Ausgabeformate XML (desformat=xml) PDF (s.o.) Excel-Ausgabe (desformat=spreadsheet) Verschiedene Ausgabeziele Per FTP, Mail, Ausgabe an Drucker mit destype, desformat, desname mit distribute=yes, destination=<datei auf rep_server> Auch gleichzeitig per “Burst Distribution” „One Source“ nur unterschiedliche Aufruf-Parameter

11 Probleme in der J2EE-Welt
Reimplementierung von Geschäftslogik ?!? („Doppelter“ SQL-Zugriff in App-Server auf komplexe DB-Objekte) Pluggable Data Sources ? Web-Client Application-Server J2EE-Application Report-Server z.B. via BC4J SQLNet Datenbank-Server

12 ORACLE XML DB ORACLE Datenbank-Komponente zur effizienten Speicherung und Abfrage von XML-Daten aus ORACLE DB Ermöglicht XPath-Ausdrücke in SQL Registrierung von XML-Schemata vs. Datenbank-Tabellen (und damit „Prüfungsmöglichkeit“) Incl. Namespace-Unterstützung Speicherung von XML-Daten (Teil-)Relational durch Eintragung von (xdb-) Speicherungsanweisungen in XML-Schema oder (default) Speicherung als CLOB „Insert“ von XML-Daten („Dateien“) auch per FTP oder HTTP Ab Version Oracle 9i verfügbar (mindestens …)

13 XML DB: Speicherung und Abfrage
Insert als Clob Select mit SQL und XPath Reports XML DB Insert als Clob Select mit SQL Reports (Teil-)relationale Speicherung durch Implementierung von XML-Schema XML DB Insert als Clob Reports Select mit SQL Abfrage mit „reinem“ SQL durch Definition von relationalen Views mit XPath-Anweisungen

14 Beispiel: Mitarbeiterprofil
Live -Demo

15 Zugriff mit SQL und XPath I
select extractValue( OBJECT_VALUE –- oder auch value(a) , '/wws:Mitarbeiter/Name' , 'xmlns:wws=" ) Mitarbeitername , extractValue( OBJECT_VALUE , '/wws:Mitarbeiter/Geburtsjahr' ) Geburtsjahr , '/wws:Mitarbeiter/Ausbildung' ) Ausbildung , '/wws:Mitarbeiter/Nationalitaet' ) Nationalitaet , '/wws:Mitarbeiter/EDVseit' ) EDVseit , '/wws:Mitarbeiter/verfügbarAb' ) verfügbarAb from rettig."Mitarbeiter_TAB" a;

16 Zugriff mit SQL und XPath II
select extractValue( value(a) , '/wws:Mitarbeiter/Name' , 'xmlns:wws=" ) Mitarbeitername , extractValue(value(bs) , '/Programmiersprache‚ ) Programmiersprache from rettig."Mitarbeiter_TAB" a , table( XMLSequence( extract(value(a) , '/wws:Mitarbeiter/Programmiersprache' ) ) bs;

17 Zugriff mit SQL und XPath III
Wichtiger „Kniff“: Extrahieren und verknüpfen von XML-Fragmenten, um relational zusammengehörige Objekte (Master-Detail-Detail) auch zusammengehörig zu selektieren select extractValue( value(a) , '/wws:Mitarbeiter/Name‚ , 'xmlns:wws=" ) Mitarbeitername , extractValue(value(p) , '/Projekt/Name' ) Projektname , extractValue(value(bs) , '/Programmiersprache' ) Programmiersprache from rettig."Mitarbeiter_TAB" a , table( XMLSequence( extract(value(a) , '/wws:Mitarbeiter/Projekt' ) ) p extract(value(p) , '/Projekt/Programmiersprache' ) bs;

18 „Event-Driven Publishing“
v_PList := SRW_PARAMLIST(SRW_PARAMETER('','')); Srw.add_parameter(v_PList,'GATEWAY‚ ,' Srw.add_parameter(v_PList,'SERVER','rep_druck_queue'); Srw.add_parameter(v_PList,'REPORT',p_report_name); Srw.add_parameter(v_PList,'DESTYPE','file'); Srw.add_parameter(v_PList,'DESNAME‚ ,'/home/oracle/jret_test/drucken/testoutput.pdf'); v_ident := Srw.run_report(v_PList); insert into Daten (xmldata) select , extract( OBJECT_VALUE , '/Eingang/Daten‚ ).getclobval() DATEN from Eingang XML DB Insert, FTP, WebDav Select Reports Eingang Daten Journal Trigger

19 Probleme Distribution-XML muss als Datei auf dem Report-Server vorliegen Für „Event-Driven Publishing“ (vom DB-Server aus) eher lästig, da Schicht-übergreifender Datei-Zugriff realisiert werden muss. Distribution (derzeit !?!) nicht mit allen Ausgabeformaten möglich Spreadsheet (Excel) XML

20 Fazit Praxisrelevantes Beispiel ?
Prototyp beim Kunden realisiert Erweiterung um weitere Reports und größere Datenmengen steht an Vielleicht zur DOAG-Jahrestagung '06: Darstellung der (weiteren) Erfahrungen Performance Aussagen Erste kleine Tests mit guter Performance Große Dateien ? Weitere Konzepte: Monitoring-Komponente mit Wiederanlauf-Mechanismen

21 Fazit II Reports Pluggable Data Sources Pluggable Report Destinations
Faszinierende Variante, „beliebige“ Datenquellen mit Reports zu koppeln Java-API Aber aufgrund der Mächtigkeit auch komplex Eher ein „eigenes Projekt“ als schnelle Lösung Pluggable Report Destinations Auch für Ausgabeziele können Java-Klassen gebaut werden…

22 Literatur Ray, E.T.: Einführung in XML, O‘Reilly
Harold, E.R., Means, W.S.: XML in a Nutshell, O‘Reilly v.d.Vlist, E.: XML-Schema, O‘Reilly Schardina, M., Chang, B., Wang, J.: XML&SQL:Design, Build&Manage XML Applications in Java, C,C++ & PL/SQL, Oracle Press Online Dokumentation von Oracle XML-DB und Oracle Reports (!!!)

23 ORACLE Reports 10g im J2EE-Umfeld: Reports und XML DB
Dipl.-Inform. Jens Rettig


Herunterladen ppt "ORACLE Reports 10g im J2EE-Umfeld: Reports und XML DB"

Ähnliche Präsentationen


Google-Anzeigen