Advanced Concepts

Developing complex XML-based information systems is a relatively young discipline. Most of today's information systems are based on relational techniques, simply because relational database management systems have been in use for a long time.

However, this is going to change: the closed Enterprise Information Model is giving way to a service-oriented Open Network Information Model. With XML, it has now become possible to implement highly complex content in an open, natural and straightforward way - content that is quickly becoming too complex for relational technology. XML has become the standard technology for a huge variety of applications, including all web service implementations and SOA (service oriented architecture) systems.

In the following chapters, we discuss how an enterprise-class Internet-enabled XML server such as Tamino can store and process such complex information. We assume that you are familiar with the basics of XML and that you know how to store and retrieve single documents with Tamino.

This document is intended for systems analysts, database administrators, schema designers, application developers and web designers.

The chapter From Conceptual Model to Schema discusses how to model complex contents into a collection of interrelated document types. We introduce XML Schema and show how to translate a conceptual model into schemas.

The chapter From Schema to Tamino explains how these schemas can be implemented with Tamino. We discuss strategies for namespaces, indexing, queries, transactions, and performance.

The chapter Utilizing Server Extensions shows how Tamino's Server Extensions can be used to extend the built-in functionality of Tamino. Code for example programs (date comparison, derived elements, fetching documents, triggers, and more) is provided.

The chapter Rapid Application Development with Tamino introduces programming with XSLT. We show how XSLT can be used to implement a presentation layer that derives HTML web pages from presentation neutral XML content, and compare it with the emerging query language XQuery. We show, too, how navigation structures can be described in a separate navigation layer with the help of XLink.