Project Description
This project is intended to provide Java software developers with an
easy-to-use development tool for automatically generating database wrapper
classes based on the Structured Query Language (SQL) script file that
defines the database schema. Database wrapper classes mirror the database
tables, and are used to retrieve data from and write modified data to the
database.
By wrapping database access in a set of object classes we are able to
treat the database as objects and not have to concern ourselves with the
database-specific access details hidden in the objects. This methodology
provides a couple of benefits: firstly, it provides a layer of abstraction
between the database system and the application logic, which allows software
developers to separate the application logic from the database access code,
which in turn makes maintenance of the code base easier because it more
modular and the code is grouped logically by the functions it performs;
secondly, it allows the underlying database technology to be changed while
insulating the application logic from those changes.
The goal of this project is to build a Java-based open source software
development tool that is able to:
- Parse and interpret SQL schema definition files: many Database
Management Systems (DBMS) often stray from the SQL 1999 standard
and implement their own proprietary data types and SQL constructs.
The parsing engine should correctly handled and interpret these
custom elements.
- Generate and write to disk wrapper classes: Java classes should
be generated based on the tool's interpretation of the SQL schema
definition file. The classes should utilise the JDBC Application
Programming Interface (API), and be compatible with JDBC Type 4
drivers . All wrapper classes generated should be encapsulated
in a user-specified package.
The life of this development tool is planned to extend beyond that
of the honours paper project. |