Persistence as an aspect

  • Authors:
  • Awais Rashid;Ruzanna Chitchyan

  • Affiliations:
  • Lancaster University, Lancaster, United Kingdom;Lancaster University, Lancaster, United Kingdom

  • Venue:
  • Proceedings of the 2nd international conference on Aspect-oriented software development
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Persistence - the storage and retrieval of application data from secondary storage media - is often used as a classical example of a crosscutting concern. It is widely assumed that an application can be developed without taking persistence requirements into consideration and a persistence aspect plugged in at a later stage. However, there are no real world examples showing whether persistence can in fact be aspectised and, if so, can this be done in a manner that promotes reuse and is oblivious to the application. In this paper, we provide an insight into these issues drawing upon our experience with a classical database application: a bibliography system. We argue that it is possible to aspectise persistence in a highly reusable fashion, which can be developed into a general aspect-based persistence framework. Nevertheless, application developers can only be partially oblivious to the persistent nature of the data. This is because persistence has to be accounted for as an architectural decision during the design of data-consumer components. Furthermore, designers of such components also need to consider the declarative nature of retrieval mechanisms supported by most database systems. Similarly, deletion requires explicit attention during application design as mostly applications trigger such an operation.