From Conceptual Model to Schema

In this chapter, we first give a short introduction to conceptual modeling and XML Schema. Then we discuss how conceptual models can be transformed into XML schemas. A discussion of how to use the UML in XML environments ends the chapter.

Motivation

Conceptual modeling techniques are well known in enterprise software construction. Before an application is implemented, a requirements analysis is performed which results in an informal description of the business domain. The conceptual model captures the results of the requirements analysis with more formal (and mostly visual) means. The conceptual model thus describes the business domain. Constructing a conceptual model ensures that the participating analysts and engineers have understood the problem. The model can then be used as a basis for the technical architecture. The conceptual model itself should be independent from a given technical infrastructure; it should not matter whether SQL or XML is used to store the data, nor which programming language is used to implement the system. The main purpose of conceptual modeling is to improve communication between the parties involved in the development process.

Conceptual modeling is a well-established discipline in the relational world. Wouldn't it be sufficient to adopt the techniques and strategies developed there and simply map the relational designs onto XML structures? But while this approach may be necessary to reengineer existing applications (see Reverse Engineering of Relational Schemas), under normal circumstances it leads to poor XML representation of the conceptual model: too much structural information is lost in the process.

graphics/motivation.png

In the rest of this chapter, we therefore discuss how conceptual models can be mapped directly onto XML. We also introduce a modeling method that is particularly suited for the new application domains that are typical for XML. Not that XML by itself would require a new modeling method. But the good old Entity Relationship Diagram (ERD) is not really well suited for the new, open environments in which XML dominates.

Our Example: ‘All that Jazz’, A Knowledge Base for Jazz Music

Our example is a knowledge base for jazz music and jazz musicians. As you probably know, the relationships between jazz musicians are manifold and complex. New bands and projects are set up all the time, and there are many ways of collaboration. In this aspect jazz music very much resembles electronic business, where business relations are much more short-lived than in the old economy. In some cases we have fully virtual productions, for example in Carla Bley's famous album "Escalator over the Hill".

In the following section we detail this example. We start with an informal verbal description, formalize this description into a conceptual model, and then discuss how this model can be transformed into a document base and into XML Schema. Finally, we take a look at how UML can be employed in this process.

This information is organized under the following headings:

Informal Description
Conceptual Modeling
Introduction to XML Schema
From Model to Schema
Integrity
Operations
From UML to XML
Schema-Related Web Sites