Upload
tess98
View
358
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
Jonathan RobieNancy Vodicka
Webinar Details
• To ask a question during the presentation, type it in the Q&A box.
• A link to the recorded presentation and slides will be emailed after the event.
• Teleconference details are:
Teleconference: Use Internet Phone or one of the numbers below: 866-469-3239 (Tollfree in US/Canada)or 650-429-3300 (US/Canada Direct)or 1800-093-897 Australia 10-800-712-1281 China - North 10-800-120-1281 China - South 800-90-3575 Hong Kong 00531-12-1688 Japan 00798-14-800-6581 South Korea 800-120-4239 Singapore 00801-13-7644 Taiwan 0800-90-5571 France 0800-101-6943 Germany 1-800-882019 Ireland 1-80-9214652 Israel 800-780-632 Italy 0800-022-6826 Netherlands 900-97-1417 Spain 020-79-7251 Sweden 0800-028-8023 UK 0800-891-1716 Brazil 001-866-622-9902 Mexico
DataDirect XQuery 2.0
XML from Relational, XML
HOLDINGS
USERID TICKER SHARES
Jonathan PRGS 23
Minollo PRGS 4000000
Jonathan AMZN 3000
Minollo AMZN 3000
<portfolio> <userId>Jonathan</userId></portfolio>
<portfolio > <company ticker="AMZN"> <companyname>Amazon.com, Inc.</companyname> <annualrevenues>7780</annualrevenues> </company> <company ticker="EBAY"> <companyname>eBay Inc.</companyname> <annualrevenues>22600</annualrevenues> </company> <company ticker="IBM"> <companyname>Int'l Business Machines C</companyname> <annualrevenues>128200</annualrevenues> </company> <company ticker="PRGS"> <companyname>Progress Software</companyname> <annualrevenues>493.4</annualrevenues> </company></portfolio>
COMPANIES
TICKER NAME ANNUALREVENUES
AMZN Amazon.com, Inc. 7780
EBAY eBay Inc. 22600
PRGS Progress Software 493.4
YHOO Yahoo! Inc. 10700
XML from Relational, XML
HOLDINGS
USERID TICKER SHARES
Jonathan PRGS 23
Minollo PRGS 4000000
Jonathan AMZN 3000
Minollo AMZN 3000
COMPANIES
TICKER NAME ADJUSTEDCLOSE ACTUALCLOSE
AMZNAmazon.co
m, Inc. 44.69 44.69
EBAY 24-Jun-04 85.33 85.33
PRGS 24-Jun-04 18.78 18.78
YHOO 1-Jul-04 32.48 32.48
<portfolio> <userId>Jonathan</userId></portfolio>
<portfolio > <company ticker="AMZN"> <companyname>Amazon.com, Inc.</companyname> <annualrevenues>7780</annualrevenues> </company> <company ticker="EBAY"> <companyname>eBay Inc.</companyname> <annualrevenues>22600</annualrevenues> </company> <company ticker="IBM"> <companyname>Int'l Business Machines C</companyname> <annualrevenues>128200</annualrevenues> </company> <company ticker="PRGS"> <companyname>Progress Software</companyname> <annualrevenues>493.4</annualrevenues> </company></portfolio>
<portfolio> { let $user := doc("request.xml")/performance/userid for $h in collection("holdings")/holdings, $c in collection("companies")/companies where $h/userid eq $user and $c/ticker eq $h/stockticker return <company ticker="{ $c/ticker }"> { $c/companyname } { $c/annualrevenues } </company> }</portfolio>
DataDirect XQuery
DataDirect XQuery is a high-performance, scalable, embeddable XQuery implementation
that plugs easily into any Java architecture and accesses almost any data source
without being dependent on underlying servers or proprietary extensions to XQuery.
** MySQL coming soon
**
XQuery for the Java platform
• Pure Java implementation
• Any Java platform
• Any J2EE application server – or no server
• Easily embeddable – installs like JDBC driver
• XQuery API for Java (XQJ) – JDBC-like API for XQuery
Input and Output
• Relational Databases• SQL Server 2000, 2005• Oracle 9i, 10gR1, R2• DB2 W/U/L: 8.x • DB2 iSeries: v5r2, v5r3 • DB2: z/OS: 8 • Sybase: 12.5.x, 15
• XML sources• http: ftp: and file: schemes • XML in DOM trees• Drastically reduced memory
requirements for large XML documents.
• Legacy sources• Adapters for CSV, EDI, and
more
• XML Output• XML as text• XML in DOM trees • XML in SAX streams • XML in StAX streams
Stylus Studio IDE
<oXygen/> plugin for Eclipse (DataDirect Edition)
DataDirect XQuery Benefits
• Productivity• High level query language = less code to write and maintain• Supported by Stylus Studio IDE• Supported by <oXygen/> plugin for Eclipse
• Performance• Query optimization• Very selective SQL queries for relational sources• Relational joins done in the database• Document projection and streaming for XML sources• Lazy evaluation and retrieval• Generally outperforms hand-written code using JDBC and
Java XML APIs
• Flexibility• Supports almost all major relational databases• Easily embeddable in any Java application, on any platform,
with or without a J2EE application server• Extensible (external Java or SQL functions, custom URI
resolvers, …)
XQuery 2.0 Release Highlights
• Performance and Scalability Enhancements• Enhanced SQL performance, more extensive performance suite• Enhanced XML query performance• XML Document projection and streaming (improves performance,
dramatically reduces memory required for large XML input)• Additional pragmas allow user to configure performance options
• XML Deployment Adapters• Query flat-file, EDI, or many other formats as though they were XML• Files are converted on the fly
• Enhanced support for external Java functions
• Additional Database Support
• Updated XQuery Support• XQuery Candidate Recommendation (November, 2005)• Now supports XQuery modules• Tested against the W3C XQuery Test Suite
Database throughput
Queries that Build Hierarchies
XMark: Q1 Performance
XMark: Q1 Memory consumption
XML Deployment AdaptersISA+00+DATADIRECT+00+STYLUS2006+01+DATA DIRECT +01+STYLUS STUDIO +060504+1212+~+00503+200654321+0+I+:'GS+BF+DATADIRECT+STYLUS2006+20060504+121212+256+X+005030'ST+105+3389'BGN+28+1024+20060504+121212+GM'NM1+2L+4+Progress Software Corporation'N3+14 Oak Park Drive'N4+Bedford+MA+01730+US+AA'REF+1Z+PRGS'NM1+2L+4+Apple Computer, Inc.'N3+1 Infinite Loop'N4+Cupertino+CA+95014+US+AA'REF+1Z+AAPL'SE+11+3389'GE+1+256'IEA+1+200654321'
XML Deployment AdaptersISA+00+DATADIRECT+00+STYLUS2006+01+DATA DIRECT +01+STYLUS STUDIO +060504+1212+~+00503+200654321+0+I+:'GS+BF+DATADIRECT+STYLUS2006+20060504+121212+256+X+005030'ST+105+3389'BGN+28+1024+20060504+121212+GM'NM1+2L+4+Progress Software Corporation'N3+14 Oak Park Drive'N4+Bedford+MA+01730+US+AA'REF+1Z+PRGS'NM1+2L+4+Apple Computer, Inc.'N3+1 Infinite Loop'N4+Cupertino+CA+95014+US+AA'REF+1Z+AAPL'SE+11+3389'GE+1+256'IEA+1+200654321'
<company-details> { for $requestedCompany in doc("adapter://EDI?ticker-request.edi")/X12/TS_105/GROUP_2 return let $companyInfo := collection("statistical")/statistical[ticker eq $requestedCompany/REF/REF02] return <company ticker="{ $companyInfo/ticker }"> { $companyInfo/companyname } { $companyInfo/annualrevenues } <address> <street>{ $requestedCompany/N3/N301/text() }</street> <city>{ $requestedCompany/N4/N401/text() }</city> <state>{ $requestedCompany/N4/N402/text() }</state> <code>{ $requestedCompany/N4/N403/text() }</code> <country>{ $requestedCompany/N4/N404/text() }</country> </address> </company> }</company-details>
Customer Scenarios
DataDirect XQuery
DataDirect XQuery is a high-performance, scalable, embeddable XQuery implementation
that plugs easily into any Java architecture and accesses almost any data source
without being dependent on underlying servers or proprietary extensions to XQuery.
** MySQL coming soon
**
Gevity – Integrate SF.com w/Oracle
PDF w/ pricing for prospect
“The Gevity Pricing Engine (GPE) takes prospect data directly from SalesForce.com via a web service and uses XQuery to join it with data from the Oracle 9i database.”
How much will it cost to outsource our HR to Gevity?
XML back to application
Oracle 9i
Human Resource DataXML from SF.com
• Users: Gevity Business Development Managers
• Purpose: Quickly produce price quotes
• Data: Human Resource Data in Oracle 9i, customer and prospect data in SalesForce.com
• Can manage accounts from any internet connection – home, office, prospect’s office, or any Wi-Fi hot spot
• Deliver through many agents – browser, cell phone, blackberry, etc
Summary
The Challenge? • Working with XML & relational data• Increasingly difficult for developers to keep up with peculiarities in
proprietary XML tools
Why XQuery? • Based on a standard• XQuery is best for manipulating data as XML• XQuery and XQJ integrates easily into their environment• XQuery simplifies merging relational and XML
Why DataDirect XQuery? • Lives in middle tier with the application• Supports Oracle 9i with XQuery, not available from Oracle• Stable product• Follows standard closer than other implementations• Interface similar to JDBC integrates easily into their architecture• <oXygen/> XML Editor for Eclipse – wanted an IDE to help with learning
curve of new language• First class support for help with queries and tuning• DataDirect’s length of time in market and financial stability
To read more…
Check out the Gevity case study: www.datadirect.com/products/
xquery/docs/gevity_case.pdf
DB2
SQL Server
Integrating XML & Relational“We are integrating ACORD messages with the data from our customer policy and insurance databases.”
XML in ACORD format to the insurance
companies, underwriters
Need to process insurance claims and policies
Oracle9i, 10g
Customer Policy & Insurance DataResults as XML
Summary
The Challenge? • Software vendor working with XML & relational data• Data in Oracle 9i/10g, MS SQL Server, and DB2 databases• Must work with any Application Server and cannot be limited by any other
software (must be easily embeddable)
Why XQuery? • XQuery is best for working with relational and XML data, no conversions• Simplified merging relational and XML• Develop application faster• Performance is better than other technologies
Why DataDirect XQuery? • Supports multiple database versions (for example, Oracle 9i and 10g)• Provides database vendor independence• Easily embeddable; requires no other platforms or products• XQJ interface easy to use
Integrating Other Data Sources“I have test data in XML and CSV files, and my product data is relational. I need help to integrate these for reporting…”
Equipment tests produce results as XML docs
RelationalData
Product Information
Field results as CSV files
Results as XML
Reporting Application using XQuery
Summary
The Challenge? • Working with XML, relational data, and other data sources
Why XQuery? • XQuery allows you to query anything that can be represented as XML, no
need for conversions • Simplifies application development (easier, less code)
Why DataDirect XQuery? • Can query XML, relational, and other data sources
• Comma/Tab/Character Separated Values• dBase• HTML• RTF• EDI.. and a lot of them (X12, EDIFACT, IATA)• Custom URI resolvers for proprietary data sources
• Scalable and performs very well compared to other solutions. • No other software limitations and requires no other software/platform
purchases.
Querying Large XML files
XML
“We’ve got very large XML documents (3-5G), and can’t find anything to process them successfully.”
Web-based reportingapplication – traffic accidents
XML from web serviceTransient Reporting Data
Results as XML
Summary
The Challenge? • Out of memory errors with XML files (>100MB)
Why XQuery? • Transient reporting data is XML• XQuery simplifies application development
Why DataDirect XQuery? • Only product they’ve found that doesn’t get out of memory errors
processing their XML files (3-5G)• Performance compared to other XQuery products such as open source is
very good – often half the time or less.
Customer Benefits
Why do customers choose DataDirect XQuery?
• Productivity• The easiest way to develop applications/reports when dealing with various data
sources (relational, XML, and legacy data sources).• Dramatically reduced development time over alternative approaches.• Less maintenance effort (~cheaper).• Stability for developers through our standards-based XQuery and XQJ
implementations.• XML tools for query development and testing – to get developers productive quickly.
• Performance• Faster execution time with XQuery as compared to other technologies. • Special optimization, mediation = best possible XQuery performance. • XML streaming drastically reduces the amount of memory required when processing
large XML documents.
• Flexibility• Easily embeddable; does not require any other product or application server. • Freedom from database vendor and database version.
To ask a question now, type it in the Q&A box. A Q&A document will be emailed after the session.