Heterogenous XML-based Data Integration
Download
Report
Transcript Heterogenous XML-based Data Integration
Julie Basu
Senior Development Manager
Nirav Chanchani
Senior Product Manager
Oracle Corporation
Session id: 40258
Heterogeneous XML-based
Data Integration
Using XQuery, J2EETM, and Database
Technologies
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
Synthesized
Information
Multiple domain-specific
applications
– Manufacturing,
Inventory, Supply
Chain, Financial, …
Information is trapped within
these applications
CRM Application
Financial
Application
Shipping and
Distribution Application
Order Management
Application
Contract Management
Application
How does an organization get a consolidated view of its
information – in real time ?
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
XML Data Integration Example
XQuery Engine
Synthesized
Information
Order Tracking
J2EETM CA
EIS
JDBC
Parts Inventory
Database
HTTP
Shipment Tracking
Web Service
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
XQuery Engine
XML
Database
J2EETM Platform
XML-based Data Integration
Comparison with Existing
Technologies
Difference
Application
Integration
Data
Warehousing
Traditional
Report
Generation
Similarity
More about data pumping
and synchronization
among systems
Involves data
adapters, data
translation and
transformation
Explicit ETL steps
required; large data
volume; batch loading, not
real-time
Optional cache
pre-population step
similar to the
“loading” step
SQL & relation-based vs.
XQuery & XML-based
Query-based
Focus is on report
formatting and delivery
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]
QUESTIONS
ANSWERS
Reminder –
Please complete the
OracleWorld online session
survey
Thank you.