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

Slides:



Advertisements
Ähnliche Präsentationen
Design- und Entwicklungswerkzeuge
Advertisements

SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH.
MySQL.
1 Prof. Dr. Andreas SchmietendorfWS06/07 – Labor C/S-Programmierung Übung 4 Mehrstufige Client/Server-Systeme mit JSPs, Servlets und JavaBeans (Web-Container)
SendEplanung Datenbank
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Dynamische Webseiten mit PHP
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
Einführung MySQL mit PHP
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
Architektur und Funktionalitäten der Oracle XML DB - ein Überblick mit ausgewählten praktischen Beispielen - im Rahmen des 17. Workshop Grundlagen von.
Best Practices in der Datenbank-programmierung
, Jens Rettig1 ORACLE Reports 10g im J2EE-Umfeld: Reports und XML DB Dipl.-Inform. Jens Rettig
XML-Query. Übersicht Was ist XML-Query? Vergleich RDB XML-Dokument Syntaktisches und Use-Cases Kritik und Diskussion.
1 Softwareentwicklung mit.NET Teil 5 Datenzugriff mit ADO.NET Dr. Ralph Zeller.
XML und Datenbanken © 2006 Markus Röder
Torque in Turbine Team 4 Josef Bohninger Thomas Lindenhofer
SQLite und XML in PHP 5.
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
TypoScript.
Welcome to Web Services & Grid Computing Jens Mache
Prof. Dr. Ludwig Nastansky University of Paderborn Wirtschaftsinformatik 2 – FB 5 Prof. Dr. Ludwig Nastansky Warburger Straße 100, Paderborn Tel.:
WINLearn Technische Umsetzung. Basistechnologie Oberfläche in HTML JSP (JavaServerPages) zur Datenauswertung Datenhaltung: Datenbank oder Filesystem JDBC.
1 Konica Minolta IT Solutions Prinzip Partnerschaft MANAGED MONITORING ÜBERWACHJUNG DER SERVERINFRASTRUKTUR UND ANWENDUNGEN DIREKT AUS DER CLOUD.
Gregor Graf Oracle Portal (Part of the Oracle Application Server 9i) Gregor Graf (2001,2002)
Datenbanken Produkte Dienstleistungen Referenzen.
Datenbanken Produkte Dienstleistungen Referenzen.
Deutsche Post ITSolutions GmbH Benutzung von XML in Oracle 10g Richard Dörfler, DOAG - Trier,
© 2003, Rudolf Jansen Einsatz der XML-Features der Oracle 9i DB zur Systemintegration Rudolf Jansen Freiberuflicher Entwickler und Autor
Einführung. Ziel der Veranstaltung  Vermittlung von Grundkenntnissen in C++  Solide Basis für anschließende Weiterentwicklung  Fähigkeit, kleine Programme.
Technischer Überblick. Wireless Lite Wireless & Mobile: Zugriff & Darstellung VoicePullOffline Wie kann ich mit Informationen interagieren?
1 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg DOAG - Regionaltreffen Hannover Donnerstag, Oracle 9i XML Datenbank.
AMS confidential & proprietary International Business and Technology Consultants 1 Sicherheitskonzepte in Oracle Von der Entwicklung in die Produktion.
, Jens Rettig1 Einsatz von Versionsverwaltungstools im ORACLE – Umfeld Dipl.-Inform. Jens Rettig
Patrick Richterich Lattwein GmbH Web Services Softwareentwicklung mit SOAP.
Jürgen Vester Manager Sales Consulting Stuttgart Webreporting für SAP R/* mit Oracle Application Express (ehem. HTML DB)
COURSE in Köln – Copyright, 2009 Lattwein GmbH Michael Prinz Lattwein GmbH Query Reports nach „Maß“
Vorbereitung einer Anforderungsanalyse für ein GUI im Kreditkarten- Processing-Umfeld Yanik Dreiling MatrNr
Einführung OpenSTA. Agenda - über OGVIT - Warum Lasttests - Was ist OpenSTA - Wie arbeitet OpenSTA - Skripte für OpenSTA - OpenSTA Collectors - Tests.
Niels Schmahljohann Systemberater STCC ORACLE Deutschland GmbH.
SE: Systementwurf, © Till Hänisch 2003 Systemarchitektur nach Sommerville, Software Engineering, Addison Wesley.
D-SQL Vom Datenbank-Container zur SQL Server-Datenbank
Verteilte Anwendungen: J2EE
Mehr als ein Modewort? Exzerpt nach Tim O‘Reilly, Michael Karrer
DOAG SID Data Warehouse
Scamander S O L U T I O N S Befreien Sie Ihre Oracle Applications Daten! Christian Rokitta - Berater Scamander Solutions BV
The IT–Information System
„Unsere Kompetenz – Ihr Nutzen.“
Relationales Geodatenmanagement mit
Business Process Excuction Lanaguage
Investitionen sichern - wachse mit Forms in die neue Welt
SLA Reporting leicht gemacht
Wesentliche Bestandteile:
AURIS-MM Spezifikation
Leistungsfähiges Reporting mit dem Oracle BI Publisher
Excel-Berichte erstellen und verteilen
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Web-Kartografie in der amtlichen Statistik Deutschlands − Regionale Statistik, Bundes- und Europawahlen, zukünftige Aktivitäten − Arbeitsgruppentreffen.
7th German CDISC User Group Basel, 11. März 2010
Von Oracle Reports zum BI Publisher
Robotron – Titel der Präsentation Frauke Schiemann,
Von Wietlisbach, Lenzin und Winter
Da·ten·bank /Dátenbank/ Substantiv, feminin [die]
Präsentation von Darleen und Michèle
Vom Feld zur Cloud eine kollaborative Online-Plattform zur Verwaltung hydrologischer Observatorien Philipp Kraft, David Windhorst, Lutz Breuer.
OFFICE 365 FOCUS SESSION SHAREPOINT ONLINE 101:LERNE DIE BASICS 19. März 2018 Höhr-Grenzhausen.
Von Wietlisbach, Lenzin und Winter
Once Upon A Time In Austria
Schmock Mutter nicht ausreichend versorgt  fast verhungert Mutter bei Geburt verstorben Schmock mit Flasche aufgezogen.
 Präsentation transkript:

ORACLE Reports 10g im J2EE-Umfeld: Reports und XML DB Dipl.-Inform. Jens Rettig jens.rettig@eseis.de http://www.eseis.de

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

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 4.5-10g Alle Phasen der Softwareentwicklung auf vielen Plattformen

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 : http://www.eseis.de

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

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) - B13895-01 July 2005“, S. 720 von 796) nur nutzbar, wenn dies ausreicht… oder XML-Transformation erforderlich

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

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 !?

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

Reports in der J2EE-Welt: Beispiel 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.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

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

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 …)

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

Beispiel: Mitarbeiterprofil Live -Demo

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' ) Geburtsjahr , '/wws:Mitarbeiter/Ausbildung' ) Ausbildung , '/wws:Mitarbeiter/Nationalitaet' ) Nationalitaet , '/wws:Mitarbeiter/EDVseit' ) EDVseit , '/wws:Mitarbeiter/verfügbarAb' ) verfügbarAb from rettig."Mitarbeiter_TAB" a;

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' ) ) bs;

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="http://www.eseis.de/reports/MitarbeiterProfil.xsd"' ) 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;

„Event-Driven Publishing“ 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/tiger@eseis_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); 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

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

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

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…

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 (!!!) http://www.otn.oracle.com

ORACLE Reports 10g im J2EE-Umfeld: Reports und XML DB Dipl.-Inform. Jens Rettig jens.rettig@eseis.de http://www.eseis.de