40258_Chanchani

download 40258_Chanchani

of 32

Transcript of 40258_Chanchani

  • 8/8/2019 40258_Chanchani

    1/32

  • 8/8/2019 40258_Chanchani

    2/32

    Julie BasuSenior Development Manager

    Nirav ChanchaniSenior Product Manager

    Oracle Corporation

  • 8/8/2019 40258_Chanchani

    3/32

    Heterogeneous XML-based

    Data IntegrationUsing XQuery, J2EETM, and Database

    Technologies

    Session id: 40258

  • 8/8/2019 40258_Chanchani

    4/32

    Presentation Agenda

    Business Problem

    XML-based Data Integration

    Querying with XQuery

    Building Applications using the J2EETM Platform

    Leveraging the XML Database

    Demons

    tration Next Steps

  • 8/8/2019 40258_Chanchani

    5/32

    Business Problem

    Multiple domain-specific

    applications

    Manufacturing,

    Inventory, SupplyChain, Financial,

    Information is trapped within

    these applications

    How does an organization get a consolidated view of its

    information in real time ?

    CRM Application

    FinancialApplication

    Contract ManagementApplication

    Synthes

    izedInformation

    Order ManagementApplication

    Shipping andDistribution Application

  • 8/8/2019 40258_Chanchani

    6/32

    Technical Challenges

    Domain-specific information Replication does not make sense

    Independent operation of applications Access to information has to be in real-time

    Different access method for each application Each application has its own protocol and access method

    What architecture can best accommodate

    my present and future needs ? Complexity: Avoid the n by m matrix

    Flexibility: Add new sources easily

    Time to market: Within days, not months

  • 8/8/2019 40258_Chanchani

    7/32

    Presentation Agenda

    Business Problem

    XML-based Data Integration

    Querying with XQuery

    Building Applications using the J2EETM Platform

    Leveraging the XML Database

    Demonstration

    Next Steps

  • 8/8/2019 40258_Chanchani

    8/32

    What is XML-based DataIntegration?

    XML-based Data Integration or

    Enterprise Information Integration (EII):

    Create aggregated views using XQuery

    Get information from diverse sources in XML

    Consume synthesized information

  • 8/8/2019 40258_Chanchani

    9/32

    Database Web Service

    J2EETM CA

    JDBC HTTP

    XQuery Engine

    Order Tracking

    Shipment Tracking

    XML Data Integration Example

    Synthesized

    Information

    EIS

    Parts Inventory

  • 8/8/2019 40258_Chanchani

    10/32

    XML-based Data Integration

    J2EETMPlatform

    Technologies Involved

    Why XML?

    Different data formats

    Why XQuery ?

    Declarative way to queryXML documents

    Why J2EETM ?

    Standards-based

    infrastructure platform

    Why XML Database ?

    Native XML storage

    XML data management

    Performance optimizations

    XML

    DatabaseXQuery Engine

  • 8/8/2019 40258_Chanchani

    11/32

    Comparison with ExistingTechnologies

    Difference Similarity

    Application

    Integration

    More about data pumping

    and synchronization

    among systems

    Involves data

    adapters, data

    translation and

    transformation

    Data

    Warehousing

    Explicit ETL steps

    required; large data

    volume; batch loading, not

    real-time

    Optional cache

    pre-population step

    similar to the

    loading step

    Traditional

    Report

    Generation

    SQL & relation-based vs.XQuery & XML-based

    Focus is on report

    formatting and delivery

    Query-based

  • 8/8/2019 40258_Chanchani

    12/32

    Presentation Agenda

    Business Problem

    XML-based Data Integration

    Querying with XQuery

    Building Applications using the J2EETM Platform

    Leveraging the XML Database

    Demonstration

    Next Steps

  • 8/8/2019 40258_Chanchani

    13/32

    What is XQuery?

    Query XML Documents

    FLWORexpression: For: similar to SQL from clause

    Let: declaring a variable Where: similar to SQL where clause

    Order by: similar to SQL forsorting

    Return: similar to SQL select clause

    Operations Filtering

    Transformation

    Joining

  • 8/8/2019 40258_Chanchani

    14/32

    XQuery Sample Code

    {for$i in document("catalog.xml")//item,

    $p in document("parts.xml")//part[partno =$i/partno],

    $s in document("suppliers.xml")//supplier[suppno = $i/suppno]

    order by$p/description, $s/suppnamewhere $i/price < 1000return

    {

    $p/description,$s/suppname,$i/price

    }

    }

  • 8/8/2019 40258_Chanchani

    15/32

    Advantages of XQuery

    Declarative view definition

    Less programming

    Query optimization Just like SQL, XQuery engine optimizes queries

    Lower cost of code maintenance

    Less code when compared to DOM or SAX

  • 8/8/2019 40258_Chanchani

    16/32

    Whats New in XQuery?

    Different from XSLT, not re-inventing wheel

    Document ordering

    Rules matching vs. nested SQL-like queries XQuery 1.0 goals

    Read-only, no transaction semantics, no security

    Update capability not there yet

    XQuery runtime

    Could be in middle tier, database, or a hybrid

  • 8/8/2019 40258_Chanchani

    17/32

    Presentation Agenda

    Business Problem

    XML-based Data Integration

    Querying with XQuery

    Building Applications using the J2EETM Platform

    Leveraging the XML Database

    Demonstration

    Next Steps

  • 8/8/2019 40258_Chanchani

    18/32

    Oracle Application Server 10g -The J2EETM Platform

    Building applications using J2EETM services inOracle Application Server 10g

    Data Source Access

    Client Access

    Caching

    Security

  • 8/8/2019 40258_Chanchani

    19/32

    J2EETM Data Sources

    Different types of data sources with

    varying access protocols and APIs

    Data sources : Applications, RDBMS,

    Documents, Message Queues, Proprietary

    Access mechanisms: JDBC, J2EETM CA,

    Web Services, JMS, File I/O

    Translation mechanisms: Oracles XML-SQL

    utility for JDBC result set, other

  • 8/8/2019 40258_Chanchani

    20/32

    J2EETM Client Access

    Programmatic client access

    XQuery Java API is being standardized in

    Java Community Process

    JSR 225: Oracle and IBM leads

    Higher-level APIs: EJB, Web Services,

    J2EE

    TM

    CA, JSP tag library

  • 8/8/2019 40258_Chanchani

    21/32

    XML Data Caching

    Cache data from sources and results

    Choices: In memory, file, or database

    Benefits: Better Performance

    Decrease data fetching cost

    Reduce latency of unreliable or remote sources

    Eliminate re-execution of queries

    Costs: Need to keep cached data fresh Set expiration time for cached info

    Invalidate or refresh upon update, e.g., DB triggers

  • 8/8/2019 40258_Chanchani

    22/32

    Data Source & Cache Security

    Delegate security checking to sources

    For SQL / JDBC data source use JAAS

    For J2EETM CA leverage the Principal Mapping

    and Custom Login module

    Security of cached data -poses additional risk!

    Require login / authentication before cache access

    Use JAAS to enforce cache access policies

  • 8/8/2019 40258_Chanchani

    23/32

    Presentation Agenda

    Business Problem

    XML-based Data Integration

    Querying with XQuery

    Building Applications using the J2EETM platform

    Leveraging the XML Database

    Demonstration

    Next Steps

  • 8/8/2019 40258_Chanchani

    24/32

    Oracle XML Database (XML DB)

    Native XML storage

    Available since Oracle Database Release 9.2

    Inherits RDBMS features: Security, Transaction,

    XML-specific features

    XML indexing, XPath & XSLT support,

    XML schema validation, XML partial update

    Supports SQL/XML Allows blending relational and XML data operations

  • 8/8/2019 40258_Chanchani

    25/32

    Leveraging Oracle XML DB

    XML DB can be an XQuery source

    Can define XML views of relational data

    XQuery engine can rewrite query into SQL/XML

    XML DB could also be used for caching

    Efficient storage & indexing for large data sets

    Can leverage security framework of XML DB

    For both source and cache

  • 8/8/2019 40258_Chanchani

    26/32

    What about Standards?

    Most components based on existing standards:

    XML-based, J2EETM-based

    Oracle is helping to move standards forward:

    Query APIs

    XQuery Java API: JSR 225 Oracle and IBM leads

    XML Extension to JDBC: JSR 114

    XML metadata API to enhance usability

    Candidate technology: CCI in J2EETM CA

  • 8/8/2019 40258_Chanchani

    27/32

    D E M O N S T R A T I O N

  • 8/8/2019 40258_Chanchani

    28/32

    Summary

    What?

    Get information from diverse sources in XML

    Join, filter and transform data by XQuery

    Apply Caching and Security appropriately

    Consume synthesized information

    Why?

    Real-time information access and synthesis Productivity: Quick development cycle,

    low code maintenance cost

  • 8/8/2019 40258_Chanchani

    29/32

    Next Steps .

    See the solution in action at Oracle

    DEMOGrounds!

    At the Oracle Application Sever 10gbooth - Simplify

    Information Integration

    Relevant web sites

    OTN: http://otn.oracle.com

    Contact information

    Product Manager: [email protected]

  • 8/8/2019 40258_Chanchani

    30/32

    Q U E S T I O N SQ U E S T I O N SA N S W E R SA N S W E R S

  • 8/8/2019 40258_Chanchani

    31/32

    Reminder Please complete theOracleWorld online session

    survey

    Thank you.

  • 8/8/2019 40258_Chanchani

    32/32