This section presents the implementation of the system that we have developed for the specification and the management of an XML warehouse. DAWAX (DAta WArehouse for XML) is composed of three main tools:
The graphic editor for data warehouse specification, which was presented in section 16.3, "Data Warehouse Specification."
The data warehouse manager, which is responsible for the creation and management of the warehouse in a relational DBMS (MySQL). It is presented in the next section.
The data warehouse query manager, which is not presented here.
In this section, we present the part of the application dedicated to the data warehouse implementation. As we have seen in Section 16.5, "Storage and Management of the Data Warehouse," the XML data are stored in a MySQL Database System. DAWAX automatically creates the warehouse and extracts metadata from a specification file.
Figure 16.3 shows the graphic interface for the management of XML data. When opening the implementation manager, the user chooses a specification file (previously defined with the graphic editor). Then the implementation manager loads the data warehouse specification, connects to the SQL database and displays its graphic interface. The frame is composed of two panels: one for data warehouse creation and another one for data maintenance. The creation panel contains a create button and is in charge of creating the SQL database and extracting data from sources. The second panel, which is shown in Figure 16.3, is dedicated to data maintenance. It displays the source list and is responsible for refreshing data extracted from the selected source. Then, the system refreshes the XML data, the patterns using this source, and views using the updated patterns.
The application has been written in the Java language because of its portability and universality. We used a MySQL server for storing XML data, essentially because it's a free DBMS running under Linux.
The different functionalities are implemented by the following Java packages:
"dawax": Contains the main functionality of the application, allowing us to start one of the three components (i.e., specification, management, interrogation).
"dawax.specification": Contains the graphic editor for the data warehouse specification.
"dawax.management": Contains the JDBC interface with the MySQL server and the Xml2Sql class that stores XML data in MySQL.
"dawax.interrogation": Contains the query manager (not presented in this chapter) that is responsible for recomposing XML documents representing views, with the Sql2Xml class.
"dawax.xml.documentmodel": Contains the implementation of the document model for XML.
"dawax.xml.parser": Contains the parser for the document model (based on a SAX parser).