Download - Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation
![Page 1: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/1.jpg)
![Page 2: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/2.jpg)
Julie BasuSenior Development Manager
Nirav ChanchaniSenior Product Manager
Oracle Corporation
![Page 3: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/3.jpg)
Heterogeneous XML-based Data Integration Using XQuery, J2EETM, and Database Technologies
Session id: 40258
![Page 4: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/4.jpg)
Presentation Agenda
Business Problem XML-based Data Integration Querying with XQuery Building Applications using the J2EETM Platform Leveraging the XML Database Demonstration Next Steps
![Page 5: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/5.jpg)
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
![Page 6: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/6.jpg)
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
![Page 7: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/7.jpg)
Presentation Agenda
Business Problem XML-based Data Integration Querying with XQuery Building Applications using the J2EETM Platform Leveraging the XML Database Demonstration Next Steps
![Page 8: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/8.jpg)
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
![Page 9: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/9.jpg)
Database Web Service
J2EETM CA
JDBC HTTP
XQuery Engine
Order Tracking
Shipment Tracking
XML Data Integration Example
Synthesized Information
EIS
Parts Inventory
![Page 10: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/10.jpg)
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
![Page 11: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/11.jpg)
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
![Page 12: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/12.jpg)
Presentation Agenda
Business Problem XML-based Data Integration Querying with XQuery Building Applications using the J2EETM Platform Leveraging the XML Database Demonstration Next Steps
![Page 13: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/13.jpg)
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
![Page 14: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/14.jpg)
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>
![Page 15: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/15.jpg)
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
![Page 16: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/16.jpg)
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
![Page 17: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/17.jpg)
Presentation Agenda
Business Problem XML-based Data Integration Querying with XQuery Building Applications using the J2EETM Platform Leveraging the XML Database Demonstration Next Steps
![Page 18: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/18.jpg)
Oracle Application Server 10g - The J2EETM Platform
Building applications using J2EETM services in Oracle Application Server 10g
Data Source Access Client Access Caching Security
![Page 19: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/19.jpg)
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
![Page 20: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/20.jpg)
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
![Page 21: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/21.jpg)
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
![Page 22: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/22.jpg)
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
![Page 23: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/23.jpg)
Presentation Agenda
Business Problem XML-based Data Integration Querying with XQuery Building Applications using the J2EETM platform Leveraging the XML Database Demonstration Next Steps
![Page 24: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/24.jpg)
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
![Page 25: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/25.jpg)
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
![Page 26: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/26.jpg)
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
![Page 27: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/27.jpg)
D E M O N S T R A T I O N
![Page 28: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/28.jpg)
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
![Page 29: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/29.jpg)
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]
![Page 30: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/30.jpg)
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
![Page 31: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/31.jpg)
Reminder – Please complete the OracleWorld online session survey
Thank you.
![Page 32: Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation](https://reader030.vdocument.in/reader030/viewer/2022032709/56649ebf5503460f94bca64c/html5/thumbnails/32.jpg)