AusWeb 05 Banner

Automating Online Delivery of Database Content
- an open-source XML-based alternative

Monica Berko, Director, IT Applications, National Library of Australia, ACT, 2600. Email: mberko@nla.gov.au

David Wong, Java and XML Web Developer, IT Applications, National Library of Australia. Email: dwong@nla.gov.au


Keywords

XML Content Delivery, Archiving Databases, Web-based system prototyping, XML Databases, XML Content Maintenance, XML Schema Authoring


Abstract

Would an online wizard for non-programmers to describe business objects be useful? One that generated an annotated XSD Schema and an XML web application prototype with search, browse, and update capability?

At the National Library of Australia, we have been developing web-based systems for some years. We observed that we could speed up the development process if we had a tool that could interpret a data model specification (expressed in a locally designed XML language) and generate a fully operational and configurable web application with search and browse capability and online content creation and editing. We also had a business need for a means of providing access to an assortment of structured data archives stored as XML. These are the long-term preservation copies of deposited databases and document archives that are part of our digital preservation activities. We also had a number of archived legacy databases and needed easy access to the old data, not all of which had been migrated to the replacement system.

The first stage was to build a generator that supported only the access requirements. Because we increasingly use XML technologies in building our systems, we decided to use only XSLT, XQuery, JSP and Java servlet technologies for the user interface and, for the back-end repository, any XML database server product that supports XQuery and the XML:DB API. We developed the generator in-house. Although some commercial vendors had similar tools, adopting them would require lock-in to their underlying XML Database server product. Our objective was to be able to share the solution as an open-source product for use by other members of the International Internet Preservation Consortium.

The most critical design decision we made was to allow the expression of multi-object data models in the data model specification. Flattening a complex relational data model can introduce a large amount of redundant data in the XML database. It also compromises the efficiency of querying and updating the XML repository for secondary items. Supporting multi-object data models increased the complexity of our task tenfold but ensured a generated application much closer to the requirements for real-world systems and more easily enhanced to meet additional business requirements and workflows. We decided to use the XSD key and keyref elements for linking objects in the XML repository.

The first stage has been completed and the resulting tool is called Xinq (XML-inquire). It creates a web-application completely from the application-specification file, including deployment scripts. Our implementation uses the open-source XML database server, eXist, and either the Apache Tomcat or Jetty java application servers. It has been released with an Apache Software Licence and is located on SourceForge.

The second stage is to extend the principles of Xinq to build an online update capability using the XUpdate standard. This stage is currently under development with an anticipated release date in June 2005 and the project is called Xedit.


[ Full Paper ] [ Presentation ] [ Proceedings ] [ AusWeb Home Page ]

 

All materials Copyright AusWeb05. The Eleventh Australasian World Wide Web Conference, Royal Pines Resort, Gold Coast, from 2nd to 6th July 2005 Contact: Norsearch Conference Services +61 2 66 20 3932 (from outside Australia) (02) 6620 3932 (from inside Australia) Fax (02) 6626 9317