Jerry Held - PowerPoint PPT Presentation

About This Presentation
Title:

Jerry Held

Description:

Building High-Performance Enterprise XML Applications with Oracle Database 10g Mark Scardina Group Product Manager & XML Evangelist Oracle Corporation Why You Need ... – PowerPoint PPT presentation

Number of Views:265
Avg rating:3.0/5.0
Slides: 30
Provided by: Analy7
Category:
Tags: held | jerry

less

Transcript and Presenter's Notes

Title: Jerry Held


1
(No Transcript)
2
Building High-Performance Enterprise XML
Applications with Oracle Database 10g
Session id 40020
  • Mark ScardinaGroup Product Manager XML
    Evangelist
  • Oracle Corporation

3
Why You Need XML
  • Expanding business
  • XML is widely accepted as the standard data
    exchange format for B2B, B2C and EAI applications
  • Moving legacy applications to the Internet
  • XML incorporates metadata with data facilitating
    cross platform data exchange
  • Building e-Business applications over the
    Internet
  • XML provides powerful data abstraction for
    transaction data management and exchange
  • Publishing content across media and device types
  • XML provides flexible content representations and
    easy transformations

4
Why XML Demands High Performance
  • Encapsulation of data increase payload size
  • Standards require character-based processing
  • XML Schema validation
  • XSLT stylesheet transformation
  • XSL transformations require expensive DOM
  • Content needs data-binding for application
    processing

5
Oracle XML Developers Kit 10g
  • High Performance Standards-based libraries and
    utilities to generate, manipulate, render and
    store XML
  • Includes
  • XML Parser
  • XSLT Processor and XSLTVM
  • XML Schema Processor
  • XML Class Generators
  • XML Java Beans
  • XML SQL Utility
  • XSQL Servlet
  • SOAP Services
  • XML Pipeline Processor
  • Available for Java, C, and C
  • Available in Servers and free of charge from OTN

6
W3C/JSR Standards Support
7
Oracle XDK 10g XML to the Power of SQL
  • Build Oracle 10g XML OCI Applications
  • Directly access XMLType DOM
  • Utilize High Performance XSL Transformations
  • XSLT Compiler and Virtual Machine
  • Efficiently Generate Large XML documents
  • Stream-based retrieval
  • Speed XML Processing with Stream-based XML
  • One step XML validation and transformation

8
Build OCI XML DB Applications
  • New C APIs for working with XMLType
  • Unified development in/out of Oracle DB 10g
  • Common XML C interfaces for XML and XMLType
  • Eliminates parsing and DOM construction
  • Fast and Efficient XML processing of DB data
  • Directly work with the XMLType DOM (XOB)
  • Eliminates serializing and reparsing

9
XDK Unified DOM C Code Sample
  • / Get an xml context /    
  • params0.name_ocixmldbparam XCTXINIT_OCIDUR
       
  • params0.value_ocixmldbparam dur    
  • xctx OCIXmlDbInitXmlCtx(envhp, svchp, errhp,
    params, 1)   
  • / Parse a schema-based document /    
  • if (!(doc XmlLoadDom(xctx, err, "buffer",
    lpxml_test_sch, "buffer_length",
    sizeof(tlpxml_test_sch)-1, "validate", TRUE,
    NULL)))
  • / Create some elements and add them to the
    document /    
  • top XmlDomGetDocElem(xctx, doc)
  • foo (xmlnode ) XmlDomCreateElem(xctx, doc,
    (oratext ) "FOO")
  • foo_data (xmlnode ) XmlDomCreateText(xctx,
    doc, (oratext ) "data")    
  • foo_data XmlDomAppendChild(xctx, (xmlnode )
    foo, (xmlnode ) foo_data)
  • foo XmlDomAppendChild(xctx, quux, foo)

10
Fast XSLT with Oracle XDK10g
  • XSLT Compiler and VM for C/C
  • Compile Stylesheets for execution in XSLTVM
  • Improved throughput up to 2.5x
  • Significant Reduction in Memory use
  • XSLT 2.0 Support and Optimizations in Java
  • Optimized Stylesheet compilation based on XML/XSL
    static analysis
  • Indexing eliminates expensive XPath navigation
  • Support for Grouping, Multiple Outputs, Character
    Mapping, Temp Trees and XSL functions

11
XSLT Compiler and Virtual Machine
12
Throughput Performance (KB/s)
Result File Size Oracle Oracle
Oracle BrandX
XSLTVM C Java Java
13
XSLT Compiler/VM Code Sample
  • xmlFile (oratext)argv1
  • xslFile (oratext)argv2
  • / Create context ad initialize /
  • xctx XmlCreate(err, (oratext ) "sample",
    "data_encoding", "US-ASCII", NULL)
  • comp XmlXslCreateComp (xctx)
  • vm XmlXslVMCreate (xctx)
  • / Compile XSL stylesheet input file /
  • code XmlXslCompileFile (comp, xslFile, NULL,
    XMLXSL_STRIPSPACE, err)
  • / Transform XML input file /
  • len XmlXslGetBytecodeLength (code, err)
  • err XmlXslVMSetBytecodeBuffer (vm, code, len)
  • err XmlXslVMTransformFile (vm, xmlFile, NULL)

14
Efficiently Generate Large XML Docs
  • Print XML directly from SQL Queries
  • Print Large XML Documents and Result Sets
  • Easily print directly from SAX events
  • Extends XML SQL Utility in Oracle XDK 10g
  • Eliminates the need to create a DOM
  • No need to create SAX handlers

15
Efficiently Generate Large XML
SQL Query
Streaming

JDBC
10g
16
Performance Numbers
Result Set File Size Memory
(MB) Time (s)
DOM/SAX DOM/SAX
17
SAX Print from Query Sample Code
  • //Open a File and Initialize connection and SAX
    print
  • OutputStream out new FileOutputStream("out.xml"
    )
  • DriverManager.registerDriver(new
    oracle.jdbc.driver.OracleDriver())
  • conn DriverManager.getConnection(thinConn,sh,
    sh)
  • XMLSAXPrintDriver sample new
    XMLSAXPrintDriver(out)
  • //init the OracleXMLQuery
  • OracleXMLQuery qry
  • new OracleXMLQuery(conn,"select from
    sales")
  • //Print the results
  • qry.getXMLSAX(sample)
  • sample.flush()

18
Streaming Single-step XML Processing
  • Create a stream-based XML integration app
  • Validate and Transform XML messages in a
    stream-based process
  • Utilize Oracle Streams 10g messaging support
  • Annotate XML Schema with mapping attributes
  • Easily and Efficiently support multiple schemas
  • Abstract application schema from input schemas
    future-proofing your application

19
Stream-based XML Processing
20
D E M O N S T R A T I O N
An Open-XML Streaming Business Process
Application
21
Existing DB Application Business
  • PO

Interpretation Validation Input
  • Relational
  • Database

22
Extending DB Application Business
SOAP
SOAP
  • PO

Interpretation Validation Input
SOAP
  • XML Relational
  • Database

23
Oracle 10g The High Performance XML Platform
OracleASWebCache
OracleASJ2EE
OracleDBXML Database
Client
XMLStream
XML Stream
XMLStream
XSLT ProcessingXML Query Processing XML Caching
w/HTTP security
XSLT ProcessingXML Query Processing XML Caching
w/o security
XSLT Processing XML Query ProcessingXML
Schema/DTD Validation XML Caching w/ JAAS
security XML J2EE ComponentsXML Messaging
Queuing XML Data Integration
24
Next Steps.
  • Recommended sessions
  • 40108 Making XML Technologies Easier to Use
  • 40255 Manipulating XML with Oracle JDeveloper
  • Recommended demos and/or hands-on labs
  • DB Application Development XML to the Power of
    SQL
  • AS XML Technologies Simplify Information
    Integration
  • See Your Business in Our Software
  • Visit the DEMOgrounds for a customized
    architectural review, see a customized demo with
    Solutions Factory, or receive a personalized
    proposal. Visit the DEMOgrounds for more
    information.
  • Relevant web sites to visit for more information
  • XML Technology Center otn.oracle.com/tech/xml

25
Oracle XML Resources
  • Oracle Technology Network
  • http//otn.oracle.com
  • Downloads, Demos, Samples, Papers
  • XML Support Forum
  • Oracle9i XML Handbook
  • Covers all of Oracle XML technology
  • Includes XDK CD with Samples
  • Available today from Bookstores

26
A
27
Oracle XML Developers Kit 10g
X M L T O T H E P O W E R O F S Q L
28
Reminder please complete the OracleWorld
online session surveyThank you.
29
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com