Persistence as an aspect

Awais Rashid, Ruzanna Chitchyan
2003 Proceedings of the 2nd international conference on Aspect-oriented software development - AOSD '03  
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 t
more » ... 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.
doi:10.1145/643603.643616 dblp:conf/aosd/RashidC03 fatcat:o74klaxemfcyln2h5c6euscje4