Leveraging the combined capabilities of Java, XML, and SQL with JDeveloper 9 i Olivier Le Diouris Principal Product Manager Oracle Corporation.

Slides:



Advertisements
Similar presentations
Inside an XSLT Processor Michael Kay, ICL 19 May 2000.
Advertisements

A Prototype Implementation of a Framework for Organising Virtual Exhibitions over the Web Ali Elbekai, Nick Rossiter School of Computing, Engineering and.
Chapters 14 & 15 Internet Databases. E-Commerce  Bringing new products, services, or ideas to market, supporting and enhancing business operations 
Geoff Lee Senior Product Manager Oracle Corporation.
Albert Godfrind GeoSpatial and Multimedia Technologies Oracle Corporation Sophia Antipolis, France Oracle9 i XML Database.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of The Eclipse Web Tools Platform.
B.Sc. Multimedia ComputingMedia Technologies Database Technologies.
Building Enterprise Information Portal using Oracle Portal 3
Chapter 14 Database Connectivity and Web Technologies
XML and Oracle: An Overview Roger Schrag Database Specialists, Inc.
XML with RDBMS coping with the paradigm issue. XML Storage options Incoming XML can be treated in different ways, depending on what your application needs:
Building High-Performance Enterprise XML Applications with Oracle Database 10g Mark Scardina Group Product Manager & XML Evangelist Oracle Corporation.
DHTML. What is DHTML?  DHTML is the combination of several built-in browser features in fourth generation browsers that enable a web page to be more.
XML Anisha K J Jerrin Thomas. Outline  Introduction  Structure of an XML Page  Well-formed & Valid XML Documents  DTD – Elements, Attributes, Entities.
OFC304 Excel 2003 Overview: XML Support Joseph Chirilov Program Manager.
1 XML at a neighborhood university near you Innovation 2005 September 16, 2005 Kwok-Bun Yue University of Houston-Clear Lake.
1 Document Object Model (DOM) MV4920 – XML 24 September 2001 Simon R. Goerger MAJ, US Army
WORKING WITH XSLT AND XPATH
Another PillowTalk Presentation  2004 Dynamic Systems, Inc. Introduction to XML for SOA Lee H. Burstein,
1 Copyright © 2004, Oracle. All rights reserved. Introduction to Oracle Forms Developer and Oracle Forms Services.
SDPL 2001Notes 7: XML Web Sites1 7 XML Web-Site Architectures n How (and why) to apply XML techniques in the implementation of Web sites? 7.1 XML, Databases,
© 2002 by Prentice Hall 1 David M. Kroenke Database Processing Eighth Edition Chapter 14 Networks, Multi-Tier Architectures, and XML.
XML과 Database 홍기형 성신여자대학교 성신여자대학교 홍기형.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
Intro. to XML & XML DB Bun Yue Professor, CS/CIS UHCL.
Julie Basu Senior Development Manager Nirav Chanchani Senior Product Manager Oracle Corporation.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
Using XML for Business and Life May 2006 David RR Webber Technology and Standards in Higher Education.
3 Copyright © 2009, Oracle. All rights reserved. Accessing Non-Oracle Sources.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
SupervisorStudent Prof. Atilla ElciHussam Hussein ABUAZAB June 2007 Using ORACLE XML Parser to Access Ontology CMPE 588 Engineering Semantic for.
XML and Its Applications Ben Y. Zhao, CS294-7 Spring 1999.
AxKit A member of the Apache XML project Ryan Maslyn Kyle Bechtel.
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 4 1COMP9321, 15s2, Week.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
Martin Kruliš by Martin Kruliš (v1.1)1.
XML Tools (Chapter 4 of XML Book). What tools are needed for a complete XML application? n Fundamental components n Web infrasructure n XML development.
10 Copyright © 2004, Oracle. All rights reserved. Building ADF View Components.
C Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Introduction to XML Standards.
 XML derives its strength from a variety of supporting technologies.  Structure and data types: When using XML to exchange data among clients, partners,
D Copyright © 2004, Oracle. All rights reserved. Using Oracle XML Developer’s Kit.
1 LM 6 Database Applications Dr. Lei Li. Learning Objectives Explain three components of a client-server system Describe differences between a 2-tiered.
Building J2EE Applications Based on Design Patterns with Business Components for Java Olivier LE DIOURIS Principal Product Manager Oracle Corporation.
11 Copyright © 2004, Oracle. All rights reserved. Managing XML Data in an Oracle 10g Database.
Apache Cocoon – XML Publishing Framework 데이터베이스 연구실 박사 1 학기 이 세영.
Preface IIntroduction Course Objectives I-2 Course Content I-3 1Introduction to Oracle Reports Developer Objectives 1-2 Business Intelligence 1-3 Enterprise.
XML and Distributed Applications By Quddus Chong Presentation for CS551 – Fall 2001.
I Copyright © 2004, Oracle. All rights reserved. Introduction.
2 DOAG November 2001 Modeling J2EE Applications using Oracle9i Designer and Oracle9i JDeveloper Simon W Day
Speaker Name Speaker Title Speaker Title Oracle Corporation Olivier Le Diouris Principal Product Manager Oracle Corporation Building Servlet and JSP Applications.
The Holmes Platform and Applications
Introduction to Oracle Forms Developer and Oracle Forms Services
DHTML.
Network Infrastructure Services Supporting WAP Clients
z/Ware 2.0 Technical Overview
Introduction to Oracle Forms Developer and Oracle Forms Services
Introduction to Oracle Forms Developer and Oracle Forms Services
XML in Web Technologies
Database Processing with XML
XML and Oracle: An Overview
Oracle 9i Lite Storing the data on the device one of task of middleware component. For this we going for database component like oracle 9i lite and.
Using JDeveloper.
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Oracle and XML Mingzhu Wei /7/2019.
Unit 6 - XML Transformations
Presentation transcript:

Leveraging the combined capabilities of Java, XML, and SQL with JDeveloper 9 i Olivier Le Diouris Principal Product Manager Oracle Corporation

Agenda  Oracle and XML  Oracle9i Practices – Core Technology – Storage – Solutions  Wrap Up

What This Talk *is* and *is not* About  Best practices resulting from Oracle9i – New API support to consider – New techniques for XML storage to consider – New development solutions for XML to consider  Not Best Practices for XML Standards – Not how-to “ do ” XML Schema – Not how-to “ do ” XML DTD – Not how-to “ do ” XSL

Oracle and XML  40+ XML-enabled products across the Oracle9 i platform  Oracle9 i : Industry ’ s only complete XML database  Oracle9 i AS: Fastest XML enabled middle tier on the market  Oracle Internet Developer Suite: Industry ’ s first Java/XML IDE

Oracle and XML Standards W3C OMG Java/J2EE RosettaNet OASIS/XML.org ebXML WG Web Services WG (SOAP,WSDL,UDDI)Web Services WG (SOAP,WSDL,UDDI) XMLP WGXMLP WG XML Schema WGXML Schema WG XML Query WGXML Query WG XMI Metadata WGXMI Metadata WG Component Model WGComponent Model WG J2EE Web Services JSRJ2EE Web Services JSR JAXM JSRJAXM JSR JAXM MessagingJAXM Messaging Protocol/JAXPProtocol/JAXP Repository/JAXRRepository/JAXR Messaging/JAXMMessaging/JAXM TPAMLTPAML BOPC WGBOPC WG RNIF WGRNIF WG ®

Best Practices Core

Oracle XML Developer ’ s Kit Core Standards Support  XML Parser  XSLT Processor  XML Schema Processor Developer Productivity  XML Class Generator  XML TransviewerBeans Database Integration  XML SQL Utility Internet Applications  XSQL Servlet/Page Processor March 2001

Parsing By DOM Buy Ticker Rating 100 ORCL ***** Rating BuyTicker***** 100ORCL

DOM Versus DOM  DOM October 1, 1998 – “ … a platform- and language-neutral interface that allows programs and scripts to dynamically access and update the content, structure and style of [XML] documents …”  DOM November 13, 2000 – “… with support for XML 1.0 with namespaces and adds supports for Cascading Style Sheets, events (user interface events and tree manipulation events), and enhances tree manipulations …”  DOM 3.0 – Under development … – “… add abstract schemas support (for DTDs, XML Schema,...), the ability to load and save a document or an abstract schema …” New in 9i

Parsing by SAX start document start element: table start element: tbody start element: tr start element :td characters: Buy end element: td end element: tr start element: td characters: Ticker end element: td start element: td characters: Rating end element: td end element: tr start element: tr start element :td characters: 100 end element: td end element: tr start element: td characters: ORCL end element: td start element: td characters: ***** Buy Ticker Rating 100 ORCL *****

SAX versus SAX  SAX 1.0 – May 1998 – “… SAX is a standard interface for event-based XML parsing, developed collaboratively by the members of the XML-DEV mailing list ”  SAX 2.0 – May 2000 – “… SAX2 is a new version of the popular Simple API for XML, incorporating support for Namespaces, for filter chains, and for querying and setting features and properties in the parser …” New in 9i

What about JAXP?  XDK 9i, Release supports JAXP 1.1 for DOM, SAX and XSLT. SAX Parser JAXP Plugability Layer JAXP Interfaces DOM Parser XSL Processor New in 9i

Document Type Definitions Buy Ticker Rating 100 ORCL ***** Most common XML Constraint Language

XML Schema Buy Ticker Rating 100 ORCL ***** W3C Recommendation on March 30, 2001 New in 9i

XML Schema Versus DTD ’ s  Oracle XDK 9i supports the XML Schema Recommendation – Available in Java, C and C++ – Support for.XSD files – Support for data types and structures  XML Schema becoming dominant – Most new work around XML Schema – XML Schema is significantly richer than DTD – Schema flexibility preferable in new XML applications

D E M O N S T R A T I O N XML Basics using the Oracle XML Parser for Java

XML and SQL Practices: XML and Oracle9i

select * from trans Oracle XML SQL Utility Java,PLSQL, XSQL & Command Buy 100 ORCL Sell 100 IBM Oracle XML SQL Utility in Action

Oracle XML SQL Utility: XML Generation  Take select statements, execute them and wrap the results in SQL  Available in: – Java- PLSQL – Command line- XSQL Servlet  Results available as: – DOM- String – CLOB- SAX – Schema/DTD New in 9i

D E M O N S T R A T I O N XML and SQL Oracle9i

Oracle XSQL Servlet: Dynamic XML Applications XSQL Servlet Business Logic (BC4J, JMS, JDBC,SOAP) XML Datagram a 1 XML Template a <xsql:action 1 <xsql:action XSL XSLT Processor HTTP XML WML HTML HDML PDF.

D E M O N S T R A T I O N An XML Multi- Client Application …

I do PLSQL: What About Me?  XDK 8i – DOM 1.0 parsing - XSLT 1.0 processing  XDK 9i – DOM 2.0 parsing- XSLT 1.0 processing  Oracle9i – Built-in XML generation functions – Built-in XMLType with member functions – Soon … C-based PLSQL parser and XSLT

Java Versus PLSQL  Java – SAX, DOM, JAXP, XSLT available – Typically parsing outside the database – Java in the database only for stored procedures  PLSQL – DOM, XSLT available – Parsing inside the database – Robust database functions (XMLType, DBURI type, SYS_XMLGEN, DB_XMLGEN … ) Trade Off: Location, Knowledge, API and Performance

D E M O N S T R A T I O N XML Generation: PLSQL in Oracle9i

Oracle9i XML Generation  DB_XMLGEN in PLSQL for getting XML from SQL queries – Written in C and linked to the server for better performance  SQL functions for getting XML from SQL queries – SYS_XMLGEN operates on rows generating XML documents – SYS_XMLAGG operates on groups of rows aggregating several XML documents into one

SYS_XMLGEN select sys_xmlgen(employee_id) from employees where last_name like “Scott%”;  Highly robust PLSQL XML generation 60

SYS_XMLAGG SELECT SYS_XMLAGG(SYS_XMLGEN(last_name), SYS.XMLGENFORMATTYPE.createFormat('EmployeeGroup')). getClobVal() FROM employees GROUP BY department_id;  Highly scalable PLSQL XML *aggregration* Scott Mary Jack John>/last_name>

XSU Versus XMLGEN and XMLAGG  XML SQL Utility – Typically runs outside the database (though can run as stored procedure) – Provides SAX and DOM results – Can run against non-Oracle databases with appropriate JDBC driver  DB_XMLGEN, SYS_XMLGEN, SYS_XMLAGG – Highly scalable XML generation inside the database – Primarily a CLOB and string API – Automated XML aggregation functionality

Database XML Navigation: Blurring between SQL and XML  Use XPath for database XML navigation  DBURIType: Access to local data in a database – /scott/emp/row/address/state= ‘ CA ’  HTTPURIType: Access to remote data via HTTP – w/address/state= ‘ CA ’  URIType: DBURIType or HTTPURIType

DBURIType: The Database as XML 205 Higgins …

Database XML Navigation Create table tax_deductible_po_tab (po_uri UriType, max_deduction number(7,2), po_name varchar2); Insert into tax_deductible_po_tab values ( UriFactory.getURL ( ‘ /scott/po_tab/row[pono=10] ’ ), , ‘ Scott DB PO ’ );  Use the UriFactory package to generate URI without handcoding

Best Practices Storage

XML Storage: Relational and Object Relational  Use CLOB, Varchar2, LOB, BLOB – Full relational capabilities kept  Leverage object relational – Maps naturally to XML hierarchies  Issues regardless of choice – Lose XML context  Ordering  Original document can be difficult to re-create – Documents often ‘ locked ’ in CLOBs or BLOBs

Goals of Oracle9i and XML Storage  Make XML a first-class datatype in the database  Enable SQL operations on XML  Enable XML operations on SQL  Provide the basis of a rich content management infrastructure – Storage, Indexing, Searching, Management, Integrity

XMLType create table PURCHASEORDER ( PO_ID NUMBER(3), PODOCUMENT sys.xmltype); INSERT INTO PURCHASEORDER values (5, sys.xmltype.createxml(‘ San Francisco Oracle Building XML Applications ’));

Think: XML  SQL  XMLType FunctionDescription XMLType FunctionDescription getClobValReturn the contents as a CLOB isFragmentGet the String value from the XML node getStringVal Get the string value from the XML node getNumVal Get the numeric value from the XML node extract Extract document portion using XPath existNodeCheck if nodes returned from XPath query yourFunctionFully extensible methods XMLType FunctionDescription XMLType FunctionDescription getClobValReturn the contents as a CLOB isFragmentGet the String value from the XML node getStringVal Get the string value from the XML node getNumVal Get the numeric value from the XML node extract Extract document portion using XPath existNodeCheck if nodes returned from XPath query yourFunctionFully extensible methods

What About XML Consistency? create or replace trigger PURCHASEORDERVALIDATION before insert on PURCHASEORDER if (:new.PODOCUMENT.existsnode('//LineItem') > 0) THEN raise MISSING_PARTNUMBER; end if;...  Use triggers for full or partial consistency checks  Build validation against Schema or DTD

What About Indexing and Searching?  XML developers want XPath queries – Indexes must optimize XPath expressions  Functional indexes enable indexing of XMLType  Oracle Text provides arbitrary XML indexing – Varchar2, CLOB, BLOB, XMLType Which way is the best way?

Single Document Arbitrary XPath Searching //PurchaseOrder//billto[contains(.’Oracle’)] and //PurchaseOrder//LineItem//book//author [contains(.,’Muench’)] Oracle Building Oracle XML Apps Muench 35.99

Oracle8i Text Provided SQL- based Arbitrary XML Searching Multiple Document XML Searches with SQL SELECT * FROM PURCHASEORDER po WHERE CONTAINS(po.doc,‘Oracle WITHIN BillTo') > 0 AND CONTAINS(po.doc,‘Muench WITHIN author') > 0 AND... /* Other where Clauses */ Oracle Building Oracle XML Apps Muench 35.99

Oracle9i Text Provides XPath- based Arbitrary XML Searching Multiple Document XML Searches with XPath SELECT * FROM PurchaseOrder po WHERE Contains(po.doc,’Oracle INPATH (PurchaseOrder/BillTo)’) > 0 AND CONTAINS(po.doc,’Muench INPATH (PurchaseOrder/LineItem/book/author)’) > 0 AND... Oracle Building Oracle XML Apps Muench 35.99

Oracle9i XMLType: Functional Indexes  Build functional indexes on XMLType using XMLType functions create unique index IPURCHASEORDERREFERENCE on PURCHASEORDER PO (substr(sys.xmlType.getStringVal(sys.xmlType.extract(PO. PODOCUMENT,'/PurchaseOrder/BillTo/text()')),1,40)); Select PO.DOC from PURCHASEORDER PO where sys.xmlType.getStringVal(sys.xmlType.extract(PO.DOC,’Pur chaseOrder/BillTo/text()’),40)) = ‘Oracle’

Indexing Comparison: Complementary Approaches  Oracle Text – Arbitrary XML searches – Rich XPath implementation – Brings linguistic heritage  Functional Indexes – Specific XML searches – Utilize built-in XMLType or custom functions – Not as rich an XPath implementation

D E M O N S T R A T I O N Searching XML documents in Oracle 9i

D E M O N S T R A T I O N XML in Oracle9i

Best Practices Development Solutions

Oracle 9i Application Server Collaborate with your Stakeholders Extract Business Intelligence Accelerate Web Site Performance withCaching WirelessEnablePortals CreatePersonalizedPortals Build and Deploy Dynamic Web Sites and Internet Applications IntegrateYourBusiness J2EE and XML Core

Oracle9 i AS Integration Services and XML App2 App1 Adapter Adapter Metadata XML Oracle8 i XML Workflow Business Event Advanced Queuing Oracle 9iAS AQ Hub An integration framework built for B2B and A2A integration Shipping adapters to ERP and CRM vendors

Oracle9i AS Wireless Edition and XML Any Markup  HTML  XML  HDML  WML  TinyHTML  TTML  CHTML  STKML  VoXML  VoiceXML  …. Oracle9i AS WirelessEdition Any Device  Nokia  Motorola  Ericsson  Palm  RIM Pagers  Blackberry  Any Network  ….. Any Browser Any Gateway  Nokia  Motorola  Ericsson  Phone.com  CMG  Tantau  Infinity ... Personalized  By User  By Group  By Device  By Location  By Language ... Any Content  Any Web Site  Any HTML Page  Any XML Page  Any Database  Any servlet  Any JSP  Any XSP  Any ...

Oracle9iAS Portal: Consume Syndicated XML Content  Oracle9iAS Portal : Declarative XML consumption

Oracle9iAS Business Intelligence and XML  Oracle9iAS Reports – Leverage existing reports by outputting XML – Define report definitions in XML  Oracle9iAS Discoverer – Underlying infrastructure is XML driven – Opportunity to customize business intelligence to mobile devices

Oracle9i JDeveloper: XML Support  Schema Driven XML Editor  Integrated Oracle XDK for Java – Parser, XSLT Transformer, SQL utility – XSQL pages – Run and Debug inside the IDE – XML Schema support  Application Integration – XML Messaging via JMS – Built-in web service development  Web Services – Discover, Bind, Invoke, Publish

D E M O N S T R A T I O N XML Solutions for Developers

Agenda Oracle9i and XML Best Practices Core Technology Storage Development Wrap Up

WIN A FREE CONFERENCE PASS TO ORACLE OPENWORLD SAN FRANCISCO! We want to know what you think! Fill out the survey that was handed out at the beginning of the session for a chance to win a full conference pass to Oracle OpenWorld San Francisco 2001 Remember to include your name and in the comments section

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