
4. XML Tools: Expressing database metadata,
queries and results as XML allows the processing
of this information in standalone XML-based tools,
such as formatting or statistics packages.
A new Java API called Java Architecture for XML
Binding (JAXB) (Ort and Mehta, 2003) makes it eas-
ier to access XML documents from applications writ-
ten in the Java programming language. This API is
available in the Java Web Services Developer Pack
(JWSDP) pass 1.1. JAXB is a Java technology that
generates Java classes from XML schemas. As part
of this process, the JAXB technology also provides
methods for unmarshalling an XML instance docu-
ment into a content tree of Java objects, and mar-
shalling the content tree into an XML document.
JAXB provides a fast and convenient way to bind an
XML schema to a representation in Java code, making
it easy for Java developers to incorporate XML data
and processing functions in Java applications.
3 WISH TOOL
The development of the WISH Query Composer
adopted an object-oriented approach using the Uni-
fied Modeling Language (UML). Requirements were
captured as use cases, and the design mainly consisted
of developing several XML schemas (for representing
database schemas, query forms, SQL queries, and re-
sult sets) as the JAXB binding of the corresponding
XML documents provided our Java objects in the de-
sign.
The design of WISH is an object-oriented approach
that follows the Unified Modeling Language (UML)
methodology. The Use Case Diagram in Figure 2
shows the relationships between actors and use cases
of WISH.
Figure 2: Use Case Diagram
The Use Case Diagram in Figure 2 shows the re-
lationships between actors and use cases of WISH.
There are two types of actors:
1. End-users who may be very unsophisticated in their
knowledge of relational database technology. They
do not wish to write SQL queries nor to be shown a
database schema as a collection of SQL table defi-
nitions.
2. Advanced-users who may not be as expert as
a Database Administrator (DBA) in relational
database technology, but they do know SQL, XML,
HTML, and the application domain so they can
comprehend the database schema for the domain.
The use cases are
1. Browse a Database Schema, where the advanced
user consults the existing schema for a database
created by the DBA, in order to compose the query
correctly. An end-user may consult the database
schema in order to select which attributes to include
in the report (provided the query form has that op-
tion).
2. Create a Query Form, where the advanced user
composes a form and report specification for a fam-
ily of queries.
3. Pose a Query to the Database, where the end user
completes the query form, submits it to the DBMS,
and receives the report based on the result set.
When debugging the query form, an advanced user
may also pose the query to the database, and see the
result set displayed in the default tabular representa-
tion. When debugging the report specification, an ad-
vanced user may also pose the query to the database,
and see the result set displayed as a report.
WISH is designed as three subsystems:
1. a Schema Browser;
2. a Form Composer; and
3. a Query Executer.
The Schema Browser, which is shown at the left
of both Figure 1 and fig:screen2, provides a tree view
of the information about tables, attributes, keys and
types; as well as documentation (bottom left of the
Figures) on them.
The Form Composer, which is shown at the top
right of Figure 1, allows the advanced user to design
an XML/HTML form for query, an XML report for
the database results, and a style sheet for presenta-
tion. The advanced user needs to decide on the SQL
query and its parameters. In this version of WISH,
the XML itself is created in an editor (as shown);
however, more graphical “builders” are planned fu-
ture work. To aid debugging, the advanced user may
click on the Translate button (see Figure 1) to see
the equivalent SQL statement displayed in the pane
ICEIS 2004 - DATABASES AND INFORMATION SYSTEMS INTEGRATION
568