Simplified Distributed Programming with Micro Objects
Jan-Mark S. Wams, Rüdiger Weis, Maarten van Steen · 2008
Abstract 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 facilities to group objects into clusters. Key words: distributed objects, middleware design principles, programming paradigms, large-scale distributed systems 1