Title: Jerry Held
1(No Transcript)
2Building High-Performance Enterprise XML
Applications with Oracle Database 10g
Session id 40020
- Mark ScardinaGroup Product Manager XML
Evangelist - Oracle Corporation
3Why 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
4Why 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
5Oracle 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
6W3C/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
8Build 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
9XDK 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)
10Fast 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
11XSLT Compiler and Virtual Machine
12Throughput Performance (KB/s)
Result File Size Oracle Oracle
Oracle BrandX
XSLTVM C Java Java
13XSLT 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)
14Efficiently 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
15Efficiently Generate Large XML
SQL Query
Streaming
JDBC
10g
16Performance Numbers
Result Set File Size Memory
(MB) Time (s)
DOM/SAX DOM/SAX
17SAX 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()
18Streaming 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
19Stream-based XML Processing
20D E M O N S T R A T I O N
An Open-XML Streaming Business Process
Application
21Existing DB Application Business
Interpretation Validation Input
22Extending DB Application Business
SOAP
SOAP
Interpretation Validation Input
SOAP
23Oracle 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
24Next 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
25Oracle 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
26A
27Oracle XML Developers Kit 10g
X M L T O T H E P O W E R O F S Q L
28Reminder please complete the OracleWorld
online session surveyThank you.
29(No Transcript)