A major problem in the development of distributed applications is that we cannot assume that the environment in which the application is to operate will remain the same. This means that developers must take into account that the application should be easy to adapt. A requirement that is often formulated imprecisely is that an application should be scalable. We concentrate on scalability as a requirement for distributed applications, what it actually means, and how it can be taken into account during system design and implementation. We present a framework in which scalability requirements can be formulated precisely. In addition, we present an approach by which scalability can be taken into account during application development. Our approach consists of an engineering method for distributing functionality, combinedwith an object-basedimplementation framework for applying scaling techniques such as replication and caching.
Maarten van Steen, Stefan Van der Zijden, Henk J.