The limits of my language are the limits of my world.
This chapter introduces our pattern language for distributed computing, outlining its intent, scope, audience, origin, genesis, structure, content, presentation, and use. The chapter thus presents the general context for the language, defining how it relates to common software engineering practice, as well as the existing body of pattern literature.
The main intent of our pattern language for distributed computing is to serve as an overview about, introduction to, guide through, and communication vehicle for, the best practices and state-of-the-art in key areas of the construction of distributed software systems. Topics covered by the language range from fundamental and strategic concerns regarding application decomposition, component deployment, and communication middleware, to supplementary and tactical aspects that address the detailed design of components in a distributed system and the management of system resources.
To achieve our intent, the pattern language connects patterns from a variety of different sources into a single, coherent pattern network that provides a holistic and consistent view of the construction of distributed software. The language captures our production experience to date with building distributed software systems—hence our confidence in presenting it—but it is not the final word on distributed architecture. We have chosen ...