Micha³ Lentner
PhD thesis, June
Integration of data and applications using virtual repositories
Summary
The main objective of this PhD thesis is to
develop new software construction paradigms that make the implementation of
information systems easier. We have proposed an application development
environment allowing a database programmer to work on a much higher level of abstraction
than it is possible when current solutions are used. To this end, we have
created a new object-oriented programming language, seamlessly integrated with
query language constructs (queries as expressions) and with its distributed,
database-oriented runtime environment. Our software provides functionality of
many existing tools (such as: database programming languages, database query
languages, database management systems, several kinds of middleware) in a
single, consistent, universal, easy to use and effective to apply programming
environment.
The thesis consists of eight chapters.
In the first chapter, a brief introduction to
the problem of data and application integration is discussed. The need for
integration is presented as one of the most important factors influencing the work
of today’s business application developers. The problem is defined from
the point of view of two aspects: the integration of a programming language and
a database management system, as well as the integration of existing
applications being parts of distributed systems.
The second chapter is focused on highlighting
some of the most popular approaches of data and application integration. We
have discussed several issues associated with existing methods of connecting
applications with relational and object-oriented databases, as well as the most
important types of middleware.
In the third chapter the Stack-Based Approach
to query languages is briefly described. It is presented as a theoretical base
allowing us to construct a prototype programming/query language integrated with
an object-oriented database having middleware features.
In the fourth chapter the architecture of our
prototype solution is introduced. Several typical scenarios of its application
in the area of data and application integration is
also presented.
The fifth chapter contains an informal
description of the SBQL language, extended by us to a fully fledged database
programming language. Since SBQL contains declarative constructs, it was
necessary to design efficient query optimization algorithms. The most important
optimizations for SBQL queries executed in a centralized environment have
already been designed in other works.
However, distributed query processing requires
completely new solutions. This issue has been discussed in the sixth chapter.
The seventh chapter contains a detailed
discussion on data integration with the use of updateable views. The source
code of a simple, three-tier (client, integration server, contributory
server) system is presented. We have also explain the
functionality of several low-level mechanisms responsible for data exchange
between particular nodes of the system.
The last chapter documents several low-level
decisions which have been made in order to implement a prototype of the tool
discussed in this thesis.
Apart from the text of the dissertation, the
prototype is the main product of the research conducted by the Author.