Presentation is loading. Please wait.

Presentation is loading. Please wait.

Integrating a Heterogeneous Environment using XML Sandeepan Banerjee Director, Oracle Server Technologies.

Similar presentations


Presentation on theme: "Integrating a Heterogeneous Environment using XML Sandeepan Banerjee Director, Oracle Server Technologies."— Presentation transcript:

1 Integrating a Heterogeneous Environment using XML Sandeepan Banerjee Director, Oracle Server Technologies

2 The 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 Synthesized Information Excel Files on Disk E-Mail and Document Repositories

3 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

4 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

5 DatabaseWeb Service J2EE TM CA JDBCHTTP XQuery Engine Order Tracking Shipment Tracking XML Data Integration Example Synthesized Information EIS Parts Inventory

6 XML-based Data Integration J2EE TM Platform Technologies Involved  Why XML? – Different data formats  Why XQuery ? – Declarative way to query XML documents  Why J2EE TM ? – Standards-based infrastructure platform  Why XML Database ? – Native XML storage – XML data management – Performance optimizations XML Database XQuery Engine

7 Comparison with Existing Technologies DifferenceSimilarity 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 Cannot handle non- relational sources Query-based

8 XQuery Status XQuery is emerging as the consensus ‘ native ’ query language for XML Expected W3C Recommendation in late 2005 Oracle 10gR2 is the first mainstream commercial database release to support XQuery Plan to release under an event in 10gR2

9 XQuery Example Assume a document – emp.xml To get the names of employees with salary > 200000 for $i in document(‘emp.xml’)/empset let $j = 200000 where $i/@salary > $j return $i/@ename Result (attribute node) JONES

10 Another Example Customer/Address/Zip ShipTo/Address/Zip Supplier/Location/AddressForTaxCalculation/Zip Customer/Address/Work/City/Zip Customer/Address/Home/City/Zip Shipper/DropOffLocation/US/California/SFO/Zip + any other zip nested to any unanticipated level count ( for $i in doc("contacts.xml")/Contact where $i//zip eq 94065 return $i)

11 Example III: Auction/Bids  Say we have 3 heterogeneous data sources that yield their contents as XML – Item Description comes from a Filesystem – User Information comes from LDAP/DB – Bid Information comes from an App Server -- For all bicycles, list the item number, description, highest bid (if any), ordered by item no. for $i in doc("items.xml")//item_tuple let $b := doc("bids.xml")//bid_tuple[itemno = $i/itemno] where contains($i/description, "Bicycle") order by $i/itemno return { $i/itemno} { $i/description } { max($b/bid) }

12 XQuery and SQL  Existing relational applications will continue to use SQL, and Oracle will remain the industry’s best implementation of SQL  New applications based on XML will use XQuery, and Oracle will be the industry’s best implementation of XQuery  Oracle will support XQuery both in the database and in the mid-tier – Use the mid-tier engine when you want to query non- database sources  Intelligent ‘query pushdown’ from mid-tier to db when possible  Can mix-and-match XQuery and SQL in same query

13 XQuery is different from SQL  Navigation-oriented (using Xpath expressions)  Different type system (XMLSchema based simple types)  Identity-based (XML Node identities and document order)  Namespace aware name-resolution (functions, variables, element creation)  XML-Item based vs Row-based  Results are heterogeneous sequences  Does not have all SQL extensions (e.g. data warehousing etc..)

14 XQuery Mid-tier Architecture XQuery Java Engine XQJ API Driver DB Drivers JDBC Driver Java XMLType XQuery XQueryX XPath SQL + XQuery or XQueryX Other Data sources

15 XQuery DB Architecture Mid-Tier XQuery Engine User XQuery Aware SQL Engine SQL Compiler Optimizer, Execution Engine Normalization XQuery Type check Compiler XQuery Parser XMLQuery, XMLTable SQL XQJ API XQuery SQLX/XPath

16 D E M O N S T R A T I O N XML Query

17 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

18 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

19 Datasources  Databases – Relational+ XML Views, Object-Relational, CLOB, Compact XML (future)  Mid-tier sources – files, cache, JCA datasources  Bind (an existing DOM)  xmldatasrc – Oracle language addition  Datasource API – initialize – describe – execute – Fetch

20 iAS XDS Architecture XDS Client API’s EJB JSP Tags Web Service XML Data Synthesis Cached XML Data Source Applications using XDS e.g. Portals, Reports etc Query Builder Tool Meta-data Repository Oracle Enterprise Manager XML DB JCache File system J2EE Security Framework XDS Cache Security XDS Caching Service XML Data source adaptors CCI-XML Web Services J2CA EAI SAP Oracle Apps JMS RDBMS Files HTTP Web Cache Java Functions XQuery Subsystem XQ4J/JXQI XQuery Engine XMLDataSource modules XQuery Result In- Mem ory Stored Query

21 Example – XDS usage  User registers webservice as datasource  XDS creates an XQuery module automatically  User Query for querying webservice import module namespace wss=“datasrc/stockws”; for $i in wss:getcompanies() return wss:get_stock_price($i/name) wss – namespace prefix for the loaded module JNDI lookup to get datasource implementation XDS adapters implement datasource

22 All Your Searches!  Search with any language – SQL/XQuery/XSL  Search anywhere - mid tier or backend  Search anything -any XML/relational content  Search everything – XML visualization of all data (backend) – XML based adapters provide XML content for all data in mid- tier (XDS)  Search any form – text based/structured  Search any size - Scalable solution  Search any time - Unbreakable solution

23 More Information  XML in general – http://www.oracle.com/technology/tech/xml/index.html http://www.oracle.com/technology/tech/xml/index.html  XML Query – http://www.oracle.com/technology/tech/xml/xquery/index.html http://www.oracle.com/technology/tech/xml/xquery/index.html  XML DB – http://www.oracle.com/technology/tech/xml/xmldb/index.html http://www.oracle.com/technology/tech/xml/xmldb/index.html

24 A Q & Q U E S T I O N S A N S W E R S

25


Download ppt "Integrating a Heterogeneous Environment using XML Sandeepan Banerjee Director, Oracle Server Technologies."

Similar presentations


Ads by Google