* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download When Development Means Business FY2000 First Quarter
Survey
Document related concepts
Operational transformation wikipedia , lookup
Resource Description Framework wikipedia , lookup
Semantic Web wikipedia , lookup
Data analysis wikipedia , lookup
Information privacy law wikipedia , lookup
National Information Exchange Model wikipedia , lookup
Business intelligence wikipedia , lookup
Open data in the United Kingdom wikipedia , lookup
Data vault modeling wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Versant Object Database wikipedia , lookup
Clusterpoint wikipedia , lookup
Relational model wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Transcript
Gaining and keeping competitive advantage through J2EE and XML interoperability Dimitri Maesfranckx Product Manager Content Reality Database vendors Introduction Application Scenario Builder Query Example Features Key Advantages Q&A Reality XML versus databases “The truth of the matter. The RDBMS is not going anywhere anytime soon, if ever. Even ignoring serious issues such as relational data representation in XML, the DBMS technology is a core part of too many applications in use today. Although XML may be a realistic possibility for some smaller applications without legacy data or legacy application dependencies, most large-scale production applications must interface with existing data. This data is almost always maintained in a relational database.” JAVA and XML (Page 339) By Brett McLaughlin – O’REILLY® How Can I Access Data Using XML? Not an easy answer! JDBC/ODBC/ADO/OLE DB XQL Xquery Xpath HTTP extensions DBMS extensions XML-QL SQL extensions … DB Standard APIs ODBC ADO SQLExecDirect (hstmt, “Select * from Inventory”, SQL_NTS) SQLSetStmtAttr (hstmt, SQL_PERSIST_AS_XML, “//myweb/inventorylist/inventory.xml”, SQL_NTS) rsXML.Open “Select * from Inventory”, conn rsXML.Save “//myweb/inventorylist/inventory.xml”, adPersistXML JDBC … similar using Webrowset interface DBMS extentions SQL Server Specify SQL Queries into the URL http://IISServer/nwind?sql=SELECT+*+FROM+Invent ory+FOR+XML+AUTO&root=root Returns query as XML document Specify SQL Query Templates in the URL http://IISServer/nwind/QueryFile.xml DBMS extentions Oracle XSQL Pages - XML formatted servlet definition that creates or consumes XML based on the underlying database http://MyServer/InventoryToday.xsql?id=12 Where XSQL defined as: <xsql:query connection=“Inventorydb" xmlns:xsql="urn:oracle-xsql">SELECT * FROM Inventory WHERE ID = '{@id}‘ </xsql:query> DBMS extentions IBM IBM DB2 UDB (7.1) - XML Extender DAD or Document Access Definition file Flexible query or table.column based mapping Stored procedure programming model (Java,C++,...) Both retrieve and update functionality XML results are ‘dumped’ in a special DB2 table XQuery Example: Return a "flat" list of supplier names and their part descriptions, in alphabetic order. FOR $sp IN document("sp.xml")//sp_tuple, $p IN document("p.xml")//p_tuple[pno = $sp/pno], $s IN document("s.xml")//s_tuple[sno = $sp/sno] RETURN <sp_pair> $s/sname , $p/descrip </sp_pair> SORTBY (sname, descrip) jXTransformer Introduction Defines grammar to retrieve data and transform this into complex XML structures. jXTransformer API that processes the Query, returns the data in the required XML structure. jXTransformer Builder GUI tool to help you build and test queries. Uses a DataDirect JDBC J2EE certified drivers to communicate with the RDBMS. jXTransformer Query with JDBC application scenario JAVA Application with jXTransformer Query jXTranformer API DataDirect JDBC Driver RDBMS XML Document jXTransformer Builder Create and modify quickly without having to know the syntax. Check and test syntax and semantics. jXTransformer Query Example SELECT e.EmployeeID, e.FirstName, e.LastName, e.Title, e.HireDate, e.Salary FROM Employees e WHERE e.HireDate = {d ’2000-01-01’} jXTransformer Query Example SELECT xml_element(’Employees_Info’ xml_attribute(’ID’, e.EmployeeID), xml_element(’name’, xml_element(’first’,e.FirstName), xml_element(’last’, e.LastName) ), xml_element(’title’, e.Title), xml_element(’hiredate’,e.HireDate), xml_element(’salary’, e.Salary) ) FROM Employees e WHERE e.HireDate = {d ’2000-01-01’} jXTransformer Query Example <?xml version="1.0" encoding="UTF-8" ?> <xes-result> <Employees_Info ID='234567'> <name> <first>Jane</first> <last>Smith</last> </name> <title>Director</title> <hiredate>2000-01-01</hiredate> <salary>120000</salary> </Employees_Info> </xes-result> jXTransformer Features Any relational DB supported by the DataDirect JDBC drivers. DOM, JDOM, SAX and reader/writer object interfaces. DTDs, schemas, namespaces and CDATA. Nested jXTransformer queries. Document-level processing instructions. Parameter markers, SQL92 select list expressions and JDBC scalar functions. jXTransformer Key Advantages Uniform and database independent Fraction of the usual required resources Leverage existing knowledge Portable code, portable data Q&A jXTransformer allows you to retrieve data from relational databases and transform that data into complex XML structures . All that is required is a JDBC connection with a DataDirect JDBC driver. jXTransformer is flexible and powerful, allowing you to structure the data any way you want it in the resulting XML document and create well-formed and valid XML documents for data exchange. The jXTransformer Builder tool makes it easy for you to build and test jXTransformer queries. [email protected]