Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation.
-
Upload
trevor-shields -
Category
Documents
-
view
222 -
download
0
Transcript of Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation.
Julie BasuSenior Development Manager
Nirav ChanchaniSenior Product Manager
Oracle Corporation
Heterogeneous XML-based Data Integration Using XQuery, J2EETM, and Database Technologies
Session id: 40258
Presentation Agenda
Business Problem XML-based Data Integration Querying with XQuery Building Applications using the J2EETM Platform Leveraging the XML Database Demonstration Next Steps
Business Problem
Multiple domain-specific applications
– Manufacturing, Inventory, Supply Chain, Financial, …
Information is trapped within these applications
How does an organization get a consolidated view of its information – in real time ?
CRM Application
Financial Application
Contract Management Application
SynthesizedInformation
Order Management Application
Shipping and Distribution Application
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
Presentation Agenda
Business Problem XML-based Data Integration Querying with XQuery Building Applications using the J2EETM Platform Leveraging the XML Database Demonstration Next Steps
What is XML-based Data Integration?
XML-based Data Integration or Enterprise Information Integration (EII):
Create aggregated views using XQuery Get information from diverse sources in XML Consume synthesized information
Database Web Service
J2EETM CA
JDBC HTTP
XQuery Engine
Order Tracking
Shipment Tracking
XML Data Integration Example
Synthesized Information
EIS
Parts Inventory
XML-based Data Integration
J2EETM Platform
Technologies Involved
Why XML?– Different data formats
Why XQuery ?– Declarative way to query
XML documents
Why J2EETM ? – Standards-based
infrastructure platform
Why XML Database ?– Native XML storage– XML data management – Performance optimizations
XML Database
XQuery Engine
Comparison with Existing Technologies
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
Presentation Agenda
Business Problem XML-based Data Integration Querying with XQuery Building Applications using the J2EETM Platform Leveraging the XML Database Demonstration Next Steps
What is XQuery?
Query XML Documents FLWOR expression:
– For: similar to SQL “from” clause– Let: declaring a variable– Where: similar to SQL “where” clause– Order by: similar to SQL for sorting– Return: similar to SQL “select” clause
Operations– Filtering – Transformation – Joining
XQuery Sample Code<descriptive-catalog> { 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/suppname where $i/price < 1000 return <item> {
$p/description, $s/suppname, $i/price
} </item> }</descriptive-catalog>
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
What’s 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
Presentation Agenda
Business Problem XML-based Data Integration Querying with XQuery Building Applications using the J2EETM Platform Leveraging the XML Database Demonstration Next Steps
Oracle Application Server 10g - The J2EETM Platform
Building applications using J2EETM services in Oracle Application Server 10g
Data Source Access Client Access Caching Security
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: Oracle’s XML-SQL utility for JDBC result set, other
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, J2EETM CA, JSP tag library
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
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
Presentation Agenda
Business Problem XML-based Data Integration Querying with XQuery Building Applications using the J2EETM platform Leveraging the XML Database Demonstration Next Steps
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
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
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
D E M O N S T R A T I O N
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
Next Steps ….
See the solution in action at Oracle DEMOGrounds!
– At the Oracle Application Sever 10g booth - Simplify Information Integration
Relevant web sites– OTN: http://otn.oracle.com
Contact information– Product Manager: [email protected]
AQ&Q U E S T I O N SQ U E S T I O N S
A N S W E R SA N S W E R S
Reminder – Please complete the OracleWorld online session survey
Thank you.