320 likes | 341 Views
Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation. Session id: 40258. Heterogeneous XML-based Data Integration Using XQuery, J2EE TM , and Database Technologies. Presentation Agenda. Business Problem XML-based Data Integration
E N D
Julie Basu Senior Development Manager Nirav ChanchaniSenior Product Manager Oracle Corporation
Session id: 40258 Heterogeneous XML-based Data IntegrationUsing 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
Synthesized Information Order Management Application Financial Application CRM Application Shipping and Distribution Application Contract Management Application 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 ?
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 HTTP Parts Inventory Shipment Tracking Database Web Service
XQuery Engine 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-based Data Integration J2EETM Platform XML Database
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 • Orderby: 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/suppnamewhere $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 servicesin 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
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: Nirav.Chanchani@oracle.com
Q & Q U E S T I O N S A N S W E R S A
Reminder – Please complete the OracleWorld online session surveyThank you.