Abstract: |
As XML becomes a common flexible data model for data exchange and representation, more and more adoptions of “XML-only” application design paradigm start to appear. This pure XML based approach views XML as a logical data model and uses the high-level XML declarative and imperative programming languages, such as XQuery, XQuery scripting extension, XQuery Update Facility, XQuery Full Text, XPath, XSLT, as the primary languages for application development. The “XML only” paradigm has its merits because it promotes the opportunities of global cross-tier optimisations and eliminates the impedance mismatches between different data models and different programming language styles that exist in the alternative “multi-language” approach. In this paper, we present a “pure” XML Integrated Processing Environment (XIPE) built around an XML Virtual Machine (XVM) and XML Data Repository (XDR). We present the XIPE key components - XCompiler, XVM, XQDOM, XML Tree Index, … etc, that are needed to build such a programming environment. We also show the design rationale and principles we apply to build each one of the components. The goal is to make the XIPE itself open, flexible and scalable. In order to achieve that, we use an interface-based component interaction model and use the so called “light” and “heavy” data repositories, which helps XIPE to scale seamlessly with different sizes, shapes and characteristics of the underlying XML. |