Developing large-scale distributed applications can be a daunting task. One of the problems that application developers are confronted with is the distribution of data, processes, and control. Object-based environments have attempted to alleviate problems by providing distributed objects that look like normal, local objects. We advocate that this approach has actually only made matters worse, as the developer needs to be aware of many intricate internal details in order to adequately handle partial failures. The result is an increase of application complexity. In this paper we present an alternative in which distribution transparency is lessened in favor of clearer semantics. In particular, we argue that a developer should always be offered the unambiguous semantics of local objects, and that distribution comes from copying those objects to where they are needed. To simplify matters, we claim that it is sufficient in most cases to provide only small, immutable objects, along with facil...
Jan-Mark S. Wams, Maarten van Steen