|
HTML |
PostScript |
Adobe PDF |
In this paper we describe our experience applying the concepts of reflection to a legacy transaction processing (TP) monitor in order to support the implementation of extended transaction models. In the past ten years, numerous extended transaction models have been proposed to address the challenges posed by new advanced applications. Few practical implementations of these extended transaction models exist and none are being used in a commercial TP monitor. We believe the reason for this state of affairs is that the interface and functionality of commercial TP monitors is ``locked in'' to a fixed transaction model. We have developed the Reflective Transaction Framework as a practical method to implement extended transaction models on a commercial TP monitor. The design of our framework is based on the principles of computational reflection, and in particular open implementation. The implementation of our framework introduces transaction adapters, which are reflective software modules that provide a meta interface to the underlying TP monitor, allowing application developers the flexibility to adjust both the application programming interface and system functionality. Unlike classic reflective systems, the Reflective Transaction Framework applies reflection to a legacy TP monitor written in a non-reflective programming language. This paper focuses on the ability of the Reflective Transaction Framework to perform reflective computation and on the extent to which the legacy TP monitor supports this computation.