Jonathan Robie Nancy Vodicka
Webinar Details <ul><li>To ask a question during the presentation, type it in the Q&A box.  </li></ul><ul><li>A link to th...
DataDirect XQuery 2.0
XML from Relational, XML <portfolio> <userId>Jonathan</userId> </portfolio> < portfolio  >      < company  ticker= &quot;A...
XML from Relational, XML <portfolio> <userId>Jonathan</userId> </portfolio> < portfolio  >      < company  ticker= &quot;A...
DataDirect XQuery <ul><li>DataDirect XQuery is a high-performance, scalable, embeddable XQuery implementation </li></ul><u...
XQuery for the Java platform <ul><li>Pure Java implementation </li></ul><ul><li>Any Java platform </li></ul><ul><li>Any J2...
Input and Output <ul><li>Relational Databases </li></ul><ul><ul><li>SQL Server 2000,  2005 </li></ul></ul><ul><ul><li>Orac...
Stylus Studio IDE
<oXygen/> plugin for Eclipse  (DataDirect Edition)
DataDirect XQuery Benefits <ul><li>Productivity </li></ul><ul><ul><li>High level query language =  less code to write and ...
XQuery 2.0 Release Highlights <ul><li>Performance and Scalability Enhancements </li></ul><ul><ul><li>Enhanced SQL performa...
Database throughput
Queries that Build Hierarchies
XMark: Q1 Performance
XMark: Q1 Memory consumption
XML Deployment Adapters ISA+00+DATADIRECT+00+STYLUS2006+01+DATA DIRECT  +01+STYLUS STUDIO  +060504+1212+~+00503+200654321+...
XML Deployment Adapters ISA+00+DATADIRECT+00+STYLUS2006+01+DATA DIRECT  +01+STYLUS STUDIO  +060504+1212+~+00503+200654321+...
Customer Scenarios
DataDirect XQuery <ul><li>DataDirect XQuery is a high-performance, scalable, embeddable XQuery implementation </li></ul><u...
Gevity – Integrate SF.com w/Oracle <ul><li>Users: Gevity Business Development Managers </li></ul><ul><li>Purpose: Quickly ...
Summary <ul><li>The Challenge?  </li></ul><ul><ul><li>Working with XML & relational data </li></ul></ul><ul><ul><li>Increa...
To read more…  <ul><li>Check out the Gevity case study:  </li></ul><ul><li>www.datadirect.com/products/xquery/docs/gevity_...
Integrating XML & Relational “ We are integrating ACORD messages with the data from our customer policy and insurance data...
Summary <ul><li>The Challenge?  </li></ul><ul><ul><li>Software vendor working with XML & relational data </li></ul></ul><u...
Integrating Other Data Sources Reporting Application using XQuery “ I have test data in XML and CSV files,  and my product...
Summary <ul><li>The Challenge?  </li></ul><ul><ul><li>Working with XML, relational data, and other data sources </li></ul>...
Querying Large XML files XML from web service Transient Reporting Data XML “ We’ve got very large XML documents (3-5G), an...
Summary <ul><li>The Challenge?  </li></ul><ul><ul><li>Out of memory errors with XML files (>100MB) </li></ul></ul><ul><li>...
Customer Benefits <ul><li>Why do customers choose DataDirect XQuery?  </li></ul><ul><li>Productivity </li></ul><ul><ul><li...
To ask a question now, type it in the Q&A box.  A Q&A document will be emailed after the session.
Upcoming SlideShare
Loading in …5
×

Jonathan Robie Nancy Vodicka Webinar Details

485 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
485
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Here’s the basic problem you are trying to solve: You have data in a relational database or in XML You need to create some kind of “report”, “web message”, or data for a web page Note that this is a lot like relational report writing – but it is XML now, much more richly structured. Could use Java APIs for this, but you write lots of code, very tedious - XQuery solves easily
  • Here’s the basic problem you are trying to solve: You have data in a relational database or in XML You need to create some kind of “report”, “web message”, or data for a web page Note that this is a lot like relational report writing – but it is XML now, much more richly structured. Could use Java APIs for this, but you write lots of code, very tedious - XQuery solves easily
  • Jonathan Robie Nancy Vodicka Webinar Details

    1. 1. Jonathan Robie Nancy Vodicka
    2. 2. Webinar Details <ul><li>To ask a question during the presentation, type it in the Q&A box. </li></ul><ul><li>A link to the recorded presentation and slides will be emailed after the event. </li></ul><ul><li>Teleconference details are: </li></ul>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 Teleconference:
    3. 3. DataDirect XQuery 2.0
    4. 4. XML from Relational, XML <portfolio> <userId>Jonathan</userId> </portfolio> < portfolio >      < company ticker= &quot;AMZN&quot; >          < companyname > Amazon.com, Inc. < /companyname >          < annualrevenues > 7780 < /annualrevenues >      < /company >      < company ticker= &quot;EBAY&quot; >          < companyname > eBay Inc. < /companyname >          < annualrevenues > 22600 < /annualrevenues >      < /company >      < company ticker= &quot;IBM&quot; >          < companyname > Int'l Business Machines C < /companyname >          < annualrevenues > 128200 < /annualrevenues >      < /company >      < company ticker= &quot;PRGS&quot; >          < companyname > Progress Software < /companyname >          < annualrevenues > 493.4 < /annualrevenues >      < /company > < /portfolio > 3000 AMZN Minollo 3000 AMZN Jonathan 4000000 PRGS Minollo 23 PRGS Jonathan SHARES TICKER USERID   HOLDINGS 10700 Yahoo! Inc. YHOO 493.4 Progress Software PRGS 22600 eBay Inc. EBAY 7780 Amazon.com, Inc. AMZN ANNUALREVENUES NAME TICKER COMPANIES
    5. 5. XML from Relational, XML <portfolio> <userId>Jonathan</userId> </portfolio> < portfolio >      < company ticker= &quot;AMZN&quot; >          < companyname > Amazon.com, Inc. < /companyname >          < annualrevenues > 7780 < /annualrevenues >      < /company >      < company ticker= &quot;EBAY&quot; >          < companyname > eBay Inc. < /companyname >          < annualrevenues > 22600 < /annualrevenues >      < /company >      < company ticker= &quot;IBM&quot; >          < companyname > Int'l Business Machines C < /companyname >          < annualrevenues > 128200 < /annualrevenues >      < /company >      < company ticker= &quot;PRGS&quot; >          < companyname > Progress Software < /companyname >          < annualrevenues > 493.4 < /annualrevenues >      < /company > < /portfolio > < portfolio >   {      let $user := doc( &quot;request.xml&quot; )/performance/userid      for $h in collection( &quot;holdings&quot; )/holdings,          $c in collection( &quot;companies&quot; )/companies      where $h/userid eq $user and $c/ticker eq $h/stockticker      return       < company ticker= &quot; { $c/ticker } &quot; >         { $c/companyname }         { $c/annualrevenues }       </ company >   } </ portfolio > 3000 AMZN Minollo 3000 AMZN Jonathan 4000000 PRGS Minollo 23 PRGS Jonathan SHARES TICKER USERID   HOLDINGS 32.48 32.48 1-Jul-04 YHOO 18.78 18.78 24-Jun-04 PRGS 85.33 85.33 24-Jun-04 EBAY 44.69 44.69 Amazon.com, Inc. AMZN ACTUALCLOSE ADJUSTEDCLOSE NAME TICKER     COMPANIES
    6. 6. DataDirect XQuery <ul><li>DataDirect XQuery is a high-performance, scalable, embeddable XQuery implementation </li></ul><ul><li>that plugs easily into any Java architecture and accesses almost any data source </li></ul><ul><li>without being dependent on underlying servers or proprietary extensions to XQuery. </li></ul>** MySQL coming soon **
    7. 7. XQuery for the Java platform <ul><li>Pure Java implementation </li></ul><ul><li>Any Java platform </li></ul><ul><li>Any J2EE application server – or no server </li></ul><ul><li>Easily embeddable – installs like JDBC driver </li></ul><ul><li>XQuery API for Java (XQJ) – JDBC-like API for XQuery </li></ul>
    8. 8. Input and Output <ul><li>Relational Databases </li></ul><ul><ul><li>SQL Server 2000, 2005 </li></ul></ul><ul><ul><li>Oracle 9i, 10gR1, R2 </li></ul></ul><ul><ul><li>DB2 W/U/L:  8.x </li></ul></ul><ul><ul><li>DB2 iSeries:  v5r2, v5r3 </li></ul></ul><ul><ul><li>DB2: z/OS:  8 </li></ul></ul><ul><ul><li>Sybase:  12.5.x, 15 </li></ul></ul><ul><li>XML sources </li></ul><ul><ul><li>http: ftp: and file: schemes </li></ul></ul><ul><ul><li>XML in DOM trees </li></ul></ul><ul><ul><li>Drastically reduced memory requirements for large XML documents. </li></ul></ul><ul><li>Legacy sources </li></ul><ul><ul><li>Adapters for CSV, EDI, and more </li></ul></ul><ul><li>XML Output </li></ul><ul><ul><li>XML as text </li></ul></ul><ul><ul><li>XML in DOM trees </li></ul></ul><ul><ul><li>XML in SAX streams </li></ul></ul><ul><ul><li>XML in StAX streams </li></ul></ul>
    9. 9. Stylus Studio IDE
    10. 10. <oXygen/> plugin for Eclipse (DataDirect Edition)
    11. 11. DataDirect XQuery Benefits <ul><li>Productivity </li></ul><ul><ul><li>High level query language = less code to write and maintain </li></ul></ul><ul><ul><li>Supported by Stylus Studio IDE </li></ul></ul><ul><ul><li>Supported by <oXygen/> plugin for Eclipse </li></ul></ul><ul><li>Performance </li></ul><ul><ul><li>Query optimization </li></ul></ul><ul><ul><li>Very selective SQL queries for relational sources </li></ul></ul><ul><ul><li>Relational joins done in the database </li></ul></ul><ul><ul><li>Document projection and streaming for XML sources </li></ul></ul><ul><ul><li>Lazy evaluation and retrieval </li></ul></ul><ul><ul><li>Generally outperforms hand-written code using JDBC and Java XML APIs </li></ul></ul><ul><li>Flexibility </li></ul><ul><ul><li>Supports almost all major relational databases </li></ul></ul><ul><ul><li>Easily embeddable in any Java application, on any platform, with or without a J2EE application server </li></ul></ul><ul><ul><li>Extensible (external Java or SQL functions, custom URI resolvers, …) </li></ul></ul>
    12. 12. XQuery 2.0 Release Highlights <ul><li>Performance and Scalability Enhancements </li></ul><ul><ul><li>Enhanced SQL performance, more extensive performance suite </li></ul></ul><ul><ul><li>Enhanced XML query performance </li></ul></ul><ul><ul><li>XML Document projection and streaming (improves performance, dramatically reduces memory required for large XML input) </li></ul></ul><ul><ul><li>Additional pragmas allow user to configure performance options </li></ul></ul><ul><li>XML Deployment Adapters </li></ul><ul><ul><li>Query flat-file, EDI, or many other formats as though they were XML </li></ul></ul><ul><ul><li>Files are converted on the fly </li></ul></ul><ul><li>Enhanced support for external Java functions </li></ul><ul><li>Additional Database Support </li></ul><ul><li>Updated XQuery Support </li></ul><ul><ul><li>XQuery Candidate Recommendation (November, 2005) </li></ul></ul><ul><ul><li>Now supports XQuery modules </li></ul></ul><ul><ul><li>Tested against the W3C XQuery Test Suite </li></ul></ul>
    13. 13. Database throughput
    14. 14. Queries that Build Hierarchies
    15. 15. XMark: Q1 Performance
    16. 16. XMark: Q1 Memory consumption
    17. 17. XML Deployment Adapters ISA+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'
    18. 18. XML Deployment Adapters ISA+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( &quot;adapter://EDI?ticker-request.edi&quot; )/X12/TS_105/GROUP_2      return        let $companyInfo := collection( &quot;statistical&quot; )/statistical[ticker eq $requestedCompany/REF/REF02]        return         < company ticker= &quot; { $companyInfo/ticker } &quot; >           { $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 >
    19. 19. Customer Scenarios
    20. 20. DataDirect XQuery <ul><li>DataDirect XQuery is a high-performance, scalable, embeddable XQuery implementation </li></ul><ul><li>that plugs easily into any Java architecture and accesses almost any data source </li></ul><ul><li>without being dependent on underlying servers or proprietary extensions to XQuery. </li></ul>** MySQL coming soon **
    21. 21. Gevity – Integrate SF.com w/Oracle <ul><li>Users: Gevity Business Development Managers </li></ul><ul><li>Purpose: Quickly produce price quotes </li></ul><ul><li>Data: Human Resource Data in Oracle 9i, customer and prospect data in SalesForce.com </li></ul><ul><li>Can manage accounts from any internet connection – home, office, prospect’s office, or any Wi-Fi hot spot </li></ul><ul><li>Deliver through many agents – browser, cell phone, blackberry, etc </li></ul>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 Data XML from SF.com
    22. 22. Summary <ul><li>The Challenge? </li></ul><ul><ul><li>Working with XML & relational data </li></ul></ul><ul><ul><li>Increasingly difficult for developers to keep up with peculiarities in proprietary XML tools </li></ul></ul><ul><li>Why XQuery? </li></ul><ul><ul><li>Based on a standard </li></ul></ul><ul><ul><li>XQuery is best for manipulating data as XML </li></ul></ul><ul><ul><li>XQuery and XQJ integrates easily into their environment </li></ul></ul><ul><ul><li>XQuery simplifies merging relational and XML </li></ul></ul><ul><li>Why DataDirect XQuery? </li></ul><ul><ul><li>Lives in middle tier with the application </li></ul></ul><ul><ul><li>Supports Oracle 9i with XQuery, not available from Oracle </li></ul></ul><ul><ul><li>Stable product </li></ul></ul><ul><ul><li>Follows standard closer than other implementations </li></ul></ul><ul><ul><li>Interface similar to JDBC integrates easily into their architecture </li></ul></ul><ul><ul><li><oXygen/> XML Editor for Eclipse – wanted an IDE to help with learning curve of new language </li></ul></ul><ul><ul><li>First class support for help with queries and tuning </li></ul></ul><ul><ul><li>DataDirect’s length of time in market and financial stability </li></ul></ul>
    23. 23. To read more… <ul><li>Check out the Gevity case study: </li></ul><ul><li>www.datadirect.com/products/xquery/docs/gevity_case.pdf </li></ul>
    24. 24. Integrating XML & Relational “ We are integrating ACORD messages with the data from our customer policy and insurance databases.” Need to process insurance claims and policies Oracle 9i, 10g Customer Policy & Insurance Data DB2 SQL Server XML in ACORD format to the insurance companies, underwriters Results as XML
    25. 25. Summary <ul><li>The Challenge? </li></ul><ul><ul><li>Software vendor working with XML & relational data </li></ul></ul><ul><ul><li>Data in Oracle 9i/10g, MS SQL Server, and DB2 databases </li></ul></ul><ul><ul><li>Must work with any Application Server and cannot be limited by any other software (must be easily embeddable) </li></ul></ul><ul><li>Why XQuery? </li></ul><ul><ul><li>XQuery is best for working with relational and XML data, no conversions </li></ul></ul><ul><ul><li>Simplified merging relational and XML </li></ul></ul><ul><ul><li>Develop application faster </li></ul></ul><ul><ul><li>Performance is better than other technologies </li></ul></ul><ul><li>Why DataDirect XQuery? </li></ul><ul><ul><li>Supports multiple database versions (for example, Oracle 9i and 10g) </li></ul></ul><ul><ul><li>Provides database vendor independence </li></ul></ul><ul><ul><li>Easily embeddable; requires no other platforms or products </li></ul></ul><ul><ul><li>XQJ interface easy to use </li></ul></ul>
    26. 26. Integrating Other Data Sources Reporting Application using XQuery “ 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 Relational Data Product Information Field results as CSV files Results as XML
    27. 27. Summary <ul><li>The Challenge? </li></ul><ul><ul><li>Working with XML, relational data, and other data sources </li></ul></ul><ul><li>Why XQuery? </li></ul><ul><ul><li>XQuery allows you to query anything that can be represented as XML, no need for conversions </li></ul></ul><ul><ul><li>Simplifies application development (easier, less code) </li></ul></ul><ul><li>Why DataDirect XQuery? </li></ul><ul><ul><li>Can query XML, relational, and other data sources </li></ul></ul><ul><ul><ul><li>Comma/Tab/Character Separated Values </li></ul></ul></ul><ul><ul><ul><li>dBase </li></ul></ul></ul><ul><ul><ul><li>HTML </li></ul></ul></ul><ul><ul><ul><li>RTF </li></ul></ul></ul><ul><ul><ul><li>EDI.. and a lot of them (X12, EDIFACT, IATA) </li></ul></ul></ul><ul><ul><ul><li>Custom URI resolvers for proprietary data sources </li></ul></ul></ul><ul><ul><li>Scalable and performs very well compared to other solutions. </li></ul></ul><ul><ul><li>No other software limitations and requires no other software/platform purchases. </li></ul></ul>
    28. 28. Querying Large XML files XML from web service Transient Reporting Data XML “ We’ve got very large XML documents (3-5G), and can’t find anything to process them successfully.” Web-based reporting application – traffic accidents Results as XML
    29. 29. Summary <ul><li>The Challenge? </li></ul><ul><ul><li>Out of memory errors with XML files (>100MB) </li></ul></ul><ul><li>Why XQuery? </li></ul><ul><ul><li>Transient reporting data is XML </li></ul></ul><ul><ul><li>XQuery simplifies application development </li></ul></ul><ul><li>Why DataDirect XQuery? </li></ul><ul><ul><li>Only product they’ve found that doesn’t get out of memory errors processing their XML files (3-5G) </li></ul></ul><ul><ul><li>Performance compared to other XQuery products such as open source is very good – often half the time or less. </li></ul></ul>
    30. 30. Customer Benefits <ul><li>Why do customers choose DataDirect XQuery? </li></ul><ul><li>Productivity </li></ul><ul><ul><li>The easiest way to develop applications/reports when dealing with various data sources (relational, XML, and legacy data sources). </li></ul></ul><ul><ul><li>Dramatically reduced development time over alternative approaches. </li></ul></ul><ul><ul><li>Less maintenance effort (~cheaper). </li></ul></ul><ul><ul><li>Stability for developers through our standards-based XQuery and XQJ implementations. </li></ul></ul><ul><ul><li>XML tools for query development and testing – to get developers productive quickly. </li></ul></ul><ul><li>Performance </li></ul><ul><ul><li>Faster execution time with XQuery as compared to other technologies. </li></ul></ul><ul><ul><li>Special optimization, mediation = best possible XQuery performance. </li></ul></ul><ul><ul><li>XML streaming drastically reduces the amount of memory required when processing large XML documents. </li></ul></ul><ul><li>Flexibility </li></ul><ul><ul><li>Easily embeddable; does not require any other product or application server. </li></ul></ul><ul><ul><li>Freedom from database vendor and database version. </li></ul></ul>
    31. 31. To ask a question now, type it in the Q&A box. A Q&A document will be emailed after the session.

    ×