Bundling : Towards a new construction paradigm for persistent systems
Andreas Geppert, Klaus R. Dittrich · Networking and information systems journal · 1998
During the past years, many successful research efforts have been devoted to implementation aspects of database management systems. This research has mainly considered the implementation of single DBMS-components and techniques for selected DBMS-tasks (e.g., query optimisation, transaction management). Nevertheless, the systematic construction of DBMS as a whole has scarcely been considered. Urgent problems such as domain-specific architecture models for DBMS or DBMS-construction processes have only recently received attention. Such problems gain ever more importance as the trend is towards functionally more and more powerful persistent systems. Since it is apparent that all the requirements that might be posed to a DBMS can no longer be satisfied by a single, monolithic system, database technology must provide for a construction theory that allows to assemble adequate systems out of reusable components in a cost-effective way. Thus, our belief is that in the long term, DBMS will be constructed by putting together individual components. This approach - called (re)bundling - relies on the reuse of adequate components, which are stored in repositories. The process that identifies and extracts these reusable components (out of virtual or real systems) is called unbundling. In this paper, we first regard the prerequisites and characteristics of unbundling and rebundling from a software engineering point of view. We then illustrate how DBMS can be constructed following the bundling paradigm, survey recent work in database technology related to un- and rebundling, and identify open problems. We then leverage unbundling to general heterogeneous, distributed persistent systems whose behaviour is defined by workflows. In this kind of system, bundability is an even more important requirement, because the components often are entire applications that cannot be rewritten. Using a scenario, we show how bundling can be applied for these kinds of information systems.