PhD thesis, June
Integration of data and applications using virtual repositories
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.