Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Extensible Storage Engine wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Relational model wikipedia , lookup
Oracle Database wikipedia , lookup
Open Database Connectivity wikipedia , lookup
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.