40258_Chanchani
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