Home >Documents >2006-03-30, Jens Rettig1 ORACLE Reports 10g im J2EE-Umfeld: Reports und XML DB Dipl.-Inform. Jens...

2006-03-30, Jens Rettig1 ORACLE Reports 10g im J2EE-Umfeld: Reports und XML DB Dipl.-Inform. Jens...

Date post:06-Apr-2015
Category:
View:106 times
Download:0 times
Share this document with a friend
Transcript:
  • Folie 1
  • 2006-03-30, Jens Rettig1 ORACLE Reports 10g im J2EE-Umfeld: Reports und XML DB Dipl.-Inform. Jens Rettig [email protected] http://www.eseis.de
  • Folie 2
  • 2006-03-30, Jens Rettig2 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
  • Folie 3
  • 2006-03-30, Jens Rettig3 ESEIS GmbH Evolutionre Softwareentwicklung individueller Systeme GmbH Grndung in 04/2002 Im vierten Geschftsjahr erfolgreich am Markt Ziele Investitionssicherung bei Partnern durch Weiterentwicklung bestehender Systeme Umfassende IT-Beratung Untersttzung bei allen Ttigkeiten im SE-Bereich Kompetenzen Oracle-Know-How von 4.5-10g Alle Phasen der Softwareentwicklung auf vielen Plattformen
  • Folie 4
  • 2006-03-30, Jens Rettig4 Portfolio und Kunden Kompetente Beratung bei der Planung und Umsetzung von IT-Strategien fr betriebliche Informationssysteme, insbesondere -der Einfhrung neuer Technologien und -der Migration von Systemen -der Weiterentwicklung von bestehenden Systemen Systementwicklung von unternehmensweiten Anwendungen mit modernem Software Engineering und Qualittsmanagement Die ESEIS GmbH bietet von der Projektleitung bis zur Einfhrung Aufgaben aus der gesamten Palette des Software Engineering ! Interessiert ? Hier knnte Ihr Logo stehen Fr weitere Informationen : http://www.eseis.de
  • Folie 5
  • 2006-03-30, Jens Rettig5 DTD Document Type Definition Definition von Typen/Sorten von XML-Dateien XML-Schema W3C XML Schema Nutzung von XML zur Beschreibung von XML xs:element xs:string xs:simpleType xs:complexType Fr weitere Informationen s. Literatur XML-Grundbegriffe: Schemata
  • Folie 6
  • 2006-03-30, Jens Rettig6 Reports verarbeitet XML-Dateien als Input out of the box aber das kleingedruckte Reports und XML 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) - B13895-01 July 2005, S. 720 von 796) Nur fr zwei-dimensionale Daten !!! nur nutzbar, wenn dies ausreicht oder XML-Transformation erforderlich
  • Folie 7
  • 2006-03-30, Jens Rettig7 Reports liest XML-Datei und zugehrige XML-Schema/DTD-Datei Daten werden als Abfrage in separater Gruppe im Reports Datenschema dargestellt Zwei-Dimensionale Daten durch Platt-klopfen Reports und XML: Beispiel
  • Folie 8
  • 2006-03-30, Jens Rettig8 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-Empfnger, Dateiname) Detaillierte Erklrung im JDeveloper Steuerung mit Daten speichern !? XML in Reports: Distribution.xml
  • Folie 9
  • 2006-03-30, Jens Rettig9 Aufruf von Reports direkt aus der Browser-Session des Clients Rckgabe des Ergebnisses an den Browser Verschiedene Ausgabeformate XML PDF (Excel-)Spreadsheet Verschiedene Ausgabeziele Per FTP, Mail, Ausgabe an Drucker Auch gleichzeitig per Burst Distribution Reports in der J2EE-Welt
  • Folie 10
  • 2006-03-30, Jens Rettig10 Aufruf von Reports direkt aus der Browser-Session des Clients z.B.: http://www.eseis.de/rwservlet:7780/reports/rwservlet ?report=Mitarbeiterprofil.rdf&destype=screen &desformat=pdf&desname=my_mitarbeiterprofil.pdfhttp://www.eseis.de/rwservlet:7780/reports/rwservlet 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= Auch gleichzeitig per Burst Distribution One Source nur unterschiedliche Aufruf-Parameter Reports in der J2EE-Welt: Beispiel
  • Folie 11
  • 2006-03-30, Jens Rettig11 Reimplementierung von Geschftslogik ?!? (Doppelter SQL- Zugriff in App-Server auf komplexe DB-Objekte) Pluggable Data Sources ? Probleme in der J2EE-Welt Datenbank-Server Application-Server J2EE-ApplicationReport-Server Web-Client z.B. via BC4J SQLNet
  • Folie 12
  • 2006-03-30, Jens Rettig12 ORACLE Datenbank-Komponente zur effizienten Speicherung und Abfrage von XML-Daten aus ORACLE DB Ermglicht XPath-Ausdrcke in SQL Registrierung von XML-Schemata vs. Datenbank- Tabellen (und damit Prfungsmglichkeit) Incl. Namespace-Untersttzung 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 verfgbar (mindestens ) ORACLE XML DB
  • Folie 13
  • 2006-03-30, Jens Rettig13 XML DB: Speicherung und Abfrage XML DB Insert als Clob Select mit SQL und XPath Reports XML DB Insert als Clob Select mit SQL Reports XML DB Insert als Clob Reports Select mit SQL (Teil-)relationale Speicherung durch Implementierung von XML-Schema Abfrage mit reinem SQL durch Definition von relationalen Views mit XPath-Anweisungen
  • Folie 14
  • 2006-03-30, Jens Rettig14 Beispiel: Mitarbeiterprofil
  • Folie 15
  • 2006-03-30, Jens Rettig15 Zugriff mit SQL und XPath I select extractValue( OBJECT_VALUE - oder auch value(a), '/wws:Mitarbeiter/Name', 'xmlns:wws="http://www.eseis.de/reports/MitarbeiterProfil.xsd"' ) Mitarbeitername, extractValue( OBJECT_VALUE, '/wws:Mitarbeiter/Geburtsjahr', 'xmlns:wws="http://www.eseis.de/reports/MitarbeiterProfil.xsd"' ) Geburtsjahr, extractValue( OBJECT_VALUE, '/wws:Mitarbeiter/Ausbildung', 'xmlns:wws="http://www.eseis.de/reports/MitarbeiterProfil.xsd"' ) Ausbildung, extractValue( OBJECT_VALUE, '/wws:Mitarbeiter/Nationalitaet', 'xmlns:wws="http://www.eseis.de/reports/MitarbeiterProfil.xsd"' ) Nationalitaet, extractValue( OBJECT_VALUE, '/wws:Mitarbeiter/EDVseit', 'xmlns:wws="http://www.eseis.de/reports/MitarbeiterProfil.xsd"' ) EDVseit, extractValue( OBJECT_VALUE, '/wws:Mitarbeiter/verfgbarAb', 'xmlns:wws="http://www.eseis.de/reports/MitarbeiterProfil.xsd"' ) verfgbarAb from rettig."Mitarbeiter_TAB" a;
  • Folie 16
  • 2006-03-30, Jens Rettig16 Zugriff mit SQL und XPath II select extractValue( value(a), '/wws:Mitarbeiter/Name', 'xmlns:wws="http://www.eseis.de/reports/MitarbeiterProfil.xsd"' ) Mitarbeitername, extractValue(value(bs), '/Programmiersprache ) Programmiersprache from rettig."Mitarbeiter_TAB" a, table( XMLSequence( extract(value(a), '/wws:Mitarbeiter/Programmiersprache', 'xmlns:wws="http://www.eseis.de/reports/MitarbeiterProfil.xsd"' ) ) bs;
  • Folie 17
  • 2006-03-30, Jens Rettig17 select extractValue( value(a), '/wws:Mitarbeiter/Name, 'xmlns:wws="http://www.eseis.de/reports/MitarbeiterProfil.xsd"' ) Mitarbeitername, extractValue(value(p), '/Projekt/Name', 'xmlns:wws="http://www.eseis.de/reports/MitarbeiterProfil.xsd"' ) Projektname, extractValue(value(bs), '/Programmiersprache' ) Programmiersprache from rettig."Mitarbeiter_TAB" a, table( XMLSequence( extract(value(a), '/wws:Mitarbeiter/Projekt', 'xmlns:wws="http://www.eseis.de/reports/MitarbeiterProfil.xsd"' ) ) p, table( XMLSequence( extract(value(p), '/Projekt/Programmiersprache', 'xmlns:wws="http://www.eseis.de/reports/MitarbeiterProfil.xsd"' ) ) bs; Zugriff mit SQL und XPath III Wichtiger Kniff: Extrahieren und verknpfen von XML-Fragmenten, um relational zusammengehrige Objekte (Master-Detail-Detail) auch zusammengehrig zu selektieren
  • Folie 18
  • 2006-03-30, Jens Rettig18 Event-Driven Publishing XML DB Insert, FTP, WebDav Select Reports EingangDaten Journal Trigger insert into Daten (xmldata) select, extract( OBJECT_VALUE, '/Eingang/Daten ).getclobval() DATEN from Eingang v_PList := SRW_PARAMLIST(SRW_PARAMETER('','')); Srw.add_parameter(v_PList,'GATEWAY,'http://www.eseis.de:7780/reports/rwservlet'); Srw.add_parameter(v_PList,'SERVER','rep_druck_queue'); Srw.add_parameter(v_PList,'REPORT',p_report_name); Srw.add_parameter(v_PList,'USERID','scott/[email protected]_02'); 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);
  • Folie 19
  • 2006-03-30, Jens Rettig19 Probleme Distribution-XML muss als Datei auf dem Report-Server vorliegen Fr Event-Driven Publishing (vom DB- Server aus) eher lstig, da Schicht- bergreifender Datei-Zugriff realisiert werden muss. Distribution (derzeit !?!) nicht mit allen Ausgabeformaten mglich Spreadsheet (Excel) XML
  • Folie 20
  • 2006-03-30, Jens Rettig20 Fazit Praxisrelevantes Beispiel ? Prototyp beim Kunden realisiert Erweiterung um weitere Reports und grere Datenmengen steht an Vielleicht zur DOAG-Jahrestagung '06: Darstellung der (weiteren) Erfahrungen Performance Aussagen Erste kleine Tests mit guter Performance Groe Dateien ? Weitere Konzepte: Monitoring-Komponente mit Wiederanlauf-Mechanismen
  • Folie 21
  • 2006-03-30, Jens Rettig21 Fazit II Reports Pluggable Data Sources Faszinierende Variante, beliebige Datenquellen mit Reports zu koppeln Java-API Aber aufgrund der Mchtigkeit auch komplex Eher ein eigenes Projekt als schnelle Lsung Pluggable Report Destinations Auch fr Ausgabeziele knnen Java-Klassen gebaut werden
  • Folie 22
  • 2006-03-30, Jens Rettig22 Literatur Ray, E.T.: Einfhrung in XML, OReilly Harold, E.R., Means, W.S.: XML in a Nutshell, OReilly v.d.Vlist, E.: XML-Schema, OReilly 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 (!!!) http://www.otn.oracle.com
  • Folie 23
  • 2006-03-30, Jens Rettig23 ORACLE Reports 10g im J2EE-Umfeld: Reports und XML DB Dipl.-Inform. Jens Rettig [email protected] http://www.eseis.de

Click here to load reader

Reader Image
Embed Size (px)
Recommended