Promoting evolution by abstracting over implementation structure
David Lievens, Tim Walsh, Dominik Dahlem, William Harrison · 2009
In service-oriented architectures, services present to their clients a single interface encompassing all the available functionality. In doing so, they offer an abstraction over the implementation structure of the service, insulating clients from changes to that structure. Abstraction over implementation structure yields benefits in terms of software evolution, and hence can be viewed as a general technique for good software engineering. As such, it should become part of mainstream software development, used outside of the loosely-coupled networks of business applications which services-oriented software addresses. In this paper we give an overview of the design of Continuum, a language-based approach that extends the conventional object model with facilities to abstract over implementation structure and aims to support the construction of malleable software.