Datadirect Xquery™ Technical Overview

Total Page:16

File Type:pdf, Size:1020Kb

Datadirect Xquery™ Technical Overview P RODUCT B RIEF DataDirect Technologies DataDirect XQuery™ Technical Overview Introduction Many Internet applications need to integrate information from multiple sources, including data found in web messages, relational data, and various XML sources. However, using XML with relational databases has its challenges. Each major database vendor provides XML extensions, but these extensions are different for each vendor and do not allow applications to be portable among databases. Some developers use XML standards (such as DOM, SAX, or StAX) in combination with database standards (such as ODBC or JDBC), but this approach requires developers to write and maintain large amounts of code. DataDirect XQuery™ allows applications to query both XML and relational sources, and can return XML results as text, DOM, SAX, or StAX. It runs in any Java environment, on any operating system, using any major database, with or without application servers or other servers. DataDirect XQuery, a Java™ implementation of XQuery that uses the XQuery API for Java (XQJ), allows developers to work with standards instead of proprietary query language extensions and APIs. In addition, DataDirect XQuery provides the best performance possible, using sophisticated techniques to optimize XML queries that access data from relational sources. This paper introduces XQuery, XQJ, and DataDirect XQuery, providing example queries and Java code. What Is XQuery? XQuery is a query language for XML. In the same way that SQL is used to query relational tables, XQuery is used to query XML or anything for which a virtual XML view can be provided, such as relational data. Typically, SQL queries create tables to represent the result of a query and XQuery queries create XML to represent the result of a query. This resulting XML can be simple or complex. For example, the result of an XQuery query may be as simple as a single integer; for example, the query might count the number of items that satisfy a condition. The result of a query can also be a complex document, such as an inventory report that has dynamic content or a SOAP message. In this paper, we use the term XML result to refer to the results of an XQuery query.1 1 In XQuery terminology, the result of an XQuery query is an instance of the XQuery data model. We use the term "XML result" for simplicity. TM D ATAD IRECT XQUERY T ECHNICAL O VERVIEW XQuery goes beyond the functionality of relational query languages and includes many features traditionally found in functional programming languages. Just as SQL is a relational query language and Java is an object- oriented language, XQuery often is thought of as a native XML programming language. In XQuery, the only complex data structure is XML, and the operations that are regularly needed for processing XML are directly supported in a convenient manner. XQuery can easily search any XML structure with path expressions, create any XML structure using constructors, and transform XML structures using FLWOR (for, let, where, order by, return) expressions. In addition, XQuery simplifies the tasks encountered when working with XML namespaces or data types. Because XML is used to represent and transfer data from a wide variety of sources, XQuery is also widely used for data integration. Even when data is not physically stored as XML, XQuery can be used with middleware that provides an XML view of the data. For example, SOAP may be used to acquire data from a variety of sources, and XQuery may be used to query the resulting SOAP messages (in XML) and data found in a relational database (using an XML view), and integrate the results. XQuery is currently under development in the W3C (World Wide Web Consortium), which is a standards body for the World Wide Web. The W3C maintains a Web page for XQuery, including pointers to the XQuery specifications, tutorials, and a variety of products, at http://www.w3.org/XML/Query.html. What Is XQJ? The XQuery API for Java (XQJ) is an API designed to support the XQuery language, just as the JDBC API supports the SQL query language. The XQJ standard (JSR 225) is being developed under the Java Community Process. For more information, refer to http://www.jcp.org/en/jsr/detail?id=225. What Is DataDirect XQuery™? DataDirect XQuery is the first embeddable component for XQuery that implements XQuery for Java API (XQJ). It supports all major relational databases on any Java platform. DataDirect XQuery allows you to query XML, relational databases, or a combination of the two, integrating the results for XML-based data exchange, XML-driven Web sites, and other applications that require or leverage the power of XML. DataDirect XQuery is designed for software developers and independent software vendors (ISVs) who need to manage heterogeneous data sources in XML applications. 2 OF 9 DATAD IRECT T ECHNOLOGIES J UNE 2006 TM D ATAD IRECT XQUERY T ECHNICAL O VERVIEW DataDirect XQuery supports both relational and XML sources, such as: • Databases through a JDBC™ connection • XML files through http:, ftp:, and file: URI schemes and Stylus Studio XML Deployment Adapter URI schemes, providing access to legacy data (for example, EDI and flat files) as XML • XML represented through DOM • XML stored in database columns using an XML data type • XML stored in character columns DataDirect XQuery™ Architecture The following diagram provides a high-level architectural overview of DataDirect XQuery. D ATAD IRECT T ECHNOLOGIES J UNE 2006 3 OF 9 TM D ATAD IRECT XQUERY T ECHNICAL O VERVIEW When you execute an XQuery query using DataDirect XQuery, DataDirect XQuery processes the query as described in the following flow: • A Java application passes a query to DataDirect XQuery’s implementation of XQJ. • The XQuery Engine analyzes the query and divides it into one or multiple XQuery expressions to be processed by the adaptors. • The XQuery Engine sends the query to the SQL adaptor or the Streaming XML adaptor based on its analysis: - If a relational source is queried, the XQuery Engine sends the query to the SQL adaptor. The SQL adaptor translates the query into SQL, which is used to query the database. The SQL adaptor receives the results, maps them into XML, and loads them in memory as required. - If an XML source is queried, the XQuery Engine sends the query to the Streaming XML adaptor, which executes the query and returns XML results. - If a flat or EDI file is queried, the XQuery Engine sends the query to the Streaming XML adaptor, which relies on the Flat File/EDI adaptors to retrieve an XML representation of the flat or EDI file. • The adaptors send the XML results to the XQuery Engine. If the XML results are obtained from more than one source, the XQuery Engine combines the results. • The Java application receives results as XML, using XQJ. Examples In this section, we'll examine some XQuery examples and a Java code example that uses XQJ to execute an XQuery query. NOTE: DataDirect XQuery is shipped with multiple examples showing how to use XQJ in your Java applications. The XQuery examples presented in this paper use the example database tables and XML files provided with DataDirect XQuery. XQuery Examples Example 1: Simple XQuery Query Using a FLWOR Expression The following simple XQuery query uses a FLWOR expression to return only the rows of the holdings database table that contain a value of AMZN in the stockticker column. for $h in collection('holdings')/holdings where $h/stockticker='AMZN' return $h 4 OF 9 DATAD IRECT T ECHNOLOGIES J UNE 2006 TM D ATAD IRECT XQUERY T ECHNICAL O VERVIEW Result The query returns the XML representation of each row. <holdings> <userid>Jonathan</userid> <stockticker>AMZN</stockticker> <shares>3000</shares> </holdings> <holdings> <userid>Minollo</userid> <stockticker>AMZN</stockticker> <shares>3000</shares> </holdings> Example 2: Creating a Specific XML Structure In this example, the XQuery query returns the same data as Example 1, but it uses an element constructor to create a different XML structure than that created in the previous example. for $h in collection('holdings')/holdings where $h/stockticker='AMZN' return <Amazon Client="{$h/userid}" Shares="{$h/shares}"/> Result The return clause creates an element named Amazon. It creates two attributes, Client and Shares, which contain the values of the userid and shares columns from the relational table. <Amazon Client="Jonathan" Shares="3000"/> <Amazon Client="Minollo" Shares="3000"/> Example 3: Combining Data from XML and Relational Sources Web messages, such as SOAP requests, are XML documents, and they can parameterize or provide data for a query. The following example joins an XML document named request.xml to two relational database tables named holdings and statistical. The request.xml file is joined to the holdings table by the UserId element in the XML file and the userid column of the holdings table. The two tables are joined by the ticker column of the statistical table and the stockticker column of the holdings table. let $request := doc('request.xml')/request for $user in $request/performance/UserId return <portfolio UserId="{$user}"> {$request } { for $st in collection('holdings')/holdings, $stats in collection('statistical')/statistical where $st/userid = $user and $stats/ticker = $st/stockticker return <stock> {$stats/companyname} {$st/stockticker} D ATAD IRECT T ECHNOLOGIES J UNE 2006 5 OF 9 TM D ATAD IRECT XQUERY T ECHNICAL O VERVIEW {$st/shares} {$stats/annualrevenues} </stock> } </portfolio> Result The result of this query is an element named portfolio. The first child
Recommended publications
  • Fun Factor: Coding with Xquery a Conversation with Jason Hunter by Ivan Pedruzzi, Senior Product Architect for Stylus Studio
    Fun Factor: Coding With XQuery A Conversation with Jason Hunter by Ivan Pedruzzi, Senior Product Architect for Stylus Studio Jason Hunter is the author of Java Servlet Programming and co-author of Java Enterprise Best Practices (both O'Reilly Media), an original contributor to Apache Tomcat, and a member of the expert groups responsible for Servlet, JSP, JAXP, and XQJ (XQuery API for Java) development. Jason is an Apache Member, and as Apache's representative to the Java Community Process Executive Committee he established a landmark agreement for open source Java. He co-created the open source JDOM library to enable optimized Java and XML integration. More recently, Jason's work has focused on XQuery technologies. In addition to helping on XQJ, he co-created BumbleBee, an XQuery test harness, and started XQuery.com, a popular XQuery development portal. Jason presently works as a Senior Engineer with Mark Logic, maker of Content Interaction Server, an XQuery-enabled database for content. Jason is interviewed by Ivan Pedruzzi, Senior Product Architect for Stylus Studio. Stylus Studio is the leading XML IDE for XML data integration, featuring advanced support for XQuery development, including XQuery editing, mapping, debugging and performance profiling. Ivan Pedruzzi: Hi, Jason. Thanks for taking the time to XQuery behind a J2EE server (I have a JSP tag library talk with The Stylus Scoop today. Most of our readers for this) but I’ve found it easier to simply put XQuery are familiar with your past work on Java Servlets; but directly on the web. What you do is put .xqy files on the could you tell us what was behind your more recent server that are XQuery scripts to produce XHTML interest and work in XQuery technologies? pages.
    [Show full text]
  • Oracle® Big Data Connectors User's Guide
    Oracle® Big Data Connectors User's Guide Release 4 (4.12) E93614-03 July 2018 Oracle Big Data Connectors User's Guide, Release 4 (4.12) E93614-03 Copyright © 2011, 2018, Oracle and/or its affiliates. All rights reserved. Primary Author: Frederick Kush This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable: U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency- specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.
    [Show full text]
  • Multimodel Database with Ora
    Disclaimer The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. MULTIMODEL DATABASE WITH ORACLE DATABASE 18C Table of Contents Introduction 1 Multimodel Database Architecture 2 Multimodel Database Features in Oracle 18c 3 JSON in Oracle Database 5 Graph Database and Analytics in Oracle Spatial and Graph 6 Property Graph Features in Oracle Spatial and Graph 6 RDF Semantic Graph Triple Store Features in Oracle Spatial and Graph 7 Spatial Database and Analytics in Oracle Spatial and Graph 7 Sharded Database Model 8 Oracle XML DB 9 Oracle Text 10 Oracle SecureFiles 10 Storage Optimization in SecureFiles 10 SecureFiles Features in Oracle Database 18c 11 Conclusion 12 0 | MULTIMODEL DATABASE WITH ORACLE DATABASE 18C Introduction Over the nearly 40 years in the evolution of commercial relational database management systems, a consistent pattern has emerged as the capabilities, data types, analytics, and data models have been developed and adopted. With each new generation of computing architecture – from centralized mainframe, to client server, to internet computing, to the Cloud – new generations of data management systems have been developed to address new applications, workloads and workflows. Today, the successful operation of corporations, enterprises, and other organizations relies on the management, understanding and efficient use of vast amounts of unstructured Big Data that may come from social media, web content, sensors and machine output, and documents.
    [Show full text]
  • Diploma Thesis Christoph Schmid
    Institute of Architecture of Application Systems University of Stuttgart Universitätsstraße 38 D-70569 Stuttgart Diploma Thesis No. 3679 Development of a Java Library and Extension of a Data Access Layer for Data Access to Non-Relational Databases Christoph Schmid Course of Study: Softwaretechnik Examiner: Prof. Dr. Frank Leymann Supervisors: Dr. Vasilios Andrikopoulos Steve Strauch Commenced: June 19, 2014 Completed: December 19, 2014 CR-Classification: C.2.4, C.4, D.2.11, H.2 Abstract In the past years, cloud computing has become a vital part of modern application develop- ment. Resources can be highly distributed and provisioned on-demand. This fits well with the less strict data model of non-relational databases that allows better scaling. Many cloud providers have hosted NoSQL databases in their portfolio. When migrating the data base layer to a NoSQL model, the business layer of the applica- tion needs to be modified. These modifications are costly, thus it is desirable to design an architecture that can adapt to changes without tight coupling to third party components. In this thesis, we extend a multi-tenant aware Enterprise Service Bus (ESB) with Data Access Layer, modify the management application and implement a registry for the NoSQL configu- rations. Then, we design an architecture that manages the database connections that adds a transparency layer between the end-user application and non-relational databases. The design is verified by implementing it for blobstores including a Java access library that manages the access from local applications to the ESB. Additionally, we evaluate component by measuring the performance in several use scenarios and compared the results to the performance of the vendor SDKs.
    [Show full text]
  • Naxdb – Realizing Pipelined Xquery Processing in a Native XML Database System
    NaXDB – Realizing Pipelined XQuery Processing in a Native XML Database System Jens Hündling, Jan Sievers and Mathias Weske Hasso-Plattner-Institute for IT-Systems-Engineering at the University of Potsdam, Germany {jens.huendling|jan.sievers|mathias.weske}@hpi.uni-potsdam.de ABSTRACT schemas and accept documents with unknown structure, efficient Supporting queries and modifications on XML documents is a chal- automatic adoption of evolving schemas from incoming informa- lenging task, and several related approaches exist. When imple- tion is vital. In addition, it is necessary to efficiently adapt the menting query and modification languages efficiently, the actual evolving schema of incoming information with minimal manual persistent storage of the XML data is of particular importance. intervention. This significantly differs from traditional relational Generally speaking, the structure of XML data significantly differs DBMS, where database schema evolution is rare and typically man- from the well-known relational data-model. This paper presents the aged by database administrators. Due to these reasons, NaXDB prototypical implementation of NaXDB, a native XML database uses a native approach [6], i.e. the XML information is stored as a management system (DBMS). A native approach means the XML hierarchical tree of nodes. NaXDB implements an huge subset of data is stored as a hierarchical tree of linked objects. NaXDB is im- the query language specification XQuery 1.0 [3] including XPath plemented as a MaxDB by MySQL kernel module and thus inherits 2.0 [2] for navigation as well as XUpdate [17] for manipulation. several DBMS functionality. Furthermore, NaXDB uses object- Remarkably, several implementations of XQuery exist by now, but oriented extensions of of MaxDB by MySQL to store the tree of only some are real database management systems offering typical linked objects.
    [Show full text]
  • Data Analytics Using Mapreduce Framework for DB2's Large Scale XML Data Processing
    ® IBM Software Group Data Analytics using MapReduce framework for DB2's Large Scale XML Data Processing George Wang Lead Software Egnineer, DB2 for z/OS IBM © 2014 IBM Corporation Information Management Software Disclaimer and Trademarks Information contained in this material has not been submitted to any formal IBM review and is distributed on "as is" basis without any warranty either expressed or implied. Measurements data have been obtained in laboratory environment. Information in this presentation about IBM's future plans reflect current thinking and is subject to change at IBM's business discretion. You should not rely on such information to make business plans. The use of this information is a customer responsibility. IBM MAY HAVE PATENTS OR PENDING PATENT APPLICATIONS COVERING SUBJECT MATTER IN THIS DOCUMENT. THE FURNISHING OF THIS DOCUMENT DOES NOT IMPLY GIVING LICENSE TO THESE PATENTS. TRADEMARKS: THE FOLLOWING TERMS ARE TRADEMARKS OR ® REGISTERED TRADEMARKS OF THE IBM CORPORATION IN THE UNITED STATES AND/OR OTHER COUNTRIES: AIX, AS/400, DATABASE 2, DB2, e- business logo, Enterprise Storage Server, ESCON, FICON, OS/390, OS/400, ES/9000, MVS/ESA, Netfinity, RISC, RISC SYSTEM/6000, System i, System p, System x, System z, IBM, Lotus, NOTES, WebSphere, z/Architecture, z/OS, zSeries The FOLLOWING TERMS ARE TRADEMARKS OR REGISTERED TRADEMARKS OF THE MICROSOFT CORPORATION IN THE UNITED STATES AND/OR OTHER COUNTRIES: MICROSOFT, WINDOWS, WINDOWS NT, ODBC, WINDOWS 95, WINDOWS VISTA, WINDOWS 7 For additional information see ibm.com/legal/copytrade.phtml Information Management Software Agenda Motivation Project Overview Architecture and Requirements Technical design problems Hardware/software constraints, and solutions System Design and Implementation Performance and Benchmark showcase Conclusion, Recommendations and Future Work Information Management Software IBM’s Big Data Portfolio IBM views Big Data at the enterprise level thus we aren’t honing in on one aspect such as analysis of social media or federated data 1.
    [Show full text]
  • Oxygen XML Author 12.2
    Oxygen XML Author 12.2 Oxygen XML Author | TOC | 3 Contents Chapter 1: Introduction................................................................................11 Key Features and Benefits of Oxygen XML Author .............................................................................12 Chapter 2: Installation..................................................................................13 Installation Requirements.......................................................................................................................14 Platform Requirements...............................................................................................................14 Operating System.......................................................................................................................14 Environment Requirements........................................................................................................14 Installation Instructions..........................................................................................................................14 Eclipse Plugin.............................................................................................................................15 Obtaining and Registering a License Key..............................................................................................16 Named User License Registration..............................................................................................16 Named User License Registration with Text File.......................................................................17
    [Show full text]
  • Xquery 3.0 69 Higher-Order Functions 75 Full-Text 82 Full-Text/Japanese 85 Xquery Update 87 Java Bindings 91 Packaging 92 Xquery Errors 95 Serialization 105
    BaseX Documentation Version 7.2 PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Sat, 24 Mar 2012 17:30:37 UTC Contents Articles Main Page 1 Getting Started 3 Getting Started 3 Startup 4 Startup Options 6 Start Scripts 13 User Interfaces 16 Graphical User Interface 16 Shortcuts 20 Database Server 23 Standalone Mode 26 Web Application 27 General Info 30 Databases 30 Binary Data 32 Parsers 33 Commands 37 Options 50 Integration 64 Integrating oXygen 64 Integrating Eclipse 66 Query Features 68 Querying 68 XQuery 3.0 69 Higher-Order Functions 75 Full-Text 82 Full-Text/Japanese 85 XQuery Update 87 Java Bindings 91 Packaging 92 XQuery Errors 95 Serialization 105 XQuery Modules 108 Cryptographic Module 108 Database Module 113 File Module 120 Full-Text Module 125 HTTP Module 128 Higher-Order Functions Module 131 Index Module 133 JSON Module 135 Map Module 140 Math Module 144 Repository Module 148 SQL Module 149 Utility Module 153 XSLT Module 157 ZIP Module 160 ZIP Module: Word Documents 162 Developing 164 Developing 164 Integrate 165 Git 166 Maven 172 Releases 174 Translations 175 HTTP Services 176 REST 176 REST: POST Schema 184 RESTXQ 185 WebDAV 189 WebDAV: Windows 7 190 WebDAV: Windows XP 192 WebDAV: Mac OSX 195 WebDAV: GNOME 197 WebDAV: KDE 199 Client APIs 201 Clients 201 Standard Mode 202 Query Mode 203 PHP Example 205 Server Protocol 206 Server Protocol: Types 210 Java Examples 212 Advanced User's Guide 214 Advanced User's Guide 214 Configuration 215 Catalog Resolver 216 Statistics 218 Backups 222 User Management 222 Transaction Management 224 Logging 225 Events 226 Indexes 228 Execution Plan 230 References Article Sources and Contributors 231 Image Sources, Licenses and Contributors 233 Article Licenses License 234 Main Page 1 Main Page Welcome to the documentation of BaseX! BaseX [1] is both a light-weight, high-performance and scalable XML Database and an XPath/XQuery Processor with full support for the W3C Update and Full Text extensions.
    [Show full text]
  • Vysoké Učení Technické V Brně Brno University of Technology
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Digital library of Brno University of Technology VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS NATIVE XML INTERFACE FOR A RELATIONAL DATABASE DIPLOMOVÁ PRÁCE MASTER'S THESIS AUTOR PRÁCE Bc. KAREL PIWKO AUTHOR BRNO 2010 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS NATIVNÍ XML ROZHRANÍ PRO RELAČNÍ DATABÁZI NATIVE XML INTERFACE FOR A RELATIONAL DATABASE DIPLOMOVÁ PRÁCE MASTER'S THESIS AUTOR PRÁCE Bc. KAREL PIWKO AUTHOR VEDOUCÍ PRÁCE Ing. PETR CHMELAŘ SUPERVISOR BRNO 2010 Abstrakt XML je dominatním jazykem pro výměnu dat. Vzhledem k velkém množství dostupných XML dokumentů a jejich vzájemnému přenosu, vzniká protřeba jejich ukládání a dota- zování v nich. Jelikož většina firem stále používá systémy založené na relačních databázích pro ukládání dat, a často je nutné kombinovat nově získané XML data s původním daty uloženými v relační databázi, je vhodné se zabývat uložením XML dokumentů v relačních databázích. V této práci jsme se zaměřili na strukturované a semi-strukturované XML dokumenty, pro- tože jsou nejčastěji používanými formáty pro výměnu dat a mohou být snadno validovány pomocí XML schémat. Předmětem teoretického rozboru je modifikovaný Hybrid algorit- mus pro rozdělení dokumentu do relací na základě XSD schémat a dále umožnujeme zavést redundanci pro urychlení dotazování. Naším cílem je vytvořit systém podporujicí nejnovější standardy, který zároveň poskytne větší výkon a vertikální škálovatelnost než nativní XML databáze.
    [Show full text]
  • Helsinki University of Technology
    Aalto University School of Science and Technology Faculty of Electronics, Communications and Automation Degree Programme of Communications Engineering Markku Pekka Mikael Laine XFormsDB—An XForms-Based Framework for Simplifying Web Application Development Master’s Thesis Helsinki, Finland, January 20, 2010 Supervisor: Professor Petri Vuorimaa, D.Sc. (Tech.) Instructor: Mikko Honkala, D.Sc. (Tech.) Aalto University ABSTRACT OF THE School of Science and Technology MASTER’S THESIS Faculty of Electronics, Communications and Automation Degree Programme of Communications Engineering Author: Markku Pekka Mikael Laine Title: XFormsDB—An XForms-Based Framework for Simplifying Web Application Development Number of pages: xx + 161 Date: January 20, 2010 Language: English Professorship: Interactive Digital Media and Contents Production Code: T-111 Supervisor: Professor Petri Vuorimaa, D.Sc. (Tech.) Instructor: Mikko Honkala, D.Sc. (Tech.) The nature of the World Wide Web is constantly changing to meet the increasing demands of its users. While this trend towards more useful interactive services and applications has improved the utility and the user experience of the Web, it has also made the development of Web applications much more complex. The main objective of this Thesis was to study how Web application development could be simplified by means of declarative programming. An extension that seamlessly integrates common server-side functionalities to the XForms markup language is proposed and its feasibility and capabilities are validated with a proof- of-concept implementation, called the XFormsDB framework, and two sample Web applications. The results show that useful, highly interactive multi-user Web applications can be authored quickly and easily in a single document and under a single programming model using the XFormsDB framework.
    [Show full text]
  • Xquery API for Java™ (XQJ) 1.0 Specification Version 0.9 (JSR 225 Public Draft Specification) May 21, 2007
    XQuery API for Java™ (XQJ) 1.0 Specification Version 0.9 (JSR 225 Public Draft Specification) May 21, 2007 Spec Lead: Jim Melton Oracle Editor: Marc Van Cappellen DataDirect Technologies This document is the Public Draft Specification of the XQuery API for Java™ (XQJ) 1.0. It describes the current state of the XQuery API for Java™ (XQJ), and is subject to possibly changes and should not be considered to be in any way final. Comments on this specification should be sent to [email protected]. Copyright © 2003, 2006, 2007, Oracle. All rights reserved. Java™ is a registered trademark of Sun Microsystems, Inc. http://www.sun.com JSR 225 Public Draft Specification – Version 0.9 SPECIFICATION LICENSE Oracle USA (the “Spec Lead”) for the XQuery API for Java specification (the “Specification”) hereby grant a perpetual, non-exclusive, worldwide, fully paid-up, royalty-free, irrevocable (except as explicitly set forth below) license to copy and display the Specification, in any medium without fee or royalty, provided that you include the following on ALL copies, or portions thereof, that you make: 1. A link or URL to the Specification at this location: __________. 2. The copyright notice as shown herein. In addition, to the extent that an implementation of the Specification would be considered a derivative work under applicable law requiring a license grant from the holder of the copyright in the Specification, the Spec Lead grants a copyright license solely for the purpose of making and/or distributing an implementation of the Specification that: (a) except for the RI code licensed from Oracle under the RI License, does not include or otherwise make any use of the RI; (b) fully implements the Specification including all of its required interfaces and functionality; (c) does not modify, subset, superset or otherwise extend those public class or interface declarations whose names begin with “java;” and (d) passes the TCK.
    [Show full text]
  • Zapthink Zapnote™
    zapthink zapnote Doc. ID: ZTZN-1189 Released: Mar. 15, 2006 ZAPTHINK ZAPNOTE™ DATADIRECT SIMPLIFYING DATA INTEGRATION WITH XQUERY Analyst: Ronald Schmelzer Abstract The more companies attempt to connect their disparate systems in the enterprise, and the more success they have doing so using emerging technologies and approaches such as XML, Web Services, and Service- Oriented Architecture (SOA), the more they realize that simply getting systems to communicate is only half the problem. The other half is getting those systems to understand what they are saying to each other. While many people pin their hopes on abstract concepts such as semantic webs and ontologies, they require a more practical short-term solution to enable humans to map data structures between dissimilar systems. Fortunately, the W3C standard XQuery has recently emerged as a robust technology that is well suited for common data integration needs. Rather than using proprietary data adapters, tightly-coupled integration middleware, or complex mapping technologies, the XQuery approach applies standards-based documents and general-purpose transformation engines to the problem of data integration. In this ZapNote, we explore XQuery and DataDirect XQueryTM as an illustration of this powerful technique in practice. All Contents Copyright © 2006 ZapThink, LLC. All rights reserved. Reproduction of this publication in any form without prior written permission is forbidden. The information contained herein has been obtained from sources believed to be reliable. ZapThink disclaims all warranties as to the accuracy, completeness or adequacy of such information. ZapThink shall have no liability for errors, omissions or inadequacies in the information contained herein or for interpretations thereof.
    [Show full text]